简单通用的一则makefile

来源:互联网 发布:软件ui素材 编辑:程序博客网 时间:2024/05/08 18:56

在linux下面下写程序少不了写makefile,如果每个文件都按部就班的详细的写编译脚本,效率势必低下;makefile提供了自动化变量、模式规则等,稍加利用可以提高写makefile的效率。下面列举一个简单通用的makefile书写规则:

SRCS = $(wildcard *.c)OBJS = $(SRCS:.c = .o)CC = gccINCLUDES = -I/usr/your_path/includeLIBS = -L/usr/your_path/libCCFLAGS = -g -Wall -O0yourApp : $(OBJS)$(CC) $^ -o $@ $(INCLUDES) $(LIBS)%.o : %.c$(CC) -c $< $(CCFLAGS)clean:rm -rf OBJS

L1:$(wildcard *.c)将把当前目录下面的下面的以.c结尾的文件名展开,即SRCS这个变量的值就是这个当前目录下面的所有.c文件的文件名所组成的串,文件名间用空格分割;

L2:.c替换为.o后的串;

L3——L6:变量的定义;

L9:$^——依赖目标的集合,$@——编译目标;

L12:$<——依赖目标的第一个目标名;如果目标以模式定义的,则将是一个一个取出来的目标集合;

原创粉丝点击