J’aimerai créer un dossier comprenant plusieurs sous-dossier (projet) et pouvoir avec une commande de build l’ensemble des sous dossier pour qu’il ai tous un exe
Y’a t’il une solution simple ? (outre que faire un go build par dossier)
C’est exactement ce que j’ai sur mon projet du boulot, perso.
J’ai un makefile à la racine du projet avec, parmi mes règles, quelques unes comme celles-ci (je recopie uniquement ici la partie pertinente de mon makefile) :
EXT ?= `if [ "$(GOOS)" = "windows" ]; then echo ".exe"; else echo ""; fi`
all: servers toolsservers: hapi ottotools: sodahapi:
@echo "Building: bin/hapi$(EXT)"
@mkdir -p bin
@CGO_ENABLED=0 go build -o bin/hapi$(EXT) ./app/hapi
otto:
@echo "Building: bin/otto$(EXT)"
@mkdir -p bin
@CGO_ENABLED=0 go build -o bin/otto$(EXT) ./app/otto
soda:
@echo "Building: bin/soda$(EXT)"
@mkdir -p bin
@CGO_ENABLED=0 go build -o bin/soda$(EXT) ./app/soda
Je n’ai mis ici que 3 des exécutables que je peux être amené à compiler. J’en ai 9 en tout, et ça se répète pas mal…
Avec ces règles :
make génère tous mes binaires dans le répertoire bin à la racine du projet, pour l’OS sur lequel je suis en train de tourner.
GOOS=windows make soda compile soda pour windows (en prenant soin d’appeler le binaire soda.exe)
GOOS=darwin make servers compile tous mes serveurs pour Mac OS.
… et je pense que ça fait un bon aperçu.
PS:
Alternativement, si tes binaires font tous partie du même go module, tu peux faire go build ./.... Ah non, je viens d’essayer ça ne génère pas les exécutables.
Connectez-vous pour pouvoir poster un message.
Connexion
Pas encore membre ?
Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte