fishtank/Makefile
2024-06-09 20:55:48 +02:00

71 lines
2.0 KiB
Makefile

help:
@echo "Options:"
@echo "\tmake pdf"
@echo "\tmake creature"
@echo "\tmake show"
@echo "\tmake check (to check your dependencies)"
@echo "\tmake install-godot"
@echo "\tmake uninstall-godot"
.PHONY: pdf
pdf: overview.pdf
.PHONY: check
check:
@which lowdown >/dev/null || echo 'install lowdown (optional)'
@which git-lfs >/dev/null || echo 'install git-lfs'
@which pdflatex >/dev/null || echo 'install pdflatex (optional)'
@which less >/dev/null || echo 'install less (you absolute cave-man)'
@godot --version | grep -q '4.2' || echo 'install godot version 4.2'
rubbish/:
mkdir rubbish
RANDOM != date +%s
TMP := /tmp/$(RANDOM).md
NAME := $(shell head -1 $(TMP) 2>/dev/null| tail -c+3)
.PHONY: creature
creature: stats/$(NAME).md
$(TMP):
cp stats/template.md $(TMP)
$$EDITOR $(TMP)
stats/$(NAME).md: $(TMP)
mv $(TMP) stats/$(NAME).md
overview.pdf:| rubbish/overview.pdf
ln rubbish/overview.pdf overview.pdf
rubbish/overview.pdf: overview.tex
overview.tex: overview.md | rubbish/
lowdown -stlatex -m shiftheadinglevelby=1 overview.md > overview.tex
rubbish/overview.pdf: overview.tex
pdflatex -output-directory rubbish/ overview.tex
COLLECTION := /tmp/collection.md
.PHONY: show
show: $(COLLECTION)
$(COLLECTION): overview.md World
@./parse.sh overview.md > $(COLLECTION)
@./parse.sh World/Players_are_Entropy.md >> $(COLLECTION)
@./parse.sh Mechanics/Minds.md >> $(COLLECTION)
@./parse.sh Mechanics/Stats.md >> $(COLLECTION)
@lowdown -sTterm $(COLLECTION) | less -R
install-godot: Godot_v4.2.2-stable_linux.x86_64
install -m 755 Godot_v4.2.2-stable_linux.x86_64 /usr/local/bin/godot
rm Godot_v4.2.2-stable_linux.x86_64.zip
rm Godot_v4.2.2-stable_linux.x86_64
Godot_v4.2.2-stable_linux.x86_64:
wget https://github.com/godotengine/godot/releases/download/4.2.2-stable/Godot_v4.2.2-stable_linux.x86_64.zip
unzip Godot_v4.2.2-stable_linux.x86_64.zip
.PHONY: uninstall-godot
uninstall-godot:
rm /usr/local/bin/godot
.PHONY: clean
clean:
$(RM) -r rubbish overview.tex $(COLLECTION)