目标文件不是在子目录中创建的,而是在主目录中创建的

时间:2014-03-17 19:39:46

标签: makefile

我的makefile中有以下代码:

#Compiler
CC = g++

IDIR = headers
SRCDIR = sources
ODIR = obj
LIBS = -lncurses
CFLAGS = -I$(IDIR)

DE = Cow.h Sheep.h
DES = $(patsubst %,$(IDIR)/%,$(DE))

_O = Cow.o Sheep.o
OB = $(patsubst %,$(ODIR)/%,$(_O))

all: make
    ./make

make: $(OB) $(ODIR)/main.o $(DES)
    $(CC) -W -Wall -o $@ $^ $(CFLAGS) $(LIBS)

$(ODIR)/%.o: $(SRCDIR)/%.c $(DES)
    $(CC) -W -Wall -c -o $@ $< $(CFLAGS)

$(ODIR)/main.o: $(SRCDIR)/main.cpp
    $(CC) -c -o $@ $< $(CFLAGS)

但是当我在终端中运行make时,正在创建目标文件,但是在项目目录中(保存了makefile),而不是在obj子目录中。

0 个答案:

没有答案