用一个makefile编译出多个文件

比如我有一个目录/tmp/src这个目录下有若干个PROC文件a1.pc、a2.pc、b.pc、c1.pc、c2.pc、c3.pc、makefile执行make命令后要编... 比如我有一个目录 /tmp/src
这个目录下有若干个PROC文件 a1.pc、a2.pc、b.pc、c1.pc、c2.pc、c3.pc、makefile
执行make命令后要编译出 a、b、c 三个可执行程序。
这个makefile要怎么写?
展开
 我来答
wbchn
推荐于2016-02-01 · TA获得超过338个赞
知道小有建树答主
回答量:164
采纳率:0%
帮助的人:205万
展开全部
使用 .PHONY, 使用方法见下面描述或参考链接. 经过测试可行.
---------
phony 目标可以有依赖关系。当一个目录中有多个程序,将其放在一个makefile 中会更方便。因为缺省目标是makefile 中的第一个目标,通常将这个phony 目标叫做"all",其依赖文件为各个程序:
all : prog1 prog2 prog3
.PHONY : all
prog1 : prog1.o utils.o
cc -o prog1 prog1.o utils.o
prog2 : prog2.o
cc -o prog2 prog2.o
prog3 : prog3.o sort.o utils.o
cc -o prog3 prog3.o sort.o utils.o
这样,使用"make"将可以将三个程序都生成了。d
当一个phony 目标是另一个的依赖,其作用相当于子程序,例如:
.PHONY: cleanall cleanobj cleandiff
cleanall : cleanobj cleandiff
rm program
cleanobj :
rm *.o
cleandiff :
rm *.diff
----------
我测试的Makefile:
OBJS=main.o sub.o

all : test sam
.PHONY:all
test : $(OBJS)
gcc -o test $(OBJS)
sam : sam.o
gcc -o sam sam.o

main.o : main.c sub.h
gcc -c main.c
sub.o : sub.c sub.h
gcc -c sub.c

sam.o : sam.c
gcc -c sam.c

参考资料: http://linux.chinaunix.net/techdoc/develop/2007/04/08/954501.shtml

秒懂百科
2021-03-03 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.2亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式