Helpota elämääsi automatisoimalla toistuvia tehtäviä Makefilesin avulla.
Nykyaikaisessa ohjelmistokehityksessä tehokas rakennusautomaatio on ratkaisevan tärkeää projektin onnistumiselle. Makefiles, suosittu rakennusautomaatiotyökalu, tarjoaa kaikkien pinojen kehittäjille tiiviin ja tehokkaan tavan hallita monimutkaisia rakennusprosesseja.
Integroimalla ja toimimalla yhteen Makefile-tiedostojen kanssa Go, voit automatisoida toistuvia tehtäviä, virtaviivaistaa rakennusprosesseja ja parantaa tuottavuutta.
Makefile-tiedostojen ymmärtäminen
Makefilesin toiminnan ymmärtäminen on ratkaisevan tärkeää projektien rakentamisen tehokkaan organisoinnin ja automatisoinnin kannalta.
Makefile-tiedostot noudattavat tiettyä rakennetta ja syntaksia sääntöjen määrittämiseksi projektien rakentamista ja ylläpitoa varten. Pohjimmiltaan Makefile koostuu säännöistä, jotka määrittelevät kohteet, riippuvuudet ja komennot. Jokainen sääntö alkaa kohteella, jota seuraa sen riippuvuudet ja komennot, joita tarvitaan kohteen rakentamiseen tai suorittamiseen.
Kohteet edustavat Makefilen haluttuja tulostiedostoja tai toimintoja. Kohteet voivat olla tiedostonimiä tai tunnisteita, jotka kuvaavat tehtävää. Esimerkiksi kohde nimeltä puhdas voi poistaa tarpeettomat tiedostot, jotka on luotu rakennusprosessin aikana.
Riippuvuudet ovat kohteen rakentamiseen tarvittavia tiedostoja tai tehtäviä. Jos riippuvuuksia muutetaan, Makefile rakentaa liittyvät kohteet uudelleen varmistaakseen, että projektin tarvittavat osat toimivat. Määrität riippuvuudet kohteen jälkeen välilyönneillä erotettuina.
Komennot ovat toimia tai shell-komennot jotka vaativat suorituksen tiettyjen tavoitteiden rakentamiseksi tai suorittamiseksi. Komennot kirjoitetaan yleensä käyttöjärjestelmän komentotulkkikomentokielellä.
Jokaisen komennon on aloitettava sarkainmerkillä tunnistamista varten.
build: main.go utils.go
go build -o myapp main.go utils.go
puhdas:
rm myapp
Yllä olevassa Makefile-tiedostossa on kaksi kohdetta: rakentaa ja puhdas.
The rakentaa tavoite riippuu main.go ja utils.go tiedostot, ja siihen liittyvä komento suoritetaan Go-kääntäjässä ja luodaan suoritettava tiedosto nimeltä myapp.
Toisaalta, puhdas kohde poistaa myapp suoritettava.
Kääntääksesi Go-koodin, siirry työhakemistoon ja suorita rakentaa komento.
rakentaa
Make-työkalu hoitaa käännösprosessin, jolloin voit keskittyä koodin kirjoittamiseen.
Maketiedostojen määrittäminen Go-projekteihisi
Makefilesin avulla voit rakentaa ja kääntää ohjelmia, suorittaa kooditestejä ja laaduntarkastuksia sekä jatkuvaan integrointiin ja käyttöönottoon.
Suorita tämä komento luodaksesi Makefile projektille juurihakemistoon. The Makefile toimii aloituspisteenä rakennustehtävien määrittelyssä.
kosketa Makefile
Makefile-tiedostossasi ei pitäisi olla laajennuksia.
Makefile-tiedoston luomisen jälkeen voit kirjoittaa tiedostoon komentoja, riippuvuuksia ja kohteita projektisi toimintoja varten.
Tässä on esimerkki Makefile-tiedostosta, joka toimii rakennusautomaatiotyökaluna projektillesi:
# Makefile
# Muuttujia
GOCMD = mene
GOBUILD=$(GOCMD) rakentaa
GOTEST=$(GOCMD) testata
GOCLEAN=$(GOCMD) puhdas# Tavoitteet
rakentaa:
$(GOBUILD) -o sovellus.testata:
$(GOTEST) ./...
puhdas:
$(GOCLEAN)
rm -f sovellus
Voit muokata Makefileäsi projektisi erityistarpeiden mukaan.
Tässä on muokattu versio Makefile-tiedostosta ylimääräisten lippujen ja ympäristömuuttujien välittämiseksi projektisi testi- tai rakennusprosessin aikana:
# Makefile
# Muuttujia
GOCMD = mene
GOBUILD=$(GOCMD) rakentaa
GOTEST=$(GOCMD) testata
GOCLEAN=$(GOCMD) puhdas
BINARY_NAME=sovellus
TEST_FLAGS=-v# Tavoitteet
rakentaa:
$(GOBUILD) -o $(BINARY_NAME) .testata:
$(GOTEST)$(TEST_FLAGS) ./...
puhdas:
$(GOCLEAN)
rm -f $(BINARY_NAME)
Tässä Makefile-tiedostossa on kaksi uutta muuttujaa nimeltä BINARY_NAME ja TEST_FLAGS. The BINARY_NAME muuttuja määrittää luodun suoritettavan tiedoston nimen.
The TEST_FLAGS muuttujan avulla voit määrittää lisälippuja testejä suoritettaessa (tässä tapauksessa -v lippu mahdollistaa monisanaisen tulostuksen testin suorittamisen aikana).
Makefiles tarjoaa myös helpon tavan määrittää ympäristömuuttujat ja liput projektillesi.
Voit lisätä nämä rivit Makefile-tiedostoon, jos sinun on määritettävä GOOS ja GOARCH muuttujat rakentaaksesi projektisi tiettyä käyttöjärjestelmää tai arkkitehtuuria varten.
# Makefile
# Muuttujia
GOCMD = mene
GOBUILD=$(GOCMD) rakentaa
GOTEST=$(GOCMD) testata
GOCLEAN=$(GOCMD) puhdas
BINARY_NAME=sovellus
TEST_FLAGS=-v
GOOS=linux
GOARCH=amd64# Tavoitteet
rakentaa:
$(GOBUILD) -o $(BINARY_NAME) .testata:
$(GOTEST)$(TEST_FLAGS) ./...
puhdas:
$(GOCLEAN)
rm -f $(BINARY_NAME)
Päivitetyssä Makefilessä on kaksi uutta muuttujaa GOOS ja GOARCH ympäristömuuttujat, joiden avulla voit määrittää koontiversion kohdekäyttöjärjestelmän ja arkkitehtuurin (tässä tapauksessa GOOS muuttuja on asetettu arvoon Linux ja GOARCH to amd64 rakentaa projektin Linuxille x86-64-arkkitehtuurille).
Muista mukauttaa nämä muuttujat projektisi erityisvaatimusten mukaan.
Voit viitata Mene dokumentaatioon tuettujen arvojen luetteloon GOOS ja GOARCH jos sinun on rakennettava eri alustalle.
Rakenna automaatiota Makefileillä
Makefile-tiedostot ovat käteviä myös koodin kääntämiseen, dokumentaation luomiseen ja riippuvuuksien hallintaan.
Makefilesin avulla voit automatisoida käännösajan, mikä säästää aikaa ja vaivaa.
Tässä on Makefile, joka kokoaa Go-ohjelman:
# Määrittele muuttujat
GOCMD = mene
GOBUILD = $(GOCMD) rakentaa
BINARY_NAME = oma ohjelma# Oletuskohde
kaikki: rakentaa# Rakenna tavoite
rakentaa:
$(GOBUILD) -o $(BINARY_NAME)
# Puhdas kohde
puhdas:
rm -f $(BINARY_NAME)
Makefile määrittää muuttujat, kuten GOCMD (Mene-komento) ja GOBUILD (rakennuskomento). The rakentaa kohde kutsuu mene rakentamaan komento kääntää Go-ohjelmamme ja tuottaa binaarin määritetyllä nimellä (minun ohjelmani tässä tapauksessa). The puhdas target poistaa luodun binaarin projektista.
Makefilesin avulla voit automatisoida riippuvuuksien asennuksen ja pitää projektisi ulkoiset riippuvuudet ajan tasalla.
# Määrittele muuttujat
GOCMD = mene
GOBUILD = $(GOCMD) rakentaa
GOGET = $(GOCMD) saada
BINARY_NAME = oma ohjelma# Oletuskohde
kaikki: rakentaa# Rakenna tavoite
rakentaa:
$(GOBUILD) -o $(BINARY_NAME)# Asenna riippuvuudet
deps:
$(GOGET) -u
# Puhdas kohde
puhdas:
rm -f $(BINARY_NAME)
Makefilessä on a deps kohde, joka käyttää Hae komento asentaa tai päivittää projektin riippuvuuksia. Voit juosta tehdä depsiä asentaaksesi projektisi riippuvuuksia.
Makefiles voi automatisoida dokumentaation luomisen ja parantaa docs koodiprosessina.
Näin voit tehdä sen Luo dokumentaatio automaattisesti Go-projekteihisi godoc-työkalulla ja Makefile:
# Määrittele muuttujat
GODOC = godok
DOCS_DIR = asiakirjat# Oletuskohde
kaikki: asiakirjat# Luo dokumentaatio
asiakirjat:
$(GODOC) -html -hakemisto. > $(DOCS_DIR)/index.html
# Puhdas kohde
puhdas:
rm -rf $(DOCS_DIR)
Makefile-tiedostossa asiakirjoja kohde kutsuu goddoc komennon kanssa -html lippu luodaksesi HTML-dokumentaation go-koodillesi ja tallentaaksesi dokumentaation tiedostoon asiakirjoja hakemistosta.
Sinä suoritat tee asiakirjoja komento luodaksesi ajantasaisen dokumentaation Go-projektillesi.
Makefile-tiedostot ovat käteviä Unix-pohjaisten käyttöjärjestelmien kanssa työskentelemiseen
Hyödyntämällä Makefilesin joustavuutta, voit määrittää mukautettuja koontikomentoja ja suorittaa monimutkaisia tehtäviä muutamassa minuutissa. Makefile säästää aikaa ja varmistaa johdonmukaisuuden ja toistettavuuden kaikissa rakennusympäristöissä.
Toinen Makefilesin etu on sen yhteensopivuus Unix-pohjaisten järjestelmien kanssa. Make on laajasti tuettu apuohjelma Unix-pohjaisissa käyttöjärjestelmissä, mukaan lukien Linux ja macOS, mikä tekee siitä kannettavan ja luotettavan työkalun kehittäjille.