İlk defa olmasına rağmen keşfettiğim “make”.
Asli dokümanı gnu sayfasından indirilebilir.
Ben burda basitçe bir örnek yapacağım ve benim örneğim C++ vs için değil. Sıradan bir otomasyon için.
Docker da makefile kullanızor bu nedenle öğrennmiştim ve son derece ilgimi çekti.
Hemen bir örnek ile anlatayım
all: run_swaks
install_swaks:
curl -l http://www.jetmore.org/john/code/swaks/files/swaks-20201014.0/swaks -o /mnt/c/Users/can/Docker/Make/swaks.pl
chmod 700 /mnt/c/Users/can/Docker/Make/swaks.pl
run_swaks: install_swaks
perl ./swaks.pl --to can@mail.de --from can@mail.de --server smtp.mail.de --helo mail.de --body "Works"
clean:
rm swaks.pl
burada “install_swaks:” bir target tir. altında da bash te yaptığım işlemler mevcut. Bu komutlar her biri bir satıra gelecek şekilde yazılır. Bu komutlara “recipe” yada tarif denir.
” run_swaks: install_swaks ” run_swaks hedefi önce “install_swaks” ın başarılı olarak çalışmasına bağımlıdır demektir.
“all:” –> bu satır olmadığı zaman make komutu ile bir target vermek zorundayız.
$ make run_swaks
gibi.
- Önemli konulardan biride clean kuralı oluşturmak. Böylece oluşturduğumuz dosyaları sileriz ki yeniden make yapabilelim.
- Make default olarak “Makefile” isiml dosyayı arar. Eğer başka bir dosya kullanmak istersek “-f” ile dosyayı göstermeliyiz.