Как автоматически генерировать MakeFile от зависимостей #include только в исходных файлах C ++?C++

Программы на C++. Форум разработчиков
Anonymous
Как автоматически генерировать MakeFile от зависимостей #include только в исходных файлах C ++?

Сообщение Anonymous »

мотивация
Я хочу автоматически генерировать Makefile с помощью исполняемых целей C ++, используя только информацию #include в исходных файлах. Цель состоит в том, чтобы устранить избыточность между исходными зависимостями и ручными объявлениями Makefile < /p>
** Пример ** < /p>
📁 Простая структура проекта < /p>
project/
├── exec.cpp
├── util.hpp
├── Makemakefile
< /code>
📄 exec.cpp < /p>
#include "util.hpp"
#include

int main() {
std::cout
📄 util. < /p>
#include "util.hpp"
int add(int a, int b) {
return a + b;
}
< /code>
📄, и я хочу, чтобы этот Makefil был сгенерирован: < /p>
Note: Tabs may appear as spaces in the Makefile snippet below. Make sure to use real tab characters for command lines when copying

# Makefile generated by MakeMakefile (Copyright J. Saint-Martin)
CXX = g++
CXXFLAGS = -Wall -Wextra -std=c++17 -MMD -MP

all: \
exec

exec: exec.o \
util.o
$(CXX) $(CXXFLAGS) $^ -o $@

%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@

clean:
rm -f exec
rm -f *.o *.d

help:
@echo "Target available : all, clean, help, exec"


Подробнее здесь: https://stackoverflow.com/questions/797 ... in-c-sourc

Вернуться в «C++»