2013-04-02 71 views
0

我想每次使用不同的标志编译我的源文件两次。除此之外,我需要获得这些可执行文件,我将在编译完成后获取不同的目录(所以我想'make'创建两个文件夹,并将每个文件夹放入一个可执行文件中)。makefile - 单独的文件夹

我觉得他们主要的问题是我不知道如何对主要目标文件。认为我们可以使用不同的名称创建它们(因为每一组.o文件都应该与另一个具有不同标志的文件不同),或者将它们放在我们希望具有可执行文件的目录中。

不过我不知道如何做,在优雅的方式:/

任何帮助,不胜感激:)

+1

你问做什么(例如提供目标文件不同的名称或把他们在这两个目录),或如何得到凑合呢? (我建议将目标文件放在这两个目录中。) – Beta

+0

这个问题中的一些想法可能就是你正在寻找的东西。 http://stackoverflow.com/questions/8280963/makefile-to-compile-multiple-sources-with-different-flags?rq=1问题可以使用更多的细节。 –

+0

所以现在我的问题是如何强制Make将.o文件放入这两个目录:) –

回答

0

你还没有给我们很多细节,所以我会假设你有两个来源文件,foo.cbar.c,并且您正在建立两个目录,red/blue/。这里是粗make文件,将做的工作:

OBJS := foo.o bar.o 
RED_OBJS := $(addprefix red/,$(OBJS)) 
BLUE_OBJS := $(addprefix blue/,$(OBJS)) 

$(RED_OBJS): red/%.o : %.c 
    $(CC) -c $< -o [email protected] 

$(BLUE_OBJS): blue/%.o : %.c 
    $(CC) -c $< -o [email protected] 

red/red_exec: $(RED_OBJS) 
    $(CC) $< -o [email protected] 

blue/blue_exec: $(BLUE_OBJS) 
    $(CC) $< -o [email protected] 
+0

非常感谢:) –

相关问题