关于makefile的简单应用模板及说明

#Makefile
# 
# “$<”表示所有的依赖目标集(也就是“main.c code.c”)
# “$@”表示目标集(也就是“main.o code.o”)
# 
# .PHONY 伪目标
# 伪目标 的取名不能和文件名重名,不然其就失去了“伪目标”的意义了
# 为了避免和文件重名的这种情况,
# 我们可以使用一个特殊的标记“.PHONY”来显示地指明一个目标是“伪目标”,
# 向make说明,不管是否有这个文件,这个目标就是“伪目标”
# 
#  -rm 中的前缀“-”是标记为不管命令出不出错都认为是成功的
# 
# 嵌套执行make
# 例: cd xx/subdir && $(MAKE)
# 例子的意思为:先进入“xx/subdir”目录,然后执行make命令。
# 使用途径:比如一个项目有多个目录内有makefile便可以在项目根目录内搞一个总控makefile

BIN = main
OBJECTS = main.o code.o
CFLAGS = -Wall -std=c99 -g
CC = gcc

all: $(OBJECTS)
	$(CC) $(CFLAGS) -o $(BIN) $(OBJECTS)


%.o: %.c
	$(CC) -c $(CFLAGS) $< -o $@


.PHONY:
	clean

clean:
	-rm *.o
	-rm -rf $(BIN)

  

原文地址:https://www.cnblogs.com/tywei/p/6394235.html