... | ... | @@ -3,12 +3,12 @@ Il existe plusieurs Makefile pour compiler Canopsis. Un Makefile par sous-projet |
|
|
# Utilisation du makefile
|
|
|
|
|
|
## 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
|
|
|
- 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
|
|
|
- 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
|
|
|
|
|
|
## Utilisation avancée
|
... | ... | @@ -34,28 +34,23 @@ include ../../Makefile.var |
|
|
|
|
|
BINARY:=put a name here
|
|
|
|
|
|
init:
|
|
|
@echo "Initialising ${PROJECT} project"
|
|
|
@${DEP_MANAGER} install
|
|
|
|
|
|
clean:
|
|
|
@echo "Cleaning ${PROJECT} project"
|
|
|
-@rm -r ${BINARY}
|
|
|
|
|
|
build:
|
|
|
@echo "Building ${PROJECT} project"
|
|
|
@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
|
|
|
@env GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=$(CGO) go build -o ${OUTPUT_DIR}${BINARY} ${LDFLAGS}
|
|
|
|
|
|
docker_build:
|
|
|
@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"
|
|
|
@go test ${GO_TEST_PARAM}
|
|
|
``` |
|
|
\ No newline at end of file |