0

问题 1 如果您定义步骤

  22 clean:
  23   rm $(OBJECTS)

如果有什么方法可以优雅地“什么都不做,如果没有什么要删除”?

问题2 再次假设以下行,当处理行时找不到文件时,是否有办法优雅退出

  6 SOURCES = $(shell echo src/*.cpp)

问题 3 如何对最终产品进行最终后处理,例如mv $(PRODUCT) someDir?这个指令在哪里?

4

2 回答 2

1

1)只需使用rm -frm如果文件丢失,则忽略它。

3) 这可能只是实际构建产品的目标的最后一步,或者您可以创建一个名为install(例如)的目标,该目标取决于您的构建目标,然后包含此mv命令。

于 2012-08-08T02:34:39.453 回答
1

回答问题 #2

SOURCES := $(or $(wildcard src/*.cpp), $(warning No source found in 'src'))

当没有匹配src/*.cpp模式的文件时,这将发出警告。SOURCES变量保持为空。

请参阅 GNU Make 手册中的相应章节

于 2012-08-08T21:42:20.177 回答