阻止gcc覆盖目标文件

时间:2013-10-23 15:50:47

标签: c gcc

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);\
    )

1 个答案:

答案 0 :(得分:2)

分为2个命令。

gcc -c -o ./foo/name.o ./foo/name.c
gcc -c -o ./bar/name.o ./bar/name.c