Update utilisation du makefile authored by Arthur Dewarumez's avatar Arthur Dewarumez
...@@ -3,12 +3,12 @@ Il existe plusieurs Makefile pour compiler Canopsis. Un Makefile par sous-projet ...@@ -3,12 +3,12 @@ Il existe plusieurs Makefile pour compiler Canopsis. Un Makefile par sous-projet
# Utilisation du makefile # Utilisation du makefile
## utilisation de base ## utilisation de base
- init: initialise le projet en téléchargeant les dépendances - init: initialise le projet en téléchargeant les dépendances. Seulement disponible dans le Makefile à la racine du projet.
- build: compile le projet - build: compile le projet
- test: éxecute les tests - 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. - release: compile tous les sous-projets et regroupe les binaires dans une archive. Seulement disponible dans le Makefile à la racine du projet.
- clean: supprime les binaires générés lors d'une compilation - 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. - full_clean: appel la target clean, supprime les répertoires *vendor* et vide le cache du gestionnaire de dépendance go. Seulement disponible dans le Makefile à la racine du projet.
- docker_build: construit les images docker - docker_build: construit les images docker
## Utilisation avancée ## Utilisation avancée
...@@ -34,28 +34,23 @@ include ../../Makefile.var ...@@ -34,28 +34,23 @@ include ../../Makefile.var
BINARY:=put a name here BINARY:=put a name here
init:
@echo "Initialising ${PROJECT} project"
@${DEP_MANAGER} install
clean: clean:
@echo "Cleaning ${PROJECT} project" @echo "Cleaning ${PROJECT} project"
-@rm -r ${BINARY} -@rm -r ${BINARY}
build: build:
@echo "Building ${PROJECT} project" @echo "Building ${PROJECT} project"
@env GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=$(CGO) go build -o ${OUTPUT_DIR}/${BINARY} ${LDFLAGS} @env GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=$(CGO) go build -o ${OUTPUT_DIR}${BINARY} ${LDFLAGS}
full_clean: clean
@echo "Purging ${PROJECT} project"
-@rm -r ${VENDOR_DIR}
@${DEP_MANAGER} cache-clear
docker_build: docker_build:
@echo "Building ${PROJECT} project docker image" @echo "Building ${PROJECT} project docker image"
@docker build . --build-arg BINARY_NAME=${BINARY} --build-arg PROJECT_NAME=${PROJECT} -t ${IMAGE_NAME}:${TAG} ifndef CLEAN_UP
-@rm -r ${ROOT_DIR}${VENDOR_DIR}
@cd ${ROOT_DIR} && ${DEP_MANAGER} install
endif
@cd ${ROOT_DIR} && docker build . --build-arg BINARY_NAME=${BINARY} --build-arg PROJECT_NAME=${PROJECT} -t canopsis/${IMAGE_NAME}:${TAG} -f cmd/${PROJECT}/Dockerfile
test: build test:
@echo "Testing ${PROJECT} project" @echo "Testing ${PROJECT} project"
@go test ${GO_TEST_PARAM} @go test ${GO_TEST_PARAM}
``` ```
\ No newline at end of file