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-03-31 13:57:25 发布
本文详细介绍了使用C语言编写CGI脚本的自动化编译流程,包括过滤特定C文件、定义编译规则以及生成目录结构等步骤。重点突出通过shell脚本实现高效编译和管理CGI文件的过程。
908

被折叠的 条评论
为什么被折叠?



