Go créer plusieurs exe par sous projet

Le problème exposé dans ce sujet a été résolu.

Bonjour,

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)

Merci :)

Sans connaître Go je dirais… un makefile qui lance toutes tes commandes ?

viki53

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 tools
servers: hapi otto
tools: soda

hapi:
    @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.

+0 -0
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