поисковое решение для создания универсального make-файла для компиляции нескольких программ - PullRequest
0 голосов
/ 02 декабря 2019

До сих пор я использовал следующий make-файл, сгенерированный мной для школьных проектов:

мой make-файл

Но теперь у меня другая ситуация:Я должен скомпилировать 4 программы для одного проекта, а часть кода должна быть скомпилирована как .so, для использования для 4 программ. как описано здесь:

my project's dependencies

1 - все части, которые должны быть скомпилированы как один .soФайл , используя, например:

gcc -shared -fPIC src/file1.c src/file2.c src/file3.c -o libutils.so

3,4,5 , должен быть скомпилирован и связан с этим файлом .so , например,:

gcc src/file4.c -L'pwd' lutils -o file4.out

одинаково для всех 3-х проектов и еще одна простая компиляция проекта 2.

Я бродил по сети, гугл, твой сайт и т. Д. Пытался найтирешение для этой ситуации, без какой-либо удачи.

уже видел решения, подобные этому: пример решения , где вы предоставляете make-файл с деталями всей структуры проекта.

Я думал о том, чтобы разделить все файлы на 4 папки под основной папкой и создать цикл внутри make-файла, который будет компилировать каждую программу в каждом цикле, с помощью операторов «if» для создания другой компиляции в соответствии с индексом. но мне не повезло, это кажется очень сложным (возможно, кто-то может показать мне решение, подобное этому ...).

Мне интересно, есть ли способ сделать весь этот процесс компиляции универсальным и автоматическим, кактекущий файл (возможно, чуть меньше),

, если есть способ, я хотел бы изучить и открыть его.

заранее спасибо !!! Арье

...