Я хочу, чтобы иметь возможность разбить мой bin и мои файлы кода на отдельные каталоги, поскольку в этом текущем состоянии становится трудно управлять.
Я идеально хотел бы иметь
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)[email protected] $(LIBS)
это работает, за исключением того, что он не может видеть цель в текущем пути, поэтому он считает, что он всегда восстанавливает двоичные файлы, даже если исходные файлы не изменились.
Моя единственная мысль на данный момент - написать программу для создания make файла, но я не хочу этого делать.