У меня есть шаблон makefile для компиляции одной DLL (для плагиновой системы). Файл makefile выглядит следующим образом:
EXTRA_SRCS=file1 file2
include makefile.in
В makefile.in
у меня есть:
plugin.dll: plugin.os $(patsubst %,%.os,$(EXTRA_SRCS))
Где plugin.os
- основной файл С++ для компиляции. Btw, окончание файлов .os
- это объектные файлы, скомпилированные для общей библиотеки (т.е. С помощью параметра -fpic
с gcc
)
Теперь проблема заключается в том, что дополнительные источники могут (но не обязательно) быть файлами заголовков. В идеале я хотел бы добавить их как зависимости для целевого plugin.os
и file.cpp
, но только если они существуют.
Метод должен работать как для окон, так и для linux, или, по крайней мере, адаптироваться к каждому из них. Тем не менее, я использую только версию GNU make.