~~~~~~~~~~~
题目要求
~~~~~~~~~~~
一个项目由一个lex文件, 一个c文件构成, 其中文件lexer.l 代码如下
%{
int fee_count = 0;
int fie_count = 0;
int foe_count = 0;
int fum_count = 0;
%}
%%
fee fee_count++;
fie fie_count++;
foe foe_count++;
fum fum_count++;
.
\n
countwords.c文件代码如下
#include
extern int fee_count, fie_count, foe_count, fum_count;
extern int yylex( void );
int main( int argc, char ** argv )
{
yylex();
printf( "%d %d %d %d\n", fee_count, fie_count,foe_count, fum_count );
exit( 0 );
}
countwords.c和lexer.l在 src/目录下一个关于该项目介绍的README文件, 在 doc/目录下
要求:用autoconf和automake为该作业建立一个configure脚本, 自动生成编译该项目所需的Makefile.当运行make install 之后, 将生成的可执行文件 countwords 安装到 /usr/local/bin/目录, 将README文件安装到 /usr/local/share/doc/countwords目录当运行make uninstall 之后, 将已安装的文件删除.
~~~~~~~~~~~~~~~~~~~~~~~~
我的步骤:
- 在项目根目录运行autoscan得到configure.scan 文件。然后手动修改之。修改内容后面详述。
- 运行aclocal获得m4文件,这个文件包含了其它的一些宏定义。
- 运行autoscan获得configure脚本
- 在根目录,doc和src目录分别建立Makefile.am文件。具体格式后述。
- 运行automake获得Makefile.in。
- 运行configure脚本获得Makefile。
- make编译。
- make install安装。
- make uninstall卸载。
- make clean清楚obj文件。
- make dist生成发行包。
阅读(1619) | 评论(0) | 转发(0) |