我有一个涵盖许多微控制器目标的 (g)make 脚本。一系列 if 块测试各种目标并设置(或附加)许多变量。
ifeq ($(CHIP),lpc1114fn28)
CORE_FLAGS := -mcpu=cortex-m0 -mthumb
CORE_FLAGS += -nostartfiles -fno-exceptions
CORE_CPP_FLAGS += -fno-threadsafe-statics -fno-use-cxa-get-exception-ptr
XTAL := 12000000
. . .
endif
有很多重复,我想排除。我试过
define Cortex-M0 =
CORE_FLAGS := -mcpu=cortex-m0 -mthumb
CORE_FLAGS += -nostartfiles -fno-exceptions
endef
ifeq ($(CHIP),lpc1114fn28)
$(eval $(Cortex-M0))
CORE_CPP_FLAGS += -fno-threadsafe-statics -fno-use-cxa-get-exception-ptr
XTAL := 12000000
. . .
endif
但这似乎不起作用。有没有办法执行可以包含多行的类似子程序的构造?我知道我可以使用包含文件,但我想将所有内容保存在一个文件中。