我正在开发一个大型固件,我只能将GNU gprof添加到其中的一些模块(文件目录)中。makefiles具有继承结构。所以我这样做:
ft/*.o : ft/*.c
CFLAGS += -pg
ft/*.o : ft/*.c
LDFLAGS += -pg但这给了我一个警告,它将覆盖CFLAGS,然后将gprof添加到所有模块中。我的猜测是CFLAG在某个地方很常见。我如何才能确保CFLAG只在我想要的模块(目录)上工作?
发布于 2016-03-22 22:28:48
您可以使用target-specific variables来完成此操作。
正确的语法是:
ft/*.o : CFLAGS += -pg
ft/*.o : LDFLAGS += -pg这些是您需要添加的行。
或者,您可以将这些标志添加到可执行文件、共享库和静态库中。目标特定变量传播到它的先决条件,即组成二进制文件的.o文件。
https://stackoverflow.com/questions/36157051
复制相似问题