chore(Makefile): add dockerized target wrapper; fix cleanup

This commit is contained in:
Sarah Vaupel 2024-08-18 03:05:39 +02:00
parent 551424732c
commit fcc65696d6

View File

@ -20,11 +20,13 @@ test: frontend-test backend-test i18n-check
# TODO: dockerify # TODO: dockerify
.PHONY: backend-% .PHONY: backend-%
backend-%: --backend-$*-dev backend-%:
$(MAKE) -- --backend-$*-dev
# TODO: dockerify # TODO: dockerify
.PHONY: backend-%-prod # TODO deprecated in favor of bins; remove .PHONY: backend-%-prod # TODO deprecated in favor of bins; remove
backend-%-prod: --backend-$*-prod backend-%-prod:
$(MAKE) -- --backend-$*-prod
# TODO: dockerify # TODO: dockerify
# TODO: this creates more binaries than just bin/uniworx as side effect! Document or change behaviour? # TODO: this creates more binaries than just bin/uniworx as side effect! Document or change behaviour?
@ -34,12 +36,14 @@ bin/uniworxdev: --backend-build-dev
# TODO replace with bin/uniworxdev # TODO replace with bin/uniworxdev
.PHONY: --backend-%-dev .PHONY: --backend-%-dev
--backend-%-dev: stackopts="--flag uniworx:dev" --backend-%-dev: stackopts="--flag uniworx:dev"
--backend-%-dev: --backend-$* --backend-%-dev:
$(MAKE) -- --backend-$*
# TODO deprecated in favor of binary targets # TODO deprecated in favor of binary targets
.PHONY: --backend-%-prod .PHONY: --backend-%-prod
--backend-%-prod: stackopts="--flag uniworx:-dev" --backend-%-prod: stackopts="--flag uniworx:-dev"
--backend-%-prod: --backend-$* --backend-%-prod:
$(MAKE) -- --backend-$*
.PHONY: --backend-build .PHONY: --backend-build
--backend-build: --backend-build:
@ -74,7 +78,8 @@ bin/uniworxdb: .stack-work.lock
.PHONY: frontend-% .PHONY: frontend-%
frontend-%: node_modules well-known frontend-%: node_modules well-known
frontend-%: --frontend-$* frontend-%:
$(MAKE) -- --frontend-$*
.PHONY: --frontend-build .PHONY: --frontend-build
--frontend-build: --frontend-build:
@ -151,3 +156,7 @@ clean:
# #
# start: frontend-build frontend-build-watch yesod-start # start: frontend-build frontend-build-watch yesod-start
# run-s frontend:build --parallel "frontend:build:watch" "yesod:start" # run-s frontend:build --parallel "frontend:build:watch" "yesod:start"
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)