Makefile基础知识总结

Make常见预定义变量
AR                ar
AS                as
CC                cc
CPP                C预编译器 $(CC) -E
CXX                g++
FC                f77
RM                rm -f
ARFLAGS        无默认值
ASFLAGS        无默认值
CFLAGS        无默认值
CPPFLAGS    无默认值
CXXFLAGS    无默认值
FFLAGS        无默认值

Makefiel格式
目标:依赖
    命令

Makefile常见自动变量
$*            不包含扩展名的目标文件名称
$+            所有依赖文件,以空格分开,并以先后为序,可能包含重复依赖
$<            第一个依赖文件名称
$?            所有时间戳比目标文件晚的依赖文件,以空格分开
$@            目标文件的完整名称
$^            所有不重复的依赖文件,以空格分开
$%            如果目标是归档文件,则该变量表示目标的归档成员名称
通常编译例子:
    $(CC) $^ -o $@
    $(CC) $(CFLAGS) -c $< -o $@
    
Makefile中常省去$(CC) $(CFLAGS) -c $< -o $@
比如:
target:$(objects)
    $(CC) $^ -o $@
main.o:main.c header.h

make -C dir:            读入dir下的Makefile
make -f file:            读入file作为Makefile
make -i:                    忽略所有错误

你可能感兴趣的:(c,File,扩展,makefile,编译器)