我正在寻找建议以在递归makefile系统中正确处理单独的调试和发布构建子目录,该系统使用gnumake手册中记录的$(SUBDIRS)目标将make目标应用于(源代码)子目录。
具体来说,我对实现“all”、“clean”、“realclean”等目标的可能策略感兴趣,这些目标要么假设其中一棵树,要么应该在两棵树上工作,这会导致问题。
我们当前的 makefile 使用一个 COMPILETYPE 变量,该变量设置为 Debug(默认)或 Release('release' 目标),它可以正确地进行构建,但清理并使所有内容仅在默认的 Debug 树上工作。传递 COMPILETYPE 变量会变得笨拙,因为是否以及如何这样做取决于实际目标的值。