Makefile:将新规则添加到其他makefile中包含的规则中

时间:2014-09-01 13:43:51

标签: c makefile

我有两个Makefile:

  1. Makefile

    https://github.com/sprhawk/nrf51822-first-fw/blob/master/Makefile

  2. Makefile.common

    https://github.com/sprhawk/nrf51822-macosx-build-scripts/blob/master/Makefile.common

  3. 在Makefile中,最后包括Makefile.common。

    我想要的是在make debug时添加C_SOURCE_FILES += uart.c。我在Makefile.common中看到了系列debug:目标,所以我刚刚在包含声明之前添加了debug: C_SOURCE_FILES += uart.c,但它抱怨道:

    Make没有将uart.c编译为uart.o,但需要uart.o才能链接。

    如何将新规则插入Makefile.common中定义的目标?

1 个答案:

答案 0 :(得分:1)

哦,我明白了:

ifeq ($(MAKECMDGOALS),debug) # template for conditional rules
   C_SOURCE_FILES += uart.c
endif

https://github.com/sprhawk/nrf51822-first-fw/blob/master/Makefile