Make #
Osnova cvičení #
- vytvoření jednoduchého Makefile
- vytvoření komplexního Makefile
Úkoly #
-
Stáhněte si projekt 06-make.zip, který obsahuje archiv s adresářem example a podadresář
utilsa programtest_factorial.c. -
Vytvořte v adresáři
examplesoubor Makefile, který:
- zkompiluje program
test_examplez modulůtest_factorial.oautils/math_utils.o - použijte překladač
gccs přepínači-Wall - přeloží v adresáři utils modul
math_utils.cnamath_utils.o - přeloží v aktuálním adresáři
test_factorial.cnatest_factorial.o - Makefile může použít implicitní pravidla
-
Rozšiřte Makefile o cíl clean. Nastavte správně pravidlo .PHONY.
-
Rozšiřte Makefile o cíl run, který program
test_factorialspustí. -
Otestujte Makefile, zda zareaguje na změnu souboru
utils/math_utils.h?
- Upravte Makefile ručně, aby reagoval na změnu souboru
utils/math_utils.h. - Upravte Makefile tak, aby automaticky reagoval na změnu souboru
utils/math_utils.h. Použijte přepínače-MMD -MPk vytvoření souborů.da jejich vložení do Makefile. Pro detekci zdrojových souborů použijte wildcard na aktuální adresář a podadresář utils. - Otestujte správnost implementace.
-
Rozšiřte Makefile o cíl archiv, který vytvoří archiv ze souboru Makefile, zdrojových souborů a pojmenuje ho
uloha_make.tgz. -
Rozšiřte Makefile o cíl install, který provede:
- zkopíruje program test_factorial do adresáře
~/.local/bin, pokud adresář neexistuje, tak ho vytvoří - pokud proměnná
PATHneobsahuje.local/bin, pak ho přidá do proměnnéPATH. Po provedení cíle install by mělo být možné spustit programtest_factorialz libovolného adresáře.