我在这里使用 John Graham Cummings 示例实现非递归生成。我希望能够指定特定的包含或特定的编译标志,具体取决于我正在编译的模块。
例如,假设我有 src/lib1 和 src/executable 目录(因此将 Makefile 分开)。假设我想将 -std=c++11 用于 src/lib1 Makefile 编译,并且(出于某种原因) -std=gnu99 用于 src/executable Makefile。
另一个例子,假设我需要为这些目录包含不同的路径。
在非递归制作中执行此操作的标准方法是什么?
到目前为止我尝试过的是......
$(MODULE_NAME)_CXXFLAGS:=-std=c++11
$(MODULE_NAME)_INCLUDES:=--I/.
但是接下来的 printit 只是没有回应。
printit:
@echo $($(MODULE_NAME)_INCLUDES)