52 lines
1.3 KiB
Makefile
52 lines
1.3 KiB
Makefile
LISP=sbcl
|
|
|
|
PREFIX=~/.local
|
|
|
|
override SRCS=clash.asd format.lisp parse-date.lisp clash.lisp
|
|
override LOAD_CLASH=--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 '(ql:quickload :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
|
|
mkdir -m 0755 -p $(PREFIX)/bin $(PREFIX)/lib
|
|
cp -R bin $(PREFIX)/lib/clash
|
|
ln -s ../lib/clash/clash $(PREFIX)/bin/clash
|
|
|
|
clean:
|
|
rm -f clash clash.md clash.1
|
|
rm -rf bin/
|
|
|
|
.PHONY: all deploy-build deploy-install clean
|