Скомпилируйте несколько файлов C с помощью make

(Я запускаю Linux Ubuntu 9.10, поэтому расширение для исполняемого файла является исполняемым файлом.out) Я просто получаю модульное программирование (программирование с несколькими файлами) на C, и я хочу знать, как скомпилировать несколько файлов в одном файле makefile. Например, каким будет файл makefile для компиляции этих файлов: main.c, dbAdapter.c, dbAdapter.h? (Кстати, если вы еще не поняли это, основная функция находится в main.c) Также может кто-нибудь опубликовать ссылку на документацию make-файла?

См. Мой учебник по Makefile: как написать Makefile . Он предоставляет хорошо продуманный Makefile, который будет создавать такой проект (с несколькими исходными файлами C и C ++), объясняет, как он работает, и предупреждает об общих ошибках, а также о плохих правилах makefile, которые слишком распространены, чтобы встречаться в дикой природе ,

Все опубликованные ссылки хороши. Для вашего конкретного случая вы можете попробовать это. По существу все Make-файлы следуют этой схеме. Все остальное – ярлыки и macros.

program: main.o dbAdapter.o gcc -o program main.o dbAdapter.o main.o: main.c dbAdapter.h gcc -c main.c dbAdapter.o dbAdapter.c dbAdapter.h gcc -c dbAdapter.c 

Главное здесь, что Makefile последовательно смотрит на правила и строит, поскольку необходимы определенные элементы.

Сначала он посмотрит на программу и увидит, что для создания программы ей нужно что-то, называемое main.o и dbAdapter.o.

Затем он найдет main.o. Однако для построения main.o ему понадобятся main.c и dbAdapter.h (я предполагаю, что dbAdapter.h включен в main.c).

Он будет использовать эти источники для сборки main.o, скомпилировав его с помощью gcc. Значение -c указывает, что мы хотим только компилировать.

Он делает то же самое с dbAdapter.o. Когда у него есть эти два объектных файла, он готов связать их. Он также использует компилятор gcc для этого шага. -O указывает, что мы создаем файл под названием program.

GNU make должен быть тем, что вы ищете.