我知道标题很含糊,但我只是不知道如何简单地描述我的问题。如果需要,请对其进行编辑。
目前,我的makefile如下所示:
CC = g++
CFLAGS = -Wall -g
TARGET = foobar
SRC_FILES = foo.cpp bar.cpp main.cpp
OBJ_FILES := $(SRC_FILES:.cpp=.o)
$(TARGET): $(OBJ_FILES)
$(CC) $(CFLAGS) $^ -o $@
%.o: %.cpp %.h
$(CC) $(CFLAGS) -c $<
clean:
rm -rf *.o $(TARGET)
问题在于此结构需要main.cpp
具有一个main.h
头文件,而我实际上并没有。我该如何处理好呢?
GCC(也许还有Clang)可以为您建立一个依赖关系列表。这样,您可以简单地从源文件(cpp)中创建目标文件:
depend: .depend
.depend: $(SRC_FILES)
rm -f ./.depend
$(CC) $(CFLAGS) -MM $^ -MF ./.depend;
include .depend
%.o: %.cpp
$(CC) $(CFLAGS) -c $<
您可能还会发现对该makedepend
工具感兴趣。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句