TMUX_SESSION=knowyt VERSION=v$(shell grep version client/package.json | cut -d\" -f4) .PHONY: info run-all run-server run-client run-tmux build docker clean info: @echo available targets: @perl -ne 'm/^([\w\-]+):/ && print(" $$1\n");' Makefile setup: @echo "I checking for tools" @for binary in go tmux node yarn npx podman; do \ echo -n " $$binary: " ; \ if ! which "$$binary"; then \ echo "not found" ;\ exit 1 ;\ fi ;\ done @echo "I installing client dependencies" ( cd client && yarn install ) @echo "I installing server dependencies" ( cd server/src/ && go mod tidy ) @echo "I create client output directory" mkdir -p client/.output/public/ run-all: pexec -R -c -e TARGET \ -r run-client \ -r run-server \ -- $(MAKE) '$$TARGET' run-tmux: tmux start-server -tmux kill-session -t "$(TMUX_SESSION)" tmux new-session -d -s "$(TMUX_SESSION)" tmux send-keys "make run-client" C-m tmux splitw -v -l 5 tmux send-keys "make run-server" C-m tmux attach-session -t "$(TMUX_SESSION)" run-client: (cd client/ && yarn dev) run-server: $(MAKE) -C server run-loop build: echo $(VERSION) (cd client/ && yarn generate) $(MAKE) -C server build $(MAKE) -C docker build save VERSION="$(VERSION)" docker-run: $(MAKE) -C docker run run-standalone: $(MAKE) -C server run-standalone clean: rm -rf client/.output/ rm -rf client/.nuxt/ $(MAKE) -C server clean