- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
一套的实用完整Makefile参考模板
近来,经常看到有人询问makefile的写法,这里根据本人经验给出一个应用系统的完整例子,便于各
位参考。
应用系统的目录结构如下:代码:
~/bin 可执行程式目录
~/etc 设置文件目录
~/inc 头文件目录
~/lib 函数库文件目录
~/log 日志文件目录
~/src 源程式文件目录
~/src/lib 函数库源程式目录
~/src/lib/LIB_1 函数库libLIB_1源程式目录
~/src/APP_A 子系统APP_A源程式目录
~/src/APP_A/mod_a 子系统APP_A模块mod_a源程式目录
~/.profile
~/makefile
?
~/makefile文件内容如下:
代码:
all:
@MakeSubDir()\
{\
forDIRin`ls|grep’lib’;ls|grep-v’lib’`;do\
if[-d${DIR}];then\cd${DIR};\MakeSubDir;\
if[-fmakefile-o-fMakefile];then\
echo;\pwd;\makeall;\
fi;\
cd..;\
fi;\
done;\
};\
MakeSubDir
tar:
@tar-cf`date+%Y%m%d-%H%M%S`.tar.profile`ls|grep-v’.tar’`
~/src/lib/LIB_1/makefile文件内容如下:
代码:
ALL: INFOall
BASEDIR=$(HOME)INC=$(BASEDIR)/incLIB=$(BASEDIR)/lib
PRDNAME =$(LIB)/libLIB_1
PRODUCT =$(PRDNAME).a$(PRDNAME).so
OBJS =LIB_1_f1.oLIB_1_f2.o
AR =ar特定平台ar可选参数CC =cc特定平台cc可选参数
all: $(PRODUCT)
$(PRDNAME).a: $(OBJS)
@echoMaking$@...@$(AR)-r$@$(OBJS)
$(PRDNAME).so: $(OBJS)
@echoMaking$@...@$(CC)-G-o$@$(OBJS)
.c.o: *.h$(INC)/*.h
@echoCompiling$...@$(CC)-c-I$(INC)$
INFO:
@echomakeall-samewith’make’exceptthismessage
@echomakeclear-removeobjectfiles
@echomakeclean-removeallobjectandtargetfiles@echo
clear: FORCE@rm-f*.o
clean: FORCEclear@rm-f$(PRODUCT)
FORCE:
~/src/APP_A/mod_a/makefile文件内容如下:
代码:
ALL: INFOall
BASEDIR =$(HOME)INC =$(BASEDIR)/incLIB =$(BASEDIR)/libBIN =$(BASEDIR)/bin
MODULE =$(BIN)/APP_A_mod_aTESTER =APP_A_mod_a_tPRODUCT =$(SERVER)$(TESTER)
CC =cc特定平台cc可选参数all: $(PRODUCT)
$(MODULE): APP_A_mod_a.o@echoMaking$@...
@$(CC)$?-o$@-L$(LIB)-lLIB_1
APP_A_mod_a_t: APP_A_mod_a_t.o@echoMaking$@...
@$(CC)$?-o$@-L$(LIB)-lLIB_1
.c.o: *.h$(INC)/*.h
@echoCompiling$...@$(CC)-c-I$(INC)$
INFO:
@echomakeall-samewith’make’exceptthismessage
@echomakeclear-removeobjectfiles
@echomakeclean-removeallobjectandtargetfiles@echo
clear: FOR
您可能关注的文档
最近下载
- ZJ70-4500D20石油钻机使用说(2022年-2023年)明书.docx VIP
- 2023-2024学年人教版高中信息技术必修一第二章第一节《解决问题的一般过程和用计算机解决问题》教案.docx VIP
- GB7258—2022机动车运行安全技术条件修订内容解读29.pdf
- 医学装备使用安全培训.pptx
- Unit6单元整体设计人教版九年级英语全册.pdf
- 中考数学轨迹问题集锦69739.doc VIP
- 2024年河北省继续医学教育公共必修课参考答案.pdf VIP
- 驾校学员心理调节精编.ppt
- 自考06269工程应用英语(13-19)真题试卷.doc VIP
- 智能农业传感器监测和优化农作物生长环境.pptx
文档评论(0)