我正在尝试修改Makefile,但我找不到该规则。
以下不起作用。我不知道如何将src写入obj规则。
# foo.c bar.c main.c
SRC = $(wildcard *.c)
OBJ_1 = $(patsubst %.c,%_1.o,$(SRC))
OBJ_2 = $(patsubst %.c,%_2.o,$(SRC))
GCC1 = vtcc
GCC2 = vtcc
LD_FLAGS= -lm -lpthread
all: a1 a2
# executables :
a1: $(OBJ_1)
$(GCC1) $(LDFLAGS) $^ -o $@
a2: $(OBJ_2)
$(GCC2) $(LDFLAGS) $^ -o $@
# objects :
$(OBJ_1) : $(SRC)
$(GCC1) -c $< -o $@
$(OBJ_2) : $(SRC)
$(GCC2) -c $< -o $@
答案 0 :(得分:1)
很难说出你的问题是什么,但我认为最后两条规则应该是:
# objects :
$(OBJ_1) : %_1.o : %.c
$(GCC1) -c $< -o $@
$(OBJ_2) : %_2.o : %.c
$(GCC2) -c $< -o $@