adfacbc873
Signed-off-by: Pierre-Alain TORET <pierre-alain.toret@protonmail.com>
100 lines
2.9 KiB
Makefile
100 lines
2.9 KiB
Makefile
SHELL = bash
|
|
|
|
BUILD_DIR = build
|
|
DEVEL_BUILD_DIR = $(BUILD_DIR)/devel
|
|
PROD_BUILD_DIR = $(BUILD_DIR)/prod
|
|
|
|
FRONTEND_BUILD_DIR = frontend
|
|
FRONTEND_DEVEL_BUILD_DIR = $(FRONTEND_BUILD_DIR)/$(DEVEL_BUILD_DIR)
|
|
FRONTEND_DEVEL_ROOT_DIR = $(DEVEL_BUILD_DIR)
|
|
FRONTEND_PROD_BUILD_DIR = $(FRONTEND_BUILD_DIR)/$(PROD_BUILD_DIR)
|
|
FRONTEND_PROD_ROOT_DIR = $(PROD_BUILD_DIR)
|
|
|
|
API_BUILD_DIR = api
|
|
API_DEVEL_BUILD_DIR = $(API_BUILD_DIR)/$(DEVEL_BUILD_DIR)
|
|
API_DEVEL_ROOT_DIR = $(DEVEL_BUILD_DIR)
|
|
API_PROD_BUILD_DIR = $(API_BUILD_DIR)/$(PROD_BUILD_DIR)
|
|
API_PROD_ROOT_DIR = $(PROD_BUILD_DIR)
|
|
|
|
TEMPLATES_BUILD_DIR = templates
|
|
TEMPLATES_DEVEL_BUILD_DIR = $(TEMPLATES_BUILD_DIR)/$(DEVEL_BUILD_DIR)
|
|
TEMPLATES_DEVEL_ROOT_DIR = $(DEVEL_BUILD_DIR)
|
|
TEMPLATES_PROD_BUILD_DIR = $(TEMPLATES_BUILD_DIR)/$(PROD_BUILD_DIR)
|
|
TEMPLATES_PROD_ROOT_DIR = $(PROD_BUILD_DIR)
|
|
|
|
DB_BUILD_DIR = db
|
|
DB_DEVEL_BUILD_DIR = $(DB_BUILD_DIR)/$(DEVEL_BUILD_DIR)
|
|
DB_DEVEL_ROOT_DIR = $(DEVEL_BUILD_DIR)/db
|
|
DB_PROD_BUILD_DIR = $(DB_BUILD_DIR)/$(PROD_BUILD_DIR)
|
|
DB_PROD_ROOT_DIR = $(PROD_BUILD_DIR)/db
|
|
|
|
devel: frontend api templates db devel-copy
|
|
|
|
prod: frontend api templates db prod-copy
|
|
|
|
# TODO: This can probably be written better: instead of explicitly defining
|
|
# each target subdirectory, define them at the top and automatically do stuff.
|
|
|
|
.PHONY: frontend
|
|
frontend:
|
|
cd frontend && $(MAKE) $(MAKECMDGOALS)
|
|
|
|
.PHONY: api
|
|
api:
|
|
cd api && $(MAKE) $(MAKECMDGOALS)
|
|
|
|
.PHONY: templates
|
|
templates:
|
|
cd templates && $(MAKE) $(MAKECMDGOALS)
|
|
|
|
.PHONY: db
|
|
db:
|
|
cd db && $(MAKE) $(MAKECMDGOALS)
|
|
|
|
devel-copy: devel-copy-frontend devel-copy-api devel-copy-templates devel-copy-db
|
|
|
|
prod-copy: prod-copy-frontend prod-copy-api prod-copy-templates prod-copy-db
|
|
|
|
devel-copy-frontend:
|
|
cp -r $(FRONTEND_DEVEL_BUILD_DIR)/* $(FRONTEND_DEVEL_ROOT_DIR)
|
|
|
|
devel-copy-api:
|
|
cp -r $(API_DEVEL_BUILD_DIR)/* $(API_DEVEL_ROOT_DIR)
|
|
|
|
devel-copy-templates:
|
|
cp -r $(TEMPLATES_DEVEL_BUILD_DIR)/* $(TEMPLATES_DEVEL_ROOT_DIR)
|
|
|
|
devel-copy-db:
|
|
cp -r $(DB_DEVEL_BUILD_DIR)/* $(DB_DEVEL_ROOT_DIR)
|
|
|
|
prod-copy-frontend:
|
|
cp -r $(FRONTEND_PROD_BUILD_DIR)/* $(FRONTEND_PROD_ROOT_DIR)
|
|
|
|
prod-copy-api:
|
|
cp -r $(API_PROD_BUILD_DIR)/* $(API_PROD_ROOT_DIR)
|
|
|
|
prod-copy-templates:
|
|
cp -r $(TEMPLATES_PROD_BUILD_DIR)/* $(TEMPLATES_PROD_ROOT_DIR)
|
|
|
|
prod-copy-db:
|
|
cp -r $(DB_PROD_BUILD_DIR)/* $(DB_PROD_ROOT_DIR)
|
|
|
|
clean: clean-root clean-frontend clean-api clean-templates clean-db
|
|
|
|
clean-root:
|
|
rm -rf build
|
|
|
|
clean-frontend:
|
|
cd frontend && $(MAKE) $(MAKECMDGOALS)
|
|
|
|
clean-api:
|
|
cd api && $(MAKE) $(MAKECMDGOALS)
|
|
|
|
clean-templates:
|
|
cd templates && $(MAKE) $(MAKECMDGOALS)
|
|
|
|
clean-db:
|
|
cd db && $(MAKE) $(MAKECMDGOALS)
|
|
|
|
$(shell mkdir -p $(FRONTEND_DEVEL_ROOT_DIR) $(API_DEVEL_ROOT_DIR) $(TEMPLATES_DEVEL_ROOT_DIR) $(FRONTEND_PROD_ROOT_DIR) $(API_PROD_ROOT_DIR) $(TEMPLATES_DEVEL_ROOT_DIR))
|