GNU Make:静态模式规则中的通配符

时间:2012-10-11 12:47:04

标签: makefile gnu-make

可以在GNU make的静态模式规则上下文中使用通配符吗?例如:

$(BUILD_DIR)/$(DEPENDENCIES) : */%.d : $(SOURCE_DIR)/%.c
      ...

1 个答案:

答案 0 :(得分:1)

使$(SOURCE_DIR)/%.c脱离静态模式规则,并在单独的行中输入依赖项。也许:

# Tell make "build/f.d: source/f.c" for each source file
$(foreach _,${srcs},$(eval ${BUILD_DIR}/$(notdir $_): $_))

${BUILD_DIR}/${DEPENDENCIES}: ${BUILD_DIR}/%.d:
    ...

这回答了这个问题,尽管我赞同@ Beta的观点,认为这不是你想要的。