大家都知道,linux下编写C++需要写make文件,小程序则好些多了,但是庞大的工程,直接用手写就不好了,下面示例:
1.测试小程序
demo1
---------main.cpp
---------hello.h
---------hello.cpp
#main.cpp
#hello.h
#hello.cpp
2.手动编写makefile
touch一个makefile文件,在demo1目录下
#makefile
执行命令
make
./hello
看到运行结果了。
3.使用automake和autoscanf工具自动生成Makefile文件
3.1在demo1目下
执行autoscan,将生成的configure.scan重命名为configure.in
且修改
#修改前
#修改后,注意对比
3.2
执行命令
aclocal
会生成aclocal.m4文件,给后面命令用
autoconf
此时会生成config.in文件
新建Makefile.am,每个目录都需要新建Makefile.am文件
#Makefile.am
注意,根文件夹下的Makefile.am文件中需要带AUTOMAKE_OPTIONS=foreign
执行命令
autoheader
生成config.h.in文件
automake --add-missing
3.3终于看到configure文件了
执行命令
./configure
make
生成demo1文件了
3.4
执行命令
./demo1
看到运行结果了
Hello,World!
小工程手工编写Makefile蛮简单,工程复杂了就困难了,还要考虑依赖关系,不如把这些麻烦的事情交给autoscan和automake吧,他们更胜于做这些事情。