Makefile
# 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 {} \+