Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...
Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...
Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Bendros taisykl÷s (pattern rules) make-failuose<br />
Yra dar daug patogių dalykų, kurie palengvina programuotojo gyvenimą rašant<br />
make-failus. Mes aptarsime du iš jų: bendras taisykles <strong>ir</strong> automatinį o-failo prielaidų<br />
radimą.<br />
Kai turime dešimtis cpp-failų, tai visai neapsimoka prie kiekvieno iš jų rašyti g++ -<br />
c <strong>ir</strong> t.t.. Tuo tikslu galime aprašyti bendrą taisyklę, kaip iš cpp-failų gauti o-failus<br />
(analogiškai: iš o-failų gauti exe-failą). Pažvelkime į pagerintą make-failo variantą:<br />
# nicemake<br />
compile<br />
: CleverBoy.exe<br />
CleverBoy.exe : CleverBoy.o main.o<br />
CleverBoy.o : CleverBoy.cpp CleverBoy.h<br />
main.o : main.cpp CleverBoy.h<br />
#-------------------------------------------------------------<br />
clean:<br />
rm -f *.o<br />
rm -f *.exe<br />
build: clean compile<br />
%.exe: %.o<br />
g++ -o $@ $^<br />
%.o: %.cpp<br />
g++ -c $<<br />
Kadangi failo vardas n÷ra makefile (sk<strong>ir</strong>tingai nei visuose kituose pavyzdžiuose), tai<br />
turime naudoti parametrą -f:<br />
make -f nicemake<br />
Eilut÷s, esančios v<strong>ir</strong>š brūkšnio, nusako priklausomybes tarp failų. Eilut÷s, esančios<br />
žemiau brūkšnio, nusako bendras taisykles. Make-failo dalis žemiau brūkšnio pas<br />
mus bus bendra visiems projektams. Bendros taisykl÷s taikomos failams, pagal failų<br />
vardų pabaigas (.cpp .o .exe), vietoje specialiųjų simbolių įstatant atitinkamų failų<br />
vardus:<br />
$@ - tikslo failo vardas<br />
$< - p<strong>ir</strong>mojo prielaidos failo vardas<br />
$^ - visų prielaidos failų vardai, atsk<strong>ir</strong>ti tarpais<br />
17