Comment on page
Go GeliÅtiricileri için Makefile
Golang ile yazılım geliÅtirirken Makefile teknolojisinde nasıl faydalanacaÄımızı göreceÄiz. GözÃŒmÃŒzÃŒn korkmasına gerek yok, aÅırı basit bir olay. Zaten herÅeyi biliyorsunuz. Makefile sadece bir yöntemdir.
Makefile Nedir?
Makefile, çoÄu komutu çalıÅtırmak için kullanabileceÄimiz otomasyon aracıdır. Makefileâı genellikle Github veya Gitlabâde programların ana dizininde bazı iÅlemleri otomatikleÅtirme için kullanıldıÄını görebilirsiniz.
Basit Bir Ãrnek
Bir proje klasörÃŒ oluÅturalım ve bu klasörÃŒn içine makefile adında dosya oluÅturalım. Daha sonra makefile dosyamızı herhangi bir editör ile açalım ve içerisine aÅaÄıdakileri yazalım.
merhaba:
echo "merhaba"
GördÃŒÄÃŒnÃŒz gibi programlama dillerine ve komutlara benzer bir yazılımı var.
Kodumuzu make komutu ile deneyebiliriz. Proje klasörÌmÌzÌn içerisinde komut satırına make merhaba yazarak kodumuzun çıktısını görelim:
echo "Merhaba" Merhaba
GördÃŒÄÃŒnÃŒz gibi make komutunun yanına merhaba ekleyerek makefile dosyamızdaki merhaba bölÃŒmÃŒnÃŒn çalıÅmasını saÄladık. Makefileâın genel mantıÄına baktıÄımızda komut satırı ÃŒzerinden yaptıÄımız iÅlemleri kısaltıyor.
Basit Go Uygulaması İnÅa Etme
package main
import "fmt"
func main() {
fmt.Println("Merhaba")
}
Yukarıda gördÃŒÄÃŒnÃŒz gibi basit bir Go uygulamamız var. Åimdi bu Go dosyamız ile iÅlem yapabilmek için makefile dosyamıza komutlar girelim.
merhaba:
echo "Merhaba"
build:
go build main.go
run:
go run main.go
Yukarıda gördÃŒÄÃŒnÃŒz gibi makefile dosyamıza bloklar açarak bildiÄiniz komut satırı komutlarını girdik. Yukarıdaki kodların durumuna göre make build ile Go dosyamızı build ederiz ve make run ile Go dosyamız ı çalıÅtırırız. Gayet basit bir mantıÄı var.
Peki bu olay bizim ne iÅimize yarayacak?
ÃrneÄin bir projeyi 3 tane platform için build etmemiz gerekecek. Her platform için ayrı Go Ortamı bilgisi girmemiz gerekir. Hele ki build iÅlemini sÃŒrekli yapıyorsanız bu iÅten bıkabilirsiniz. Fakat makefile dosyasıyla iÅinizi kolaylaÅtırabilirsiniz.
ÃrneÄimizi görelim:
derle:
echo "Windows, Linux ve MacOS için Derleme İÅlemi"
GOOS=windows GOARCH=amd64 go build -o bin/main-windows64.exe main.go
GOOS=linux GOARCH=amd64 go build -o bin/main-linux64 main.go
GOOS=darwin GOARCH=amd64 go build -o bin/main-macos64 main.go
run:
go run main.go
hepsi: derle run
derle bloÄumuzun içerisine 3 platforma derlemek için komutlarımızı girdik. run bloÄuna ise main.go dosyamızı çalıÅtırmak için komutumuzu girdik. hepsi bloÄunun yanına ise derle ve run yazdık. Yani komut satırına make hepsi yazarsak hem derleme hem de çalıÅtırma iÅlemini yapacak.
Bu yazımızda Golang için makefile kullanımına örnek verdik. İlla ki Goâda kullanılacak diye bir kaide yok. DiÄer programlama dillerinde veya komutlarınızı otomatize etmek istediÄiniz zaman kullanabilirsiniz.