网上不乏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)的“=”后面的一段

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-11
  • 2021-11-02
  • 2021-11-18
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-13
  • 2022-12-23
  • 2021-10-01
  • 2021-11-21
  • 2021-07-10
  • 2022-12-23
相关资源
相似解决方案