Muutke oma elu lihtsamaks, automatiseerides korduvaid ülesandeid Makefilesi abil.

Kaasaegses tarkvaraarenduses on tõhus ehitusautomaatika projekti õnnestumiseks ülioluline. Makefiles, populaarne ehituse automatiseerimise tööriist, pakub kõigi virnade arendajatele lühikest ja võimsat viisi keerukate ehitusprotsesside haldamiseks.

Makefilesid Go-ga integreerides ja koostoimides saate korduvaid ülesandeid automatiseerida, ehitusprotsesse sujuvamaks muuta ja tootlikkust suurendada.

Makefile'i mõistmine

Makefilesi tööpõhimõtete mõistmine on teie projektijärkude tõhusaks korraldamiseks ja automatiseerimiseks ülioluline.

Makefile'id järgivad projektide ehitamise ja hooldamise reeglite määratlemiseks kindlat struktuuri ja süntaksit. Põhimõtteliselt koosneb Makefile reeglitest, mis määravad sihtmärgid, sõltuvused ja käsud. Iga reegel algab sihtmärgiga, millele järgnevad selle sõltuvused ja sihtmärgi koostamiseks või täitmiseks vajalikud käsud.

Sihtmärgid tähistavad Makefile'i soovitud väljundfaile või toiminguid. Sihtmärgid võivad olla failinimed või sildid, mis kirjeldavad ülesannet. Näiteks sihtmärk nimega

instagram viewer
puhas võib eemaldada ehitamisprotsessi käigus loodud mittevajalikud failid.

Sõltuvused on sihtmärgi loomiseks vajalikud failid või ülesanded. Kui sõltuvusi muudetakse, loob Makefile seotud sihtmärgid uuesti, et tagada projekti vajalike osade toimimine. Määrate pärast sihtmärki tühikutega eraldatud sõltuvused.

Käsud on toimingud või shell käsud mis vajavad konkreetsete eesmärkide loomiseks või täitmiseks täitmist. Käsud kirjutatakse tavaliselt operatsioonisüsteemi shelliskriptikeeles.

Tuvastamiseks peab iga käsk algama tabeldusmärgiga.

ehitamine: main.go utils.go
go build -o myapp main.go utils.go

puhas:
rm myapp

Ülaltoodud Makefile'is on kaks sihtmärki: ehitada ja puhas.

The ehitada sihtmärk sõltub main.go ja utils.go failid ja sellega seotud käsk töötab Go-kompilaatoris, et luua täitmisfail nimega minu rakendus.

Teisest küljest, puhas sihtmärk eemaldab minu rakendus käivitatav.

Go-koodi kompileerimiseks navigeerige töökataloogi ja käivitage ehitama panema käsk.

ehitama panema

Koostamisprotsessiga tegeleb tööriist Make, mis võimaldab teil keskenduda koodi kirjutamisele.

Makefailide seadistamine teie Go projektide jaoks

Makefilesi saate kasutada oma programmide koostamiseks ja kompileerimiseks, kooditestide ja kvaliteedikontrollide tegemiseks ning pidevaks integreerimiseks ja juurutamiseks.

Käivitage see käsk, et luua juurkataloogis oma projekti jaoks Makefile. The Makefile toimib sisenemispunktina teie ehitusülesannete määratlemisel.

puudutage Makefile

Teie Makefile'il ei tohiks olla laiendusi.

Pärast Makefile'i loomist saate oma projekti toimingute jaoks faili kirjutada käske, sõltuvusi ja sihtmärke.

Siin on Makefile'i näide, mis toimib teie projekti ehitamise automatiseerimise tööriistana:

# Makefile

# Muutujad
GOCMD=mine
GOBUILD=$(GOCMD) ehitada
GOTEST=$(GOCMD) test
GOCLEAN=$(GOCMD) puhas

# Sihtmärgid
ehitada:
$(GOBUILD) -o rakendus.

test:
$(GOTEST) ./...

puhas:
$(GOCLEAN)
rm -f rakendus

Saate oma Makefile'i kohandada vastavalt oma projekti spetsiifilistele vajadustele.

Siin on Makefile'i muudetud versioon täiendavate lippude ja keskkonnamuutujate edastamiseks teie projekti testimise või ehitamise ajal:

# Makefile

# Muutujad
GOCMD=mine
GOBUILD=$(GOCMD) ehitada
GOTEST=$(GOCMD) test
GOCLEAN=$(GOCMD) puhas
BINARY_NAME=rakendus
TEST_FLAGS=-v

# Sihtmärgid
ehitada:
$(GOBUILD) -o $(BINARY_NAME) .

test:
$(GOTEST)$(TEST_FLAGS) ./...

puhas:
$(GOCLEAN)
rm -f $(BINARY_NAME)

Selles Makefile'is on kaks uut muutujat BINARY_NAME ja TEST_FLAGS. The BINARY_NAME muutuja määrab genereeritud täitmisfaili nime.

The TEST_FLAGS muutuja võimaldab teil testimise ajal määrata täiendavaid lippe (antud juhul -v lipp võimaldab paljusõnalist väljundit testimise ajal).

Makefiles pakub ka lihtsat viisi oma projekti keskkonnamuutujate ja lippude seadistamiseks.

Saate need read oma Makefile'i lisada, kui teil on vaja määrata GOOS ja GOARCH muutujad, et luua oma projekt konkreetse operatsioonisüsteemi või arhitektuuri jaoks.

# Makefile

# Muutujad
GOCMD=mine
GOBUILD=$(GOCMD) ehitada
GOTEST=$(GOCMD) test
GOCLEAN=$(GOCMD) puhas
BINARY_NAME=rakendus
TEST_FLAGS=-v
GOOS=linux
GOARCH=amd64

# Sihtmärgid
ehitada:
$(GOBUILD) -o $(BINARY_NAME) .

test:
$(GOTEST)$(TEST_FLAGS) ./...

puhas:
$(GOCLEAN)
rm -f $(BINARY_NAME)

Värskendatud Makefile'is on kaks uut muutujat GOOS ja GOARCH keskkonnamuutujad, mis võimaldavad teil määrata oma järgu sihtoperatsioonisüsteemi ja arhitektuuri (antud juhul GOOS muutuja on seatud Linux ja GOARCH juurde amd64 et ehitada projekt Linuxi jaoks x86-64 arhitektuurile).

Ärge unustage kohandada neid muutujaid vastavalt oma projekti spetsiifilistele nõuetele.

Võite viidata Minge dokumentatsiooni jaoks toetatud väärtuste loendi jaoks GOOS ja GOARCH kui teil on vaja ehitada mõnele teisele platvormile.

Ehitage automaatika Makefile'i abil

Makefailid on käepärased ka koodi koostamiseks, dokumentatsiooni genereerimiseks ja sõltuvuste haldamiseks.

Makefilesiga saate automatiseerida kompileerimisaega, säästes teie aega ja vaeva.

Siin on Makefile, mis koostab Go programmi:

# Määratlege muutujad
GOCMD = mine
GOBUILD = $(GOCMD) ehitada
BINARY_NAME = minu programm

# Vaikimisi sihtmärk
kõik: ehitada

# Ehitage sihtmärk
ehitada:
$(GOBUILD) -o $(BINARY_NAME)

# Puhas sihtmärk
puhas:
rm -f $(BINARY_NAME)

Makefile määratleb sellised muutujad nagu GOCMD (käsk Mine) ja GOBUILD (ehituskäsk). The ehitada sihtmärk kutsub esile mine ehitama käsk meie Go programmi kompileerimiseks ja binaarfaili loomiseks määratud nimega (minu programm sel juhul). The puhas target eemaldab projektist loodud binaarfaili.

Saate kasutada Makefile, et automatiseerida sõltuvuste installimist ja hoida oma projekti väliseid sõltuvusi värskendatuna.

# Määratlege muutujad
GOCMD = mine
GOBUILD = $(GOCMD) ehitada
GOGET = $(GOCMD) saada
BINARY_NAME = minu programm

# Vaikimisi sihtmärk
kõik: ehitada

# Ehitage sihtmärk
ehitada:
$(GOBUILD) -o $(BINARY_NAME)

# Installige sõltuvused
deps:
$(GOGET) -u

# Puhas sihtmärk
puhas:
rm -f $(BINARY_NAME)

Makefile'is on a deps sihtmärk, mis kasutab mine võta käsk projekti sõltuvuste installimiseks või värskendamiseks. Sa võid joosta teha deps oma projekti sõltuvuste installimiseks.

Makefiles saab automatiseerida dokumentatsiooni loomist ja parandada teie docs kui koodiprotsess.

Siin on, kuidas saate looge godoci tööriistaga automaatselt dokumentatsiooni oma Go projektide jaoks ja Makefile:

# Määratlege muutujad
GODOC = godok
DOCS_DIR = dokumendid

# Vaikimisi sihtmärk
kõik: dokumendid

# Loo dokumentatsioon
dokumendid:
$(GODOC) -html -rež. > $(DOCS_DIR)/index.html

# Puhas sihtmärk
puhas:
rm -rf $(DOCS_DIR)

Makefile'is on dok sihtmärk kutsub esile goddoc käsuga -html lipuke, et luua oma go-koodi jaoks HTML-dokumentatsioon ja salvestada dokumentatsiooni dok kataloog.

Sa käivitad tee dokumente käsk, et luua oma Go projekti jaoks ajakohane dokumentatsioon.

Makefile'id on kasulikud Unixi-põhiste operatsioonisüsteemidega töötamiseks

Kasutades Makefiles'i paindlikkust, saate mõne minuti jooksul määrata kohandatud ehituskäske ja täita keerulisi ülesandeid. Makefile säästab aega ning tagab järjepidevuse ja reprodutseeritavuse ehituskeskkondades.

Makefilesi teine ​​eelis on selle ühilduvus Unixi-põhiste süsteemidega. Make on laialdaselt toetatud utiliit Unixi-põhistes operatsioonisüsteemides, sealhulgas Linuxis ja macOS-is, muutes selle arendajatele kaasaskantavaks ja usaldusväärseks tööriistaks.