1.make & Makefile 的基本用法:
一个程序由print.c和main.c两个源文件构成,程序的功能是main.c中的main函数调用print.c中定义的print函数。
(1)基本的编译链接:
# cc -c main.c //编译main.c生成目标文件main.o
# cc -c print.c //编译print.c生成目标文件print.o
# cc -o exe main.o print.o //链结main.o和print.o生成可执行文件exe
(2)Makefile文件
exe:main.o print.o //1 //依赖条件
cc -o exe main.o print.o //命令
main.o:main.c //2
cc -c main.c
print.o:print.c //3
cc -c print.c
clean: //4
rm -f exe *.o
1 exe依赖于main.o、print.o,使用"cc -o exe main.o print.o"生成exe。
2 main.o依赖于main.c,使用"cc -c main.c"生成main.o。
3 print.o依赖于print.c,使用"cc -c print.c"生成print.o
4 clean目标是独立的。可使用 $ make clean 来执行rm删除命令.
!!!注意: makefile的 命令要以TAB开头,依赖条件顶格
2. 关于Makefile生成多个无关的可执行文件
make命令不加参数的话只会默认生成第一个标签,所以对于想生成多个彼此无关的可执行文件,可以设置第一个标签为all并关联到要多个目标文件。
例如:
all a.exe b.exe
a.exe: a.c
gcc –o a.exe a.c
b.exe: b.c
gcc –o b.exe b.c
(如果不使用all标签的,则make将只生成a.exe,而忽略下一个无关的标签b.exe)
3. 更多
《跟我一起写Makefile》http://www.chinaunix.net/jh/23/408225.html