gcc -c ./foo/name.c ./bar/name.c
这将输出一个文件 ./name.o。我假设一个覆盖另一个。
如何让 gcc 将目标文件与源文件放在同一目录中,以防止目标文件相互覆盖?
编辑:
对于任何想知道如何在 Makefile 中解决此问题的人。
SOURCES = /foo/name.c ./bar/name.c
build:
$(foreach SOURCE,$(SOURCES), \
gcc -c -o $(SOURCE:.c=.o) $(SOURCE);\
)