Jika kamu belum pernah menggunakan Makefile sebelumnya, lebih baik kamu membaca artikel ini. kamu akan mengetahui apa itu Makefile dan bagaimana Makefile bisa berguna bagi kamu.
Apa itu Makefile?
Makefile adalah sebuah file yang berisi sekumpulan task. Task dapat dijalankan dengan command make
. Command ini umumnya digunakan (tetapi tidak terbatas pada) untuk build aplikasi dan menjalankan unit tes. Mari kita mulai dengan contoh hello world. Buat file bernama Makefile
lalu salin kode berikut.
hello:
@echo "hello world"
File tersebut berisi satu task, yaitu hello
, dan command yang akan dijalankannya adalah echo "hello world"
.
Tanda @
sebelum command adalah untuk menyembunyikan command di output.
Untuk menjalankan task hello
, jalankan command di bawah ini di command line. Kamu perlu menjalankannya di direktori yang sama dengan Makefile
.
make hello
Kamu akan melihat “hello world” di output.
Task juga dapat menjalankan beberapa baris command. Lihat contoh di bawah ini.
test:
@go mod vendor
@go test ./...
Bisa juga menjalankan task lain. Lihat contoh di bawah ini untuk menjalankan build dan run aplikasi Go.
start: build run
build:
@echo "building.."
@go build -o myapp
run:
@echo "running.."
@./myapp
Sangat membantu bukan? Kamu dapat menggunakannya untuk apa saja. Di bawah ini adalah Makefile yang saya gunakan untuk proyek blog ini.
buildstaging:
@hugo -e staging -d public_staging --minify
deployprod:
@hugo --minify
@hugo deploy
Kesimpulan
Ini hanyalah penggunaan dasar Makefile, tetapi Makefile dapat sangat membantu. Makefile sangat berguna untuk membantu kita menjalankan suatu task, terutama jika command-nya panjang. Yang saya suka adalah kita bisa meletakkannya di direktori proyek kita dan meng-commit-nya ke Github. Jadi semua orang dapat menggunakannya dan berkontribusi bersama. Selain itu, proyek yang berbeda dapat memiliki Makefile yang berbeda.