万能的 Makefile 文件.

这是一个适用于 Windows 和 Unix 下 gcc 编译器使用的 Makefile 模板,直接把代码拷贝到你项目路径下的 Makefile 文件,执行 make 或 make clean 指令即可 。

.PHONY: clean

CC = gcc
TARGET = main

SRC = $(call rwildcard, ./, %.c)
rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))

ifeq ($(OS), Windows_NT)
	REMOVE = del
	TARGET := main.exe
	SRC := $(subst /,\,$(SRC))
else
	REMOVE = rm
	TARGET := main.out
	SRC := $(subst \,/,$(SRC))
endif

preprocessing = $(SRC:.c=.i)
compilation = $(preprocessing:.i=.s)
assembly = $(compilation:.s=.o)

$(TARGET): $(assembly)
	$(CC) $(assembly) -o $(TARGET)

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

$(compilation): %.s: %.i
	$(CC) -S $< -o $@

$(preprocessing): %.i: %.c
	$(CC) -E $< -o $@

clean:
	$(REMOVE) $(preprocessing)
	$(REMOVE) $(compilation)
	$(REMOVE) $(assembly)
	$(REMOVE) $(TARGET)

示例效果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值