[linux] makefile, ktory kompiluje len zmenene casti projektu

Jan Tomka judas na linux.sk
Úterý Červen 12 09:25:48 CEST 2007


On Tue, 12 Jun 2007 07:38:15 +0200, peto wrote
> stretol som sa s makefile-ami, ktore vedia skompilovat len zmenenu 
> cats projektu, neviete ako to robia? Len dufam, ze to nerobia cez 
> porovanie casu object file a zdrojaku. 
> (skripty som pisal naposledy pre Ultrix-ovsky tcsh, a to bolo v roku 
> 1996) Ak bude treba tak si to zopakujem ale rad by som sa tomu vyhol.

Pokial viem, kompilovat len zmenene veci je jeden z principov programu make.
Kazdy Makefile vykona pravidla len pre tie ciele, ktorych zavislosti boli od
vytvorenia daneho ciela zmenene.

Napriklad `make' nad cistymi zdrojakmi skompiluje uplne vsetko. Ked potom
zmenis jediny subor a das `make', skompiluje sa len ten jeden subor a binarka
sa zlinkuje s novym object fajlom.

A tiez pokial viem, tak sa to robi len na zaklade casu poslednej zmeny suboru.
Kedze make si neuklada metadata o suboroch, s ktorymi pracuje, jedinou
zmysluplnou informaciou je vysledok porovnania casu poslednej zmeny ciela a
vsetkych jeho zavislosti.

        Judas




Další informace o konferenci linux