标签:传递 put file rac 自动 ever cat 结束 命令
一条 makefile 规则由以下几部分组成:
target ... : prerequisites ...
recipe
...
...
Please note: you need to put a tab character at the beginning of every recipe line!
makefile 没有在命令行中指定执行哪部分时候,第一个 target 会作为最终目标,下边所示的code生成 test_1.o 之后就会结束。
$ cat makefile
test_1.o : test_1.c
gcc -c test_1.c
test_2.o : test_2.c
gcc -c test_2.c
下边所示代码中,第一行为生成 test_1.o、 test_2.o 提供规则。也就是说,第一行的 target 不会成为 goal, goal 为 all。
$ cat makefile
%.o : %.c
gcc -c -O2 $<
all : test_1.o test_2.o
clean:
rm *.o
当最终的goal与prerequisites中某一个文件名相同时,会自动链接生成以该文件名命名的可执行文件。
$ cat Makefile TEST_1 := test_1.o TEST_2 := test_2.o test_1: $(TEST_1) $(TEST_2) clean: rm *.o
当一个target 分多次指定 prerequisites 时,多次指定的 prerequisites 都参与 target 的生成。
$ cat Makefile test : test_1.o test : test_2.o test : test.o
某些名字作为 target 时有特殊意义。
标签:传递 put file rac 自动 ever cat 结束 命令
原文地址:https://www.cnblogs.com/rivsidn/p/11006748.html