makefile中定义了.PHONY:clean clean: rm -f *.o math 但是不能正常使用:make

但是在执行make后,就会自动停止。说在“clean:”这行中,没有停止符。但是在其它源代码工程中就能使用这个“clean:”如busybox的源代码中能使用。但是自己编... 但是在执行make后, 就会自动停止。说在“clean:”这行中,没有停止符。
但是在其它源代码工程中就能使用这个“clean:”如busybox的源代码中能使用。
但是自己编写的makefile中却不能使用这个make clean的选项,因为只要我加上这个“.PHONY:clean
clean:
rm -f *.o math”
就会不能执行make命令进行编译。
求一个解释方法。

下面是我的makefile的全部:

math : heart.o test.o main.o
cc -o math heart.o test.o math.o
main.o : main.c stdio.h
cc -o math.o -c math.c
test.o : test.a.c stdio.h
cc -o test.o -c test.a.c
heart.o : heart.c stdio.h
cc -o heart.o -c heart.c
.PHONY: clean
clean:
rm -f math *.o
展开
 我来答
rogueyou
2012-05-17
知道答主
回答量:26
采纳率:0%
帮助的人:16.3万
展开全部
你这个*.o不行吧,可以给一个变量例如objects赋值
objects=heart.o test.o main.o
后面用rm -f math $(objects)试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zcmzcm1227
2012-05-11
知道答主
回答量:28
采纳率:0%
帮助的人:5.4万
展开全部
rm -f math *.o
追问
我的问题是,当加入这个:
.PHONY :clean
clean:
rm -f math *.o
之后,就不能使用make了。直接报错。
不能编译下去。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zj939453721
2012-05-11
知道答主
回答量:22
采纳率:0%
帮助的人:16.4万
展开全部
你的cc前面加tab了没?因该不可能啊
追问
这个不是CC的问题是:
.PHONY:clean
clean:
rm -f math *.o
这部分有问题,当编译到这里的时间就不能再下去了。
就是说,不能通过检查。
关系如下:
math : heart.o test.o main.o;cc -o math heart.o test.o math.o
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式