网上不乏Makefile的入门文章,但是Makefile博大精深,也不是一朝一日就能学完的,因项目需要,做了一个简单的Demo,如下!
CFLAGS = -g INCLUDES = -I../header SRC = \ Main.c OBJ = $(SRC:%.c=Obj/%.obj) CGI = $(SRC:%.c=Bin/%.o) .SUFFIXES: .obj all: $(CGI) $(CGI): $(OBJ) $(CC) $(CFLAGS) $(INCLUDES) -o $*.o $< $(OBJ): $(SRC) $(CC) -c $(CFLAGS) $(INCLUDES) -o $*.obj $< clean: rm Obj/*
一切尽在不言中,$*, $<的作用还是做一下简单的介绍吧!
$*:模式及是之前的部分。Demo中,代表$(CGI)中的模式(%)
$<:自动化变量,所有的依赖目标集。Demo中,代表$(OBJ)中$(SRC:%.c=Obj/%.obj)的“=”后面的一段