Cygwin和makefiles

时间:2011-06-15 07:18:17

标签: linux makefile cygwin

我是makefiles的新手,我正在使用Cygwin制作我的文件。我在三个不同的目录中有源文件,我使用VPATH技术编译它们,但目标文件是在当前目录中生成的。

我希望在一个目录中生成所有目标文件 和目标文件在其他目录中。 [也就是说,其他目录中的.mk文件]我该怎么做?如何告诉编译器在指定的目录中生成它们?

这是我的计划:

vpath %.c bad good ugly
    gcc $(CFLAGS)   -c  $<  -o  $@
gola:goka.o foka.o hoka.o
    gcc $^  -o  $@
goka.o:goka.c
    gcc -c  $<
foka.o:foka.c
    gcc -c  $<
hoka.o:hoka.c
    gcc -c  $<

如何将所有目标文件放在一个目录中,并将gola [mk]文件放在指定目录中?

1 个答案:

答案 0 :(得分:1)

你还没有说过你想要这些文件的位置(我无法理解你所说的“mk文件”),但这会将目标文件放在obj/并构造{{ 1}} gola

bin/

有一些方法可以使makefile更清晰,更短,更灵活,但它们是先进的技术。