- CFLAGS:C文件的编译参数,一般是添加预处理,编译阶段需要的参数,如头文件目录的指定,或者是编译指令。例如 :
CFLAGS += -I/usr/include //指定头文件目录
CFLAGS = -MMD -O2 -Wall -g //指定编译参数
- CPPFLAGS: CPP文件的预处理和编译参数,同上。
- LDFLAGS: 在gcc链接阶段会添加的参数,一般是指定库文件的位置,例如:
LDFLAGS += -L/usr/lib //指定库文件目录
- LIBS:在gcc链接阶段具体添加的参数,一般是指定链接阶段具体链接的库,例如:
LIBS += -lpthread
以上四种宏一般配合使用,使用CFLAGS,CPPFLAGS指定头文件目录,使用LDFLAGS指定库文件目录,使用LIBS指定具体链接的库,例如:
gcc $(CFLAGS) -c main.c -o main.o //指定头文件编译
gcc $(LDFLAGS) -o main.out $(LIBS) //指定库文件链接