From d0632fb691726764dd42ec9395a0548b385b57d7 Mon Sep 17 00:00:00 2001 From: Nemo D'ACREMONT Date: Wed, 27 Nov 2024 14:55:35 +0100 Subject: [PATCH] enhanced: enhanced makefiles --- .gitignore | 1 + Makefile | 20 ++++++++++++++++---- PostgreSQL/Makefile | 38 ++++++++++++++++++++++++-------------- docker-compose.dev.yml | 2 +- 4 files changed, 42 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index 46423bd..07702ce 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ dev-db/ database/ +PostgreSQL/build **/.env *.data diff --git a/Makefile b/Makefile index 1f09c23..939c862 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,27 @@ DIR_SQL = PostgreSQL DIR_BACK = back-end -BIN = prepare_dev +all: build -all: $(BIN) +build: dev -prepare_dev: +dev: $(DIR_BACK)/.env + . $(DIR_BACK)/.env && docker-compose -f docker-compose.dev.yml up + +prod: + . $(DIR_BACK)/.env && docker-compose -f docker-compose.prod.yml up + +$(DIR_BACK)/.env: $(DIR_BACK)/.env.example cp $(DIR_BACK)/.env.example $(DIR_BACK)/.env cd $(DIR_SQL) && make clean: - rm -f $(DIR_BACK)/.env + ${RM} $(DIR_BACK)/.env + ${RM} -r dev-db || true cd $(DIR_SQL) && make clean + docker compose -f docker-compose.dev.yml down --rmi local -v --remove-orphans || true +clean_prod: clean + docker compose -f docker-compose.prod.yml down --rmi local -v --remove-orphans || true + +.PHONY: clean all prepare_dev build clean_prod diff --git a/PostgreSQL/Makefile b/PostgreSQL/Makefile index 27db067..a6f7cd7 100644 --- a/PostgreSQL/Makefile +++ b/PostgreSQL/Makefile @@ -1,30 +1,40 @@ DIR_SRC = src DIR_BUILD = build -BIN = 00_drop.sql 01_create.sql 02_insert.sql \ - 03_select.sql 04_update.sql +all: build -all: $(BIN) +build: \ + $(DIR_BUILD)/00_drop.sql \ + $(DIR_BUILD)/01_create.sql \ + $(DIR_BUILD)/02_insert.sql \ + $(DIR_BUILD)/03_select.sql \ + $(DIR_BUILD)/04_update.sql generate_data: - python generate_data.py + python3 generate_data.py rm .data/*.data -00_drop.sql: - cp $(DIR_SRC)/drop.sql $(DIR_BUILD)/$@ +$(DIR_BUILD)/00_drop.sql: $(DIR_SRC)/drop.sql + mkdir -p $(dir $@) + cp $< $@ -01_create.sql: - cp $(DIR_SRC)/create.sql $(DIR_BUILD)/$@ +$(DIR_BUILD)/01_create.sql: $(DIR_SRC)/create.sql + mkdir -p $(dir $@) + cp $< $@ -02_insert.sql: - cp $(DIR_SRC)/insert.sql $(DIR_BUILD)/$@ +$(DIR_BUILD)/02_insert.sql: $(DIR_SRC)/insert.sql + mkdir -p $(dir $@) + cp $< $@ -03_select.sql: - cp $(DIR_SRC)/select.sql $(DIR_BUILD)/$@ +$(DIR_BUILD)/03_select.sql: $(DIR_SRC)/select.sql + mkdir -p $(dir $@) + cp $< $@ -04_update.sql: - cp $(DIR_SRC)/update.sql $(DIR_BUILD)/$@ +$(DIR_BUILD)/04_update.sql: $(DIR_SRC)/update.sql + mkdir -p $(dir $@) + cp $< $@ clean: rm -f $(DIR_BUILD)/* .data/*.data +.PHONY: clean build all generate_data diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index f4a270e..70c67ef 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -1,8 +1,8 @@ services: database: hostname: database + image: briques_db container_name: briques_postgres - env_file: back-end/.env build: context: ./PostgreSQL dockerfile: Dockerfile