make реалізує стратегію будування програми, яка описана в файлі Makefile.
У вищенаведеному файлі, стратегія для "make all" буде дуже проста:
* якщо файли, які необхідні для досягнення цілі, не мінялися, то нічого не робити;
* для досягення цілі all необхідний файл "hellomake" ;
* для hellomake потрібно мати hellomake.o hellofunc.o і виконати команду gcc -o hellomake FILE1.o FILE2.o ... GCC_OPTIONS ;
* для отримання файлу з розширенням .o треба мати файл з розширенням .c і файл hellomake.h
і виконати команду gcc -c -o FILE.o FILE.c GCC_OPTIONS ;
Для "make clean":
* повидаляти вказані файли (там помилка, до речі - зайві каталоги).
Мейку можна ставити різні цілі, напр. можна напр. поставити ціль скомпілювати окремий проміжний файл: "make hellomake.o".
Документація:
http://translate.google.com/translate?js=y&prev=_t&hl=uk&ie=UTF-8&layout=1&eotf=1&u=http%3A%2F%2Fwww.opennet.ru%2Fdocs%2FRUS%2Fmake_compile%2Fmake-2.html&sl=auto&tl=uk