MakeFiles и зависимости - PullRequest
       13

MakeFiles и зависимости

2 голосов
/ 20 марта 2010

Я пишу make-файл и не могу понять, как включить все мои исходные файлы без необходимости записывать все исходные файлы, которые я хочу использовать. Вот make-файл, который я сейчас использую:

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 Ответ

1 голос
/ 20 марта 2010

Вот то, что я использовал в каталоге 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...