makefile概念

时间:2011-06-21 11:45:42

标签: gcc makefile cygwin gnu-make

任何人都可以帮助我。 这是make文件的代码 我只是想在不同的目录中保存不同的目标文件是可能的吗? 在下面的代码中。

OBJECTS = objj/mall.o objj/fall.o 

BACK = kajj/ball.o kajj/call.o

DIR = objj kajj rajj 

execc/gola : $(OBJECTS) $(BACK)
    gcc $^  -o  $@
$(OBJECTS):objj/%.o:%.c
    mkdir   $(DIR)
    gcc -c  $<  -o  $@
$(BACK) : kajj/%.o

我想保存mall.o fall.o在objj和ball.o和call.o在kajj我被困在这里我不知道怎么进一步cotinue可以任何人帮助我如果我们使用%。o: %.c它会一对一地替换所有obj文件,但是如何分隔它们。任何人都请告诉我这些线真的是什么$(OBJECTS):objj /%。o:%。c.im无法理解我们行中只能有一个冒号但是我们有两个我很困惑帮帮我了/ p>

1 个答案:

答案 0 :(得分:1)

对于两列规则,请考虑第一列之前的内容作为实际目标,以及第一列之后的内容作为模式规则。

因此,要编译kajj中的对象,您可以通过以下方式替换上一条规则:

$(BACK): kajj/%.o: %.c
    mkdir   $(DIR)
    gcc -c  $<  -o  $@