Makefile学习(12)

1. 上次遇到那个问题“make: *** 没有规则可以创建“f11.jar”需要的目标“f7.o”。 停止。”:

 

在书上查明原因是找不到源文件,可是我在依赖文件中有写明路径啊,悲催!!!

 

唉,还是自己太菜了,目前还是按照书中的解决办法,使用VPATH 和 vpath 来告诉make到不同的目录中去查找源文件。

 

所以我修改了代码如下:

#my first makefile
VPATH= submake1
include ./submake1/makefile
$(warning finish include)
$(warning start gcc)
f:f10.jar
	gcc -o f
$(warning finish gcc)
.PHONY:clean
clean:
	rm f *.jar *.o

 这样可以引入submake1中的makefile生成f10.jar ,所以遇到的那个问题解决了!可是又遇到了新问题:执行命令的过程中也没有报错,

 但是还是没能生成最终目标文件 f  ,这是为什么呢?为什么呢???

 

上次那个一直不能找到那个文件是因为:

a.没有设置VPATH。

b.VPATH的路径要写明确。开始我在VPATH使用匹配符(VPATH=submake*),结果还是找不到文件,所以如果以后如果遇到该问题,一是找有没有指明路径,二是找路径是否明确

 

 

 

2.我在一个文件中include两个文件,可是只生成了第一个文件的目标文件,代码如下:

#my first makefile
VPATH= submake1  submake2
include ./submake1/makefile
include ./submake2/makefile 
$(warning finish include)
jar:= f10.jar  f11.jar
$(warning start gcc)
f:f10.jar   f11.jar
	gcc -o f
$(warning finish gcc)
.PHONY:clean
clean:
	rm f *.jar *.o
 

即只生成了  f10.jar及相关的.o文件,为什么引入的第二个makefile没有执行呢???为什么呢???

 

 

我这个菜鸟这周就先写这些吧,如果哪为大哥大姐可以解答我所遇到的问题,请留下你宝贵的笔墨哦!!!

小女子在此先谢过!

 

虽然解决了一个问题,可是又遇到了N多问题,一步一步走的好艰辛,继续学习,争取把这些基本问题解决了!!!

 

 

 

 

 

 

你可能感兴趣的:(makefile)