将目标名称传递给辅助目标

时间:2016-09-30 08:01:42

标签: c makefile gnu-make

makefile有多个目标,它们将调用目录中的所有文件。自动变量不会被替换为目标。

TARGETS += txyz_abc txyz_def
.PHONY: all clean
all: $(TARGETS)

txyz_abc: $(UY_DIR)/$(OBJ)/support.o \
    $(UX_DIR)/$(OBJ)/%.o
    $(CC) $(CFLAGS) -c $< -o $@

$(UX_DIR)/$(OBJ)/%.o: %.c
    $(call mkdir, $(UX_DIR)/$(OBJ))
    $(CC) $(CFLAGS) -c $< -o $@

$(UY_DIR)/$(OBJ)/support.o: $(UY_DIR)/src/support.c
     $(call mkdir, $(UY_DIR)/$(OBJ))
     $(CC) $(CFLAGS) -c -o $@ $<

on make support.o生成。但是抛出一个错误,没有规则来制作目标'../ux_src/obj/%.o“,'txyz_abc'需要。

0 个答案:

没有答案