Если вы связываете свое приложение из 2 исходных файлов(.c
), вам не нужно перекомпилировать каждый файл, а только измененный, если вы используете make.
Также приведу пример из мира BSD. У них есть структура Makefiles на основе системы -. Они предоставляют вам пути к системным каталогам и имеют цели для установки вашего программного обеспечения и справочных страниц.
Например, вы только что написали beer.c
приложение и руководство к нему под названием beer.6
. Вы создаетеMakefile
:
PROG= beer
MAN= beer.6
.include <bsd.prog.mk>
..и позвоните make install
. Он автоматически компилирует и устанавливает ваше приложение в /usr/bin
, а также компилирует и устанавливает вашу справочную страницу в то место, где man
может ее найти. Вы только что установили свое приложение с помощью одной простой команды!
Очень удобно и абсолютно прозрачно для всех, кто знаком с BSD. Гораздо лучше, чем ручной скрипт.
source
не является файлом на машине UNIX. source
— это встроенная -команда оболочки. например export
или shopt
.
В глубине, в мире программирования, функция exec
запускает файл на вашем диске. он не может запустить встроенную команду -в оболочке.