chore(Makefile): add dockerized frontend and backend wrapper targets

This commit is contained in:
Sarah Vaupel 2024-08-18 04:09:22 +02:00
parent 255fa196d5
commit 6bbc2665f9

View File

@ -5,9 +5,26 @@ dockerized ?= 1
help:
@echo "Nothing to see here, go away"
.PHONY: all
all:
@echo "TODO"
.PHONY: build
build: frontend-build backend-build
.PHONY: dockerized-build
dockerized-build: dockerized-frontend-build dockerized-backend-build
.PHONY: dockerized-frontend-%
dockerized-frontend-%: FRADRIVE_DOCKERFILE=frontend
dockerized-frontend-%: --dockerized-frontend-%
@:
.PHONY: dockerized-backend-%
dockerized-backend-%: FRADRIVE_DOCKERFILE=backend
dockerized-backend-%: --dockerized-backend-%
@:
#.PHONY: start
#start: frontend-build
# $(MAKE) --jobs=2 frontend-watch backend-start
@ -20,13 +37,13 @@ test: frontend-test backend-test i18n-check
# TODO: dockerify
.PHONY: backend-%
backend-%:
$(MAKE) -- --backend-$*-dev
backend-%: --backend-%-dev
@:
# TODO: dockerify
.PHONY: backend-%-prod # TODO deprecated in favor of bins; remove
backend-%-prod:
$(MAKE) -- --backend-$*-prod
backend-%-prod: --backend-%-prod
@:
# TODO: dockerify
# TODO: this creates more binaries than just bin/uniworx as side effect! Document or change behaviour?
@ -35,15 +52,15 @@ bin/uniworxdev: --backend-build-dev
# TODO replace with bin/uniworxdev
.PHONY: --backend-%-dev
--backend-%-dev: stackopts="--flag uniworx:dev"
--backend-%-dev:
$(MAKE) -- --backend-$*
--backend-%-dev: stackopts=--flag uniworx:dev
--backend-%-dev: --backend-%
@:
# TODO deprecated in favor of binary targets
.PHONY: --backend-%-prod
--backend-%-prod: stackopts="--flag uniworx:-dev"
--backend-%-prod:
$(MAKE) -- --backend-$*
--backend-%-prod: stackopts=--flag uniworx:-dev
--backend-%-prod: --backend-%
@:
.PHONY: --backend-build
--backend-build:
@ -78,8 +95,8 @@ bin/uniworxdb: .stack-work.lock
.PHONY: frontend-%
frontend-%: node_modules well-known
frontend-%:
$(MAKE) -- --frontend-$*
frontend-%: --frontend-%
@:
.PHONY: --frontend-build
--frontend-build:
@ -157,6 +174,6 @@ clean:
# start: frontend-build frontend-build-watch yesod-start
# run-s frontend:build --parallel "frontend:build:watch" "yesod:start"
dockerized-%:
--dockerized-%:
docker build --rm -t $(FRADRIVE_DOCKERFILE) ./docker/$(FRADRIVE_DOCKERFILE)
docker run --rm -it -v .:/fradrive --user `id -u`:`id -g` --env FRADRIVE_MAKE_TARGET=$* $(FRADRIVE_DOCKERFILE)