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: help:
@echo "Nothing to see here, go away" @echo "Nothing to see here, go away"
.PHONY: all
all:
@echo "TODO"
.PHONY: build .PHONY: build
build: frontend-build backend-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 #.PHONY: start
#start: frontend-build #start: frontend-build
# $(MAKE) --jobs=2 frontend-watch backend-start # $(MAKE) --jobs=2 frontend-watch backend-start
@ -20,13 +37,13 @@ test: frontend-test backend-test i18n-check
# TODO: dockerify # TODO: dockerify
.PHONY: backend-% .PHONY: backend-%
backend-%: backend-%: --backend-%-dev
$(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?
@ -35,15 +52,15 @@ 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-%-dev: --backend-%
$(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-%-prod: --backend-%
$(MAKE) -- --backend-$* @:
.PHONY: --backend-build .PHONY: --backend-build
--backend-build: --backend-build:
@ -78,8 +95,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:
@ -157,6 +174,6 @@ 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-%: --dockerized-%:
docker build --rm -t $(FRADRIVE_DOCKERFILE) ./docker/$(FRADRIVE_DOCKERFILE) 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) docker run --rm -it -v .:/fradrive --user `id -u`:`id -g` --env FRADRIVE_MAKE_TARGET=$* $(FRADRIVE_DOCKERFILE)