hedef: bagımlılıkları
Basitce bi makefile yazmak gerekirse
all: makarna
makarna: makarna.o sos.o
makarna.o: makarna.c makarna.h su.h tuz.h yag.h
sos.o: sos.c sos.h salca.h yogurt.h
clean:
Bu dosyayı makefile adı ile ( herhangi bi uzantısı yok ) diger kaynak dosyalarınızın yanına korsanız daha sonrada "make all" komutunu calıstırısanız calıstırılabilir bir makarna elde etmis olursunuz."make clean" komutunu calıstırırsanız da olusan butun ".o" ve ".~" uzantılı dosyaları silmis olursunuz.
Yazdıgımız makefile i biraz acıklamak gerekirse oncelikle all komutu ile sonucta olusacak calıstırılabilir programın adını belirttik.Daha sonra bu calıstırılabilir makarna dosyamız icin nelerin olması gerektigini soyledik ve bunlarla birlikte makarnayı nasıl olusturacagının komutunu girdik.Makarna calıstırılabilir dosyasını olusturmak icin makarna.o ve sos.o olusturmak gerekiyordu fakat bunlar ortamda bulunmadıgı icin bunları olusturacak satırları yazdık.Makarna.o yu olusturmak icin makarna.c makarna.h su.h tuz.h ve yag.h dosyalarına ihtiyacımız oldugunu belirttikten sonra makarna.o nun nasıl olusturulacagını girdik.Tabi iyi bir makarna icin sos da sarttır bunun icin sosumuzu da olusturduk sos olusturmak icin de ihtiyacımız olanlar sos salca ve yogurttu bunları belirttikten sonra nasıl olusturulacagını girdik.
Artık makefile en basit hali ile bu kadar tabiki daha fonksyonel yapmak icin sabitler tanımlayabilirsiniz ve de acıklama satırları girebilirsiniz.
Sabit tanımlamak icin
DERLEYICIM=gcc seklinde tanımlarsınız
$( DERLEYICIM ) diye de kullanırsınız.
Acıklama satırı yazmak icin de diyez isaretini kullanabilirsiniz
#ben bir acıklama satırıyım
Kolay gelsin.
Hiç yorum yok:
Yorum Gönder