Makefile

DOWNLOAD
# DB settings. Replace if yours differ.
MURJA_DB_USER = "blogadmin"
MURJA_DB = "blogdb"
MURJA_DB_PASSWORD = "blog"
MURJA_DB_HOST = "localhost"
MURJA_DB_PORT = 5432

REPL_PORT=4005
APP_PORT=3000

SHELL=/bin/bash
SRC_FILES := $(shell find . -name \*.lisp)

murja: $(SRC_FILES)
	./bin/build.sh

/opt/murja/murja: murja
	cp murja /opt/murja/

# service magic

# feuerx-upcloud% systemctl show --property=UnitPath
# UnitPath=/etc/systemd/system.control /run/systemd/system.control /run/systemd/transie>

/usr/lib/systemd/system/Murja.service: systemd/murja.service
	cp systemd/murja.service /usr/lib/systemd/system/Murja.service
	systemctl daemon-reload

# the install job

.PHONY: install
install: murja
	systemctl stop Murja
	./bin/install.sh
	# one can't `make` inside ./bin/install.sh
	$(MAKE) /opt/murja/murja
	$(MAKE) /usr/lib/systemd/system/Murja.service
	chown -R murja:murja /opt/murja/
	systemctl start Murja

# devtime stuff

.PHONY: repl 
repl:				## Sets up the repl and starts the app
	@(export APP_PORT=$(APP_PORT) && export MURJA_DB_HOST=$(MURJA_DB_HOST) && export MURJA_DB_PORT=$(MURJA_DB_PORT) && export MURJA_DB_USER=$(MURJA_DB_USER) && export MURJA_DB=$(MURJA_DB) && export MURJA_DB_PASSWORD=$(MURJA_DB_PASSWORD) && export MURJA_DB_PORT=$(MURJA_DB_PORT) && sbcl --dynamic-space-size 4096 --load aggressive-murja.asd --eval "(ql:quickload :aggressive-murja)" --eval "(swank:create-server :port $(REPL_PORT) :dont-close t)" --eval "(cl-user::run)")

.PHONY: run
run: 				## Runs the app without repl
	@(export APP_PORT=$(APP_PORT) && export MURJA_DB_PORT=$(MURJA_DB_PORT) && export MURJA_DB_USER=$(MURJA_DB_USER) && export MURJA_DB=$(MURJA_DB) && export MURJA_DB_PASSWORD=$(MURJA_DB_PASSWORD) && export MURJA_DB_PORT=$(MURJA_DB_PORT) && sbcl --load aggressive-murja.asd --eval "(ql:quickload :aggressive-murja)" --eval "(cl-user::run)")

.PHONY: clean
clean: 				## Deletes all the fasl droppings
	find . -name '*.fasl' -delete
	find . -name '*.lisp' -exec touch {} \+