У меня есть программа, которую я пытаюсь скомпилировать, давайте назовем ее P. P нужна сторонняя библиотека L1. L1 нужна другая библиотека, L2. Пока что ничего странного.
Makefile для P в основном просто устанавливает некоторые переменные, а затем включает make-файл для L1.
Makefile для L1 выполняет целую кучу установок переменных и прочего (включая, например, список файлов для компиляции), а затем включает make-файл L2.
L2s makefile выполняет много работы и фактически делает все 3.
Моя проблема в том, что L2 не хочет компилироваться.
Однако у меня уже есть бинарная версия обеих библиотек для моей системы, но я не могу их использовать, потому что make-файл L2 выполняет всю работу.
Кроме того, если вы компилируете с динамическими библиотеками, он будет искать библиотеки, загружаемые в каталог компиляции, во время выполнения, а не в том месте, где они находятся в рабочей системе.
Мой вопрос: какого чёрта они спроектировали это так?