Makefile学习记录(二)
本周使用Makefile自动进入多个子目录编译时出现,没有自动进入的问题:
使用指令如下
然后查找文档GNU.Make.项目管理.pdf一书,有示例:
将子目录变量用.PHONY声明一下,就可以正常执行;
文档里面解释是:
我的理解是suddir作为依赖文件,指向的是目录文件夹,其时间戳在建立后已改不会再刷新,所以make时发现其没有变动
就不会再次执行,所以不会进入子目录执行,而PHONY的功能这是表示,遇到PHONY设定后的,不管时间上是否比目标文件新
都执行。
解决该问题后,发现使用clean时也不会执行子目录的:
因为引用的suddir变量指向的文件夹都是相同的:
修改后:
改变subdir量名,在使用的时候恢复回来,如果clean_dir和subdir开始复制相同,执行时就会相互有干扰