MakeFiles和依赖项

时间:2010-03-20 16:46:13

标签: makefile

我正在编写一个makefile,我无法弄清楚如何包含我所有的源文件,而无需编写我想要使用的所有源文件。这是我目前正在使用的makefile:

GCC = $(GNUARM_HOME)\bin\arm-elf-gcc.exe
SOURCES=ShapeApp.cpp Square.cpp Circle.cpp Shape.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=hello

all: $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS) 
#$(CC) $(LDFLAGS) $(OBJECTS) -o $@

.cpp.o:
    $(GCC) -c $< -o $@

如何自动添加新的源文件而不必将其添加到源代码行?

1 个答案:

答案 0 :(得分:1)

以下是我在examples/目录中使用的内容,其中每个文件都是一对一映射到可执行文件:

sources :=   $(wildcard *.cpp)
programs :=  $(sources:.cpp=)

[ more settings about compiler flags, linker options, ...]


all :        $(programs)

这可能就足够了,因为make知道如何将.cpp文件转换为目标文件,然后转换为可执行文件。请注意,这是在Linux上,所以对于Windoze,您可能需要这样做

programs :=     $(sources:.cpp=.exe)

附加.exe。