Я хочу иметь возможность разделить мою корзину и мои файлы кода на отдельные каталоги, поскольку в ее текущем состоянии становится трудно управлять.
В идеале хотелось бы иметь
project_dir
|-Makefile
|-run_tests.sh
|
|__source
| |-program1.cpp
| |-program2.cpp
|
|__bin
|-program1
|-program2
Однако я не могу заставить это работать с моей текущей системой без необходимости выписывать правила для каждой программы вручную (имейте в виду, что каждая программа - это отдельная программа, а не серия объектов, связанных вместе)
#Current make system
BIN=./bin/
SOURCE=./source/
LIST=program1 program2...
all: $(LIST)
%: $(SOURCE)%.cpp
$(CC) $(INC) $< $(CFLAGS) -o $(BIN)$@ $(LIBS)
это работает за исключением того, что я не вижу цель в текущем пути, поэтому он думает, что он всегда перестраивает двоичные файлы, даже если исходные файлы не изменились.
Сейчас я думал только о том, чтобы написать программу для создания make-файла, но я не хочу этого делать.