我知道我这样做是错误的,但我可以说明如何组织这一文件。 我界定了我的“利用源”档案,并利用一些职能来界定这些档案:
UTIL_SRC = utils/src/foo.cpp utils/src/bar.cpp utils/src/baz.cpp
UTIL_OBJS = $(patsubst utils/src/%.cpp,utils/obj/%.o,$(UTIL_SRC))
这是我使用这些档案用于:
lib : lib/libutils.a
lib/libutils.a : $(UTIL_OBJS)
rm -f lib/libutils.a
ar -c -q lib/libutils.a $(UTIL_OBJS)
然后,当我接受将这些婴儿编成册的规则时,我只想有一个指挥部,通过每个UTIL_来播种。 OBJS 案和每个UTIL_SRC案。 相反,我诉诸了这种霸权主义,这违背了将其储存在变数中的目的。
$(UTIL_OBJS) : $(UTIL_SRC)
g++ $(UTIL_FLAGS) utils/src/foo.cpp -o utils/obj/foo.o
g++ $(UTIL_FLAGS) utils/src/bar.cpp -o utils/obj/bar.o
g++ $(UTIL_FLAGS) utils/src/baz.cpp -o utils/obj/baz.o
我能否把这推向一条线? 如何? 感谢你们!