CFILES := $(wildcard *.c)
#过滤部分c文件
filters := xx.c
CFILES := $(filter-out $(filters),$(CFILES))
TARGETS = $(patsubst %.c, %.cgi, $(CFILES))
#生成目录
ODIR := ./
# 编译参数
CFLAGS := -m32
#链接参数
LDFLAGS := -L/usr/local/ -lsqlite3 -lsybdb
# 定义编译规则
define define_compile_rules
$(patsubst %.c,%.cgi, $(1)): $(1)
@echo " + Compiling '{1}lt;' -> '$@'"
$(CC) $(CFLAGS) {1}lt; -o $(ODIR)/$@ $(LDFLAGS)
endef
all: $(TARGETS)
#生成编译规则
$(foreach file,$(CFILES),$(eval $(call define_compile_rules,$(file))))
据所有独立的c文件生成相应执行文件通用Makefile
最新推荐文章于 2021-11-07 09:42:48 发布