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多问题,一步一步走的好艰辛,继续学习,争取把这些基本问题解决了!!!