【发布时间】:2013-04-03 19:15:54
【问题描述】:
我有这个目录结构:
-
./src包含我需要的所有文件的 .cpp和.h -
./bin应暂时包含.o和永久.bin。另外,调用make clean时要删除这个文件夹。 -
./包含Makefile
这是我目前的Makefile:
CFLAGS = -Wall -pedantic -g
CC = g++
EXEC = flrfile
SRC_DIR = src
BIN_DIR = bin
OBJ = FixedLengthFieldsRecord.o FixedLengthRecordFile.o main.o
all: flrfile
../$(BIN_DIR)/%.o: $(SRC_DIR)%.cpp $(SRC_DIR)%.h
$(CC) $(CFLAGS) -c $(SRC_DIR)%.cpp -o $@
$(EXEC): $(OBJ)
@mkdir -p bin
$(CC) $(CFLAGS) $(BIN_DIR)/$(OBJ) -o $(BIN_DIR)/$(EXEC)
.PHONY : clean
clean:
-rm -rf $(BIN_DIR)
当我运行 make 时,我收到此错误:
make: *** No rule to make target `FixedLengthFieldsRecord.o', needed by `flrfile'. Stop.
这是为什么?
PS:另外,我怎样才能使OBJ = FixedLengthFieldsRecord.o FixedLengthRecordFile.o main.o 更通用?我不想写所有.o...
【问题讨论】:
标签: c++ makefile directory-structure