如何从makefile创建目录?

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

标签: gcc makefile cygwin gnu-make

你能帮我解决一下我写的以下代码吗?

VPATH= balll mall fall
OBJECTS= objj/goka.o objj/foka.o objj/hoka.o
exec/gola: $(OBJECTS)
    gcc $^  -o  $@  
$(OBJECTS): objj/%.o : %.c
    gcc -c  $<  -o  $@  

我想要做的是:我没有exec目录和obj目录,我希望在编译文件时创建它们,并将这些文件保存在各自的目录中。我能这样做吗?创建目录exec并告诉gcc将gola目标文件保存在exec目录中,并与目标文件相同。 是否有任何处理它的命令?

2 个答案:

答案 0 :(得分:3)

尝试仅限订单的先决条件。 (见the make manual)。

答案 1 :(得分:0)

在编译之前,只需将mkdir -p dir1 dir2添加到makefile的相应规则中。

示例:(您必须根据特定设置对其进行修改)

DIR = obj exec
VPATH= balll mall fall
OBJECTS= objj/goka.o objj/foka.o objj/hoka.o

exec/gola:$(OBJECTS)
    gcc $^  -o  $@  
$(OBJECTS): objj/%.o : %.c
    mkdir -p $(DIR)
    gcc -c  $<  -o  $@