参考https://opensource.com/article/18/8/what-how-makefile
- 打印指令echo
抑制打印指令本身前@
2. 基本语法
target: prerequisites
recipe
target可能是二进制文件也可能是汇编文件也可能是只是符号(代指相应指令),target 依赖prerequisites(source file),prerequisite同样可能是别的编译语句的target
CC = gcc # compiler to use
LINKERFLAG = -lm
SRCS := foo.c
BINS := foo
all: foo
foo: foo.o
@echo "Checking.."
gcc -lm foo.o -o foo
foo.o: foo.c
@echo "Creating object.."
gcc -c foo.c
clean:
@echo "Cleaning up..."
rm -rvf foo.o foo
默认只编译第一个target,如果像上面有多个对象需要编译,可以增加
all: foo clean
- 通配符(待补充)