代码拉取完成,页面将自动刷新
# 使用的编译器
CC=gcc
# 预处理参数
CPPLFAGS=-I./include \
-I/usr/include/fastdfs \
-I/usr/include/fastcommon \
-I/usr/local/include/hiredis/ \
-I/usr/include/mysql/
# 选项
CFLAGS=-Wall
# 需要链接的动态库
LIBS=-lfdfsclient \
-lfastcommon \
-lhiredis \
-lfcgi \
-lm \
-lmysqlclient
# 目录路径
COMMON_PATH=common
CGI_BIN_PATH=bin_cgi
CGI_SRC_PATH=src_cgi
# 子目标, 因为是测试,所有需要单独生成很多子目标
# 测试用
main=main
redis=redis
# 项目用
login=$(CGI_BIN_PATH)/login
register=$(CGI_BIN_PATH)/register
upload=$(CGI_BIN_PATH)/upload
md5=$(CGI_BIN_PATH)/md5
myfiles=$(CGI_BIN_PATH)/myfiles
# 最终目标
target=$(login) \
$(register) \
$(upload) \
$(md5) \
$(myfiles)
ALL:$(target)
#######################################################################
# 测试程序相关的规则
# 生成每一个子目标,
# main程序
$(main): $(COMMON_PATH)/make_log.o
$(CC) $^ $(LIBS) -o $@
# =====================================================================
# 项目程序规则
# 登录
$(login): $(CGI_SRC_PATH)/login_cgi.o \
$(COMMON_PATH)/make_log.o \
$(COMMON_PATH)/cJSON.o \
$(COMMON_PATH)/deal_mysql.o \
$(COMMON_PATH)/redis_op.o \
$(COMMON_PATH)/cfg.o \
$(COMMON_PATH)/util_cgi.o \
$(COMMON_PATH)/des.o \
$(COMMON_PATH)/base64.o \
$(COMMON_PATH)/md5.o
$(CC) $^ -o $@ $(LIBS)
# 注册
$(register): $(CGI_SRC_PATH)/reg_cgi.o \
$(COMMON_PATH)/make_log.o \
$(COMMON_PATH)/util_cgi.o \
$(COMMON_PATH)/cJSON.o \
$(COMMON_PATH)/deal_mysql.o \
$(COMMON_PATH)/redis_op.o \
$(COMMON_PATH)/cfg.o
$(CC) $^ -o $@ $(LIBS)
# 秒传
$(md5): $(CGI_SRC_PATH)/md5_cgi.o \
$(COMMON_PATH)/make_log.o \
$(COMMON_PATH)/util_cgi.o \
$(COMMON_PATH)/cJSON.o \
$(COMMON_PATH)/deal_mysql.o \
$(COMMON_PATH)/redis_op.o \
$(COMMON_PATH)/cfg.o
$(CC) $^ -o $@ $(LIBS)
# 上传
$(upload):$(CGI_SRC_PATH)/upload_cgi.o \
$(COMMON_PATH)/make_log.o \
$(COMMON_PATH)/util_cgi.o \
$(COMMON_PATH)/cJSON.o \
$(COMMON_PATH)/deal_mysql.o \
$(COMMON_PATH)/redis_op.o \
$(COMMON_PATH)/cfg.o
$(CC) $^ -o $@ $(LIBS)
# 用户列表展示
$(myfiles): $(CGI_SRC_PATH)/myfiles_cgi.o \
$(COMMON_PATH)/make_log.o \
$(COMMON_PATH)/util_cgi.o \
$(COMMON_PATH)/cJSON.o \
$(COMMON_PATH)/deal_mysql.o \
$(COMMON_PATH)/redis_op.o \
$(COMMON_PATH)/cfg.o
$(CC) $^ -o $@ $(LIBS)
# =====================================================================
#######################################################################
# 所有程序都需要的规则
# 生成所有的.o 文件
%.o:%.c
$(CC) -c $< -o $@ $(CPPLFAGS) $(CFLAGS)
# 项目清除
clean:
-rm -rf *.o $(target) $(CGI_SRC_PATH)/*.o $(COMMON_PATH)/*.o
# 声明伪文件
.PHONY:clean ALL
#######################################################################
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。