Files
cl-xdg-trash/clash/Makefile
T
Zander671 480f26d6d7
Build Clash / build (push) Successful in 34s
Fix Makefile
2026-08-17 17:19:32 -07:00

59 lines
1.6 KiB
Makefile

LISP=sbcl
PREFIX=${HOME}/.local
REAL_PREFIX=$(PREFIX)
override SRCS=clash.asd format.lisp parse-date.lisp clash.lisp
override LOAD_CLASH=--eval "(ql:quickload '(:cl-ppcre :clingon :local-time :uiop :trivial-features :osicat))" \
--eval '(require "asdf")' \
--eval '(asdf:load-asd (merge-pathnames "../cl-xdg-trash/cl-xdg-trash.asd" (uiop:getcwd)))' \
--eval '(asdf:load-asd (merge-pathnames "clash.asd" (uiop:getcwd)))' \
--eval '(asdf:load-system :clash)'
all: clash clash.1
clash: $(SRCS)
$(LISP) $(LOAD_CLASH) \
--eval '(asdf:make :clash)' \
--eval '(uiop:quit)'
clash.md: $(SRCS)
$(LISP) $(LOAD_CLASH) \
--eval '(clash:make-markdown-doc)' \
--eval '(uiop:quit)' \
-- clash.md
clash.1: clash.md
go-md2man <clash.md >clash.1
install: clash clash.1
install -D clash $(PREFIX)/bin/clash
install -m0644 -D clash.1 $(PREFIX)/share/man/man1/clash.1
override DEPLOY_OUTPUT=bin/clash bin/libosicat.so bin/librt.so.1
deploy-build: $(DEPLOY_OUTPUT)
$(DEPLOY_OUTPUT): $(SRCS)
$(LISP) --eval '(push :deploy-console *features*)' \
$(LOAD_CLASH) \
--eval '(ql:quickload :deploy)' \
--eval "(asdf:operate 'deploy:deploy-op :clash)" \
--eval '(uiop:quit)'
deploy-install: deploy-build clash.1
mkdir -p "$(PREFIX)/lib/clash/"
cp $(DEPLOY_OUTPUT) "$(PREFIX)/lib/clash/"
mkdir -p "$(PREFIX)/bin/"
printf '#!/bin/sh\nexec "$(REAL_PREFIX)/lib/clash/clash" "$${@}"\n' \
>"$(PREFIX)/bin/clash"
chmod 0755 "$(PREFIX)/bin/clash"
mkdir -p "$(PREFIX)/share/man/man1/"
cp clash.1 "$(PREFIX)/share/man/man1/"
clean:
rm -f clash clash.md clash.1
rm -rf bin/
.PHONY: all deploy-build deploy-install clean