Я хочу автоматически генерировать Makefile с помощью исполняемых целей C ++, используя только информацию #include в исходных файлах. Цель состоит в том, чтобы устранить избыточность между исходными зависимостями и ручными объявлениями Makefile < /p>
** Пример ** < /p>
project/
├── exec.cpp
├── util.hpp
├── Makemakefile
< /code>
#include "util.hpp"
#include
int main() {
std::cout
#include "util.hpp"
int add(int a, int b) {
return a + b;
}
< /code>
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
Мобильная версия