It also includes scripts for formating Lisp code for people who will read Lisp code directly. It doesn't cost us much to organize the Lisp output a bit. In a similar spirit, I'm not including NOWEB as part of the build process. (Most users will not have NOWEB around to use it.) So while the Makefile is pretty short because there's little to do, Anyfile is the ANYWEB makefile. ANYWEB is my modified, personal version of NOWEB for Windows. (The way I use this second makefile is to make a shell alias called /amake/ that automatically invokes ``make -f Anyfile'' for me.)
67 lines
2.2 KiB
Makefile
67 lines
2.2 KiB
Makefile
# -*- mode: makefile -*-
|
|
include Makefile
|
|
|
|
default: all
|
|
|
|
all: loop.exe loop.lisp loop.asd scripts/build-exe.lisp \
|
|
scripts/build-index-from-fs.lisp \
|
|
scripts/cron-remove-inactive-users.lisp \
|
|
scripts/migrate-add-creation-date.lisp
|
|
|
|
loop.exe: scripts/build-exe.lisp loop.lisp loop.asd
|
|
sbcl --script scripts/build-exe.lisp
|
|
(test -f loop.exe && cmp loop loop.exe) || cp loop loop.exe
|
|
|
|
loop.lisp: loop.nw
|
|
./make-release $$(git log --oneline | head -1 | awk '{print $$1}') \
|
|
loop.nw > loop.tmp && mv loop.tmp loop.nw
|
|
(any tangle -Rloop.lisp < loop.nw | sh format-def | \
|
|
dos2unix > loop.tmp || \
|
|
(rm loop.tmp && exit 1)) && \
|
|
mv loop.tmp loop.lisp
|
|
|
|
loop.asd: loop.nw
|
|
(any tangle -Rloop.asd < loop.nw | dos2unix > loop-asd.tmp || \
|
|
(rm loop-asd.tmp && exit 1)) && \
|
|
mv loop-asd.tmp loop.asd
|
|
|
|
scripts/build-exe.lisp: loop.asd loop.lisp loop.nw
|
|
(any tangle -Rbuild-exe.lisp < loop.nw | dos2unix > build-exe.tmp || \
|
|
(rm build-exe.tmp && exit 1)) && \
|
|
mv build-exe.tmp scripts/build-exe.lisp
|
|
|
|
scripts/build-index-from-fs.lisp: loop.nw
|
|
(any tangle -Rbuild-index-from-fs.lisp < loop.nw | dos2unix > \
|
|
build-index-from-fs.tmp || \
|
|
(rm build-index-from-fs.tmp && exit 1)) && \
|
|
mv build-index-from-fs.tmp scripts/build-index-from-fs.lisp
|
|
|
|
scripts/cron-remove-inactive-users.lisp: loop.nw
|
|
(any tangle -Rcron-remove-inactive-users.lisp < loop.nw | dos2unix > \
|
|
cron-remove-inactive-users.tmp || \
|
|
(rm cron-remove-inactive-users.tmp && exit 1)) && \
|
|
mv cron-remove-inactive-users.tmp \
|
|
scripts/cron-remove-inactive-users.lisp
|
|
|
|
scripts/migrate-add-creation-date.lisp: loop.nw
|
|
(any tangle -Rmigrate-add-creation-date.lisp < loop.nw | dos2unix > \
|
|
migrate-add-creation-date.tmp || \
|
|
(rm migrate-add-creation-date.tmp && exit 1)) && \
|
|
mv migrate-add-creation-date.tmp \
|
|
scripts/migrate-add-creation-date.lisp
|
|
|
|
run: loop.nw
|
|
(any tangle -Rrun < loop.nw | dos2unix > run.tmp || \
|
|
(rm run.tmp && exit 1)) && \
|
|
mv run.tmp run && \
|
|
chmod 0755 run
|
|
|
|
loop.tex: loop.nw
|
|
any weave -delay -index loop.nw | dos2unix > loop.tex
|
|
|
|
loop.pdf: loop.tex
|
|
latexmk -pdf loop
|
|
|
|
clean:
|
|
rm -f loop loop.exe loop.asd loop.lisp loop.tex loop.pdf \
|
|
*.fasl *.db .*~ *~ *.out *.aux *.log *.fls *.fdb_latexmk
|