微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cygwin和makefile

如何解决Cygwin和makefile

| 我是makefile的新手,并且正在使用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]文件放在指定目录中?     

解决方法

        您没有说出这些文件的位置(我对您所说的“ mk文件”一无所知),但这会将目标文件放在in2ѭ中,并在
bin/
中构造
gola
vpath %.c bad good ugly
#    gcc $(CFLAGS)   -c  $<  -o  $@ this line makes no sense                    

OBJECTS = obj/goka.o obj/foka.o obj/hoka.o

bin/gola: $(OBJECTS)
    gcc $^  -o  $@

$(OBJECTS): obj/%.o : %.c
    gcc -c  $< -o $@
有一些方法可以使makefile文件更简洁,更短,更灵活,但是它们是高级技术。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。