|
|
Il existe plusieurs Makefile pour compiler Canopsis. Un Makefile par sous-projet pour l'initialisation, la compilation et les tests d'un sous-projet. Et un Makefile généraliste à la racine du projet qui va exécuter une même target sur l'ensemble des sous-projets.
|
|
|
|
|
|
# Utilisation du makefile
|
|
|
|
|
|
## utilisation de base
|
|
|
|
|
|
- init: initialise le projet en téléchargeant les dépendances
|
|
|
- build: compile le projet
|
|
|
- test: éxecute les tests
|
|
|
- release: compile tous les sous-projets et regroupe les binaires dans une archive. N'est disponibles que sur le Makefile généraliste.
|
|
|
- clean: supprime les binaires générés lors d'une compilation
|
|
|
- full_clean: appel la target clean, supprime les répertoires *vendor* et vide le cache du gestionnaire de dépendance go.
|
|
|
- docker_build: construit les images docker
|
|
|
|
|
|
## Utilisation avancé
|
|
|
Il est possible de modifier certaines variables lors de l'exécution de certaines targets. Cette section présente les modifications les plus intéressantes.
|
|
|
|
|
|
### Build
|
|
|
- **OUTPUT_DIR** pour modifier le répertoire dans lequel les binaires vont être produit.
|
|
|
- **OS** pour cross-compiler vers un autre système. Par défaut *linux*.
|
|
|
- **ARCH** pour compiler vers une autre architecture cible. Par défaut *amd64*.
|
|
|
- **CGO** pour activer ou non l'utilisation de la libc du système. Par défaut *0* (désactivé).
|
|
|
- **BINARY** pour changer le nom du binaire généré.
|
|
|
|
|
|
### Docker_build
|
|
|
- **IMAGE_NAME** pour changer le nom de l'image générée. Par défaut "canopsis/" suivi du nom du projet.
|
|
|
- **TAG** pour changer le tag associé à l'image. Par défaut *latest*.
|
|
|
|
|
|
## Création d'un nouveau projet |
|
|
\ No newline at end of file |
|
|
### test
|
|
|
- **GO_TEST_PARAM** pour ajouter des options particulières à *go test*. Par défaut *-cover*. |
|
|
\ No newline at end of file |