你能帮我解决一下我写的以下代码吗?
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目录中,并与目标文件相同。 是否有任何处理它的命令?
答案 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 $@