makeflie的一般形式如下:
Target,dependencies
Command
例:
test:test.c
//目标:所依赖的文件
gcc test.c -o test
//将test.c编译为.o并生成test
多模块时的例子:
main1:main.c tool.o
gcc main.c tool.o -o main
main2:main2.c tool.o
gcc main2.c tool.o -o main
tool.o:tool.c
gcc -c tool.c
clean:
Rm *.o main //在当前文件夹中移除所有.o文件和main程序,在控制台输入make clean执行,输入make不会执行
//输入make:只会执行第一条main1,由于这一条需要tool.o所以也会执行tool.o这一条,而不会执行main2。
//在所有指令前加上指令:
all:main1 main2
即可同时执行main1与main2
例:
CC=gcc//定义宏
Main:main.c foo.o bar.o
$(CC):main.c foo.o bar.o -o main//$(CC)会替换成gcc