格式:
target ... : prerequisites ...
command
...
...
target也就是一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签
(Label),对于标签这种特性。
prerequisites就是,要生成那个target所需要的文件或是目标。
command也就是make需要执行的命令。(任意的Shell命令)
样例一:
OBJS := $(wildcard *.o hello)
PHONY := all
all:
gcc hello.c -O2 -static -o hello
# echo $(OBJS)
clean:
rm $(OBJS)
wildcard 扩展通配符, 宏展开时有用。
样例二:
obj := hello.o sum.o
hello : $(obj)
gcc sum.o hello.o -o hello
hello.o : hello.c sum.o
gcc -c hello.c -o hello.o
sum.o : sum.h sum.c
gcc -c sum.c -o sum.o
PHONY := clean
clean :
rm *.o