Я очень, очень плохо знаком с makefiles. Самая сложная задача, которую я делал раньше, заключалась в том, чтобы включить новые .h и и .cpp или .c в уже созданные make-файлы.
Мне нужно перенести процесс компиляции проекта из Visual Studio в gcc, и для этого уже есть решение, написанное коллегой, но он использовал 4 сценария bash и make-файл для компиляции решения.
Вместо этого я искал решения, облегчающие обслуживание. Признаюсь, мой вопрос может быть очень тупым, но я нигде не мог его найти и не мог все понять правильно.
В цели ниже:
$(OBJECTS): %.o: %.cpp
$(CC) $(CPPFLAGS) -c $< -o $@
Я хотел бы проверить, существует ли созданный .o, и переименовать его в другое. Это необходимо, потому что в проекте есть несколько исходных файлов с одинаковыми именами, но разные по содержанию.
Например, если текущий компилируемый .cpp называется file.cpp, а генерируемый объект - file.o, правило должно проверить, существует ли file.o, и переименовать текущий file.o во что-то другое. .
Если вам известен хороший урок, объясняющий это, пожалуйста, дайте мне знать. Я нашел много примеров, показывающих, как создавать тесты для текущего файла, скомпилированного по этому правилу, но ни одного, который бы переименовал объект .o.
Заранее спасибо и извините за любую "глупость", написанную здесь. : -)