PROJECT_VERSION :=$(shell echo `git describe --long --tags | sed -e "s/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g"`) DUB=dub DUB_FLAGS=-v --force --compiler= PRG_NAME=sdp PRG_SRC=$(PRG_NAME).d PRG_SRCDIR=./src PRG_BIN=$(PRG_NAME) PRG_BINDIR=./bin PRG_DOCDIR=./docs EMACSLISP=/usr/share/emacs/site-lisp ORG_VER_AVAILABLE=$(shell echo `ls -d ~/.emacs.d/elpa/org-???????? | cut -d '-' -f2`) EMACSLISP_ORG=~/.emacs.d/elpa/org-$($(shell echo $(ORG_VER_AVAILABLE))) ORG_CONTRIB_VER_AVAILABLE=$(shell echo `ls -d ~/.emacs.d/elpa/org-plus-???????? | cut -d '-' -f2`) EMACSLISP_ORG_CONTRIB=~/.emacs.d/elpa/org-plus-contrib-$($(shell echo $(ORG_CONTRIB_VER_AVAILABLE))) ORGFILELIST=$(shell echo `ls -1 maker.org org/*.org`) ORGFILES="" ORGDIR :=$(shell echo `pwd`) SiSU_MARKUP_SAMPLES_FIND_PODS= \ find data/sisupod -maxdepth 2 -name sisupod.manifest | cut -f 1-3 -d / | sort SiSU_MARKUP_SAMPLES_PODS_FOUND= \ $(SiSU_MARKUP_SAMPLES_FIND_PODS) | xargs SiSU_MARKUP_SAMPLES_POD = \ data/sisupod/accelerando.charles_stross \ data/sisupod/alices_adventures_in_wonderland.lewis_carroll \ data/sisupod/content.cory_doctorow \ data/sisupod/democratizing_innovation.eric_von_hippel \ data/sisupod/down_and_out_in_the_magic_kingdom.cory_doctorow \ data/sisupod/for_the_win.cory_doctorow \ data/sisupod/free_as_in_freedom_2.richard_stallman_and_the_free_software_revolution.sam_williams.richard_stallman \ data/sisupod/free_culture.lawrence_lessig \ data/sisupod/free_for_all.peter_wayner \ data/sisupod/gpl2.fsf \ data/sisupod/gpl3.fsf \ data/sisupod/gullivers_travels.jonathan_swift \ data/sisupod/little_brother.cory_doctorow \ data/sisupod/live-manual \ data/sisupod/sisu-manual \ data/sisupod/the_autonomous_contract.ralph_amissah \ data/sisupod/the_cathedral_and_the_bazaar.eric_s_raymond \ data/sisupod/the_public_domain.james_boyle \ data/sisupod/the_wealth_of_networks.yochai_benkler \ data/sisupod/through_the_looking_glass.lewis_carroll \ data/sisupod/two_bits.christopher_kelty \ data/sisupod/un_contracts_international_sale_of_goods_convention_1980 \ data/sisupod/viral_spiral.david_bollier SiSU_MARKUP_SAMPLES_DIR_FILES_FOUND = \ find data/sisudir/media/text -name *.ss[tm] | sort | xargs SiSU_MARKUP_SAMPLES_DIR = \ data/sisudir/media/text/accelerando.charles_stross.sst \ data/sisudir/media/text/alices_adventures_in_wonderland.lewis_carroll.sst \ data/sisudir/media/text/content.cory_doctorow.sst \ data/sisudir/media/text/democratizing_innovation.eric_von_hippel.sst \ data/sisudir/media/text/down_and_out_in_the_magic_kingdom.cory_doctorow.sst \ data/sisudir/media/text/ffa_tmp.sst \ data/sisudir/media/text/for_the_win.cory_doctorow.sst \ data/sisudir/media/text/free_as_in_freedom_2.richard_stallman_and_the_free_software_revolution.sam_williams.richard_stallman.sst \ data/sisudir/media/text/free_culture.lawrence_lessig.sst \ data/sisudir/media/text/free_for_all.peter_wayner.sst \ data/sisudir/media/text/gpl2.fsf.sst \ data/sisudir/media/text/gpl3.fsf.sst \ data/sisudir/media/text/gullivers_travels.jonathan_swift.sst \ data/sisudir/media/text/little_brother.cory_doctorow.sst \ data/sisudir/media/text/sisu_markup.sst \ data/sisudir/media/text/sisu_markup_stress_test.sst \ data/sisudir/media/text/sisu_markup_test.sst \ data/sisudir/media/text/table_special_markup.sst \ data/sisudir/media/text/the_autonomous_contract.ralph_amissah.sst \ data/sisudir/media/text/the_cathedral_and_the_bazaar.eric_s_raymond.sst \ data/sisudir/media/text/the_public_domain.james_boyle.sst \ data/sisudir/media/text/the_wealth_of_networks.yochai_benkler.sst \ data/sisudir/media/text/through_the_looking_glass.lewis_carroll.sst \ data/sisudir/media/text/two_bits.christopher_kelty.sst \ data/sisudir/media/text/un_contracts_international_sale_of_goods_convention_1980.sst \ data/sisudir/media/text/viral_spiral.david_bollier.sst markup_samples: find data/sisupod -name sisupod.manifest | cut -f 1-3 -d / | sort; \ find data/sisudir/media/text -name *.ss[tm] | sort markup_pod_samples: find data/sisupod -name sisupod.manifest | cut -f 1-3 -d / | sort markup_dir_samples: find data/sisudir/media/text -name *.ss[tm] | sort all: dmd ldc gdc all_ver: dmd_ver ldc_ver gdc_ver all_debug: dmd_debug gdc_debug ldc_debug all_clean: clean tangle dmd ldc gdc all_ver_clean: clean tangle dmd_ver ldc_ver gdc_ver all_debug_ver: dmd_debug_ver gdc_debug_ver ldc_debug_ver all_debug_clean_ver: clean tangle dmd_debug_ver gdc_debug_ver ldc_debug_ver dmd: $(DUB) --compiler=dmd --config=sdp-dmd dmd_ver: $(DUB) --compiler=dmd --config=sdp-dmd-version mv bin/sdp-dmd-ver bin/sdp-dmd-$(PROJECT_VERSION) notify-send -t 0 'D dmd compiled test release executable ready' 'sdp-dmd-$(PROJECT_VERSION)' dmd_clean_ver: clean tangle dmd_ver dmd_debug: $(DUB) --compiler=dmd --config=sdp-dmd-debug dmd_rel: expunge skel tangle $(DUB) --compiler=dmd --config=sdp-release dmd_rel_tangle: tangle $(DUB) --compiler=dmd --config=sdp-dmd dmd_rel_expunge_tangle: expunge skel tangle dmd_rel_tangle dmd_debug_tangle: tangle $(DUB) --compiler=dmd --config=sdp-dmd-debug gdc: $(DUB) --compiler=gdc --config=sdp-gdc gdc_ver: $(DUB) --compiler=gdc --config=sdp-gdc-version mv bin/sdp-gdc-ver bin/sdp-gdc-$(PROJECT_VERSION) notify-send -t 0 'D gdc compiled test release executable ready' 'sdp-gdc-$(PROJECT_VERSION)' gdc_clean_ver: clean tangle gdc_ver gdc_debug: $(DUB) --compiler=gdc --config=sdp-gdc-debug gdc_rel: expunge skel tangle $(DUB) --compiler=gdc --config=sdp-release gdc_rel_tangle: tangle $(DUB) --compiler=gdc --config=sdp-gdc gdc_rel_expunge_tangle: expunge skel tangle gdc_rel_tangle gdc_debug_tangle: tangle $(DUB) --compiler=gdc --config=sdp-gdc-debug ldc: $(DUB) --compiler=ldc2 --config=sdp-ldc ldc_ver: $(DUB) --compiler=ldc2 --config=sdp-ldc-version mv bin/sdp-ldc-ver bin/sdp-ldc-$(PROJECT_VERSION) notify-send -t 0 'D ldc2 compiled test release executable ready' 'sdp-ldc-$(PROJECT_VERSION)' ldc_clean_ver: clean tangle ldc_ver ldc_debug: $(DUB) --compiler=ldc2 --config=sdp-ldc-debug ldc_rel: expunge skel tangle $(DUB) --compiler=ldc2 --config=sdp-release ldc_rel_tangle: tangle $(DUB) --compiler=ldc2 --config=sdp-ldc ldc_rel_expunge_tangle: expunge skel tangle ldc_rel_tangle ldc_debug_tangle: tangle $(DUB) --compiler=ldc2 --config=sdp-ldc-debug skel: mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/meta; \ mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/conf; \ mkdir -p $(PRG_SRCDIR)/$(PRG_NAME)/output; \ mkdir -p $(PRG_SRCDIR)/$(PRG_NAME); \ mkdir -p $(PRG_BINDIR); init: skel clean: rm -rf $(PRG_SRCDIR); \ rm -rf $(PRG_DOCDIR); clean_bin: rm $(PRG_BINDIR)/* clean_src: rm -rf $(PRG_SRCDIR); clean_docs: rm -rf $(PRG_DOCDIR) expunge: rm -f dub.selections.json; \ rm -rf $(PRG_SRCDIR); \ rm -rf $(PRG_BINDIR); \ rm -rf $(PRG_DOCDIR); distclean: expunge distclean_and_init: expunge mkdir -p $(PRG_SRCDIR)/$(PRG_NAME); \ mkdir -p $(PRG_BINDIR); ver: echo sdp-$(PROJECT_VERSION) clean_tangle_build: clean tangle build tangle_build: tangle build build: $(PRG_SRCDIR)/$(PRG_SRC) $(DC) $(DC_FLAGS) \ $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \ $(PRG_SRCDIR)/$(PRG_SRC) rebuild: $(PRG_SRCDIR)/$(PRG_SRC) $(PRG_BINDIR)/$(PRG_BIN).o clean build makefile_new: make -k tangle_maker restart: clean tangle ragga: reggae -b binary reggae -b ninja build find_pods: $(SiSU_MARKUP_SAMPLES_FIND_PODS) dmd_testrun_find: ./bin/sdp-dmd -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_pod \ data/sisupod/sisu-manual dmd_testrun_find_pod_source: $(SiSU_MARKUP_SAMPLES_PODS_FOUND) \ ./bin/sdp-ldc -v --source --html --epub \ --output-dir=tmp/program_output_pod dmd_testrun_find_pod_sisupod: $(SiSU_MARKUP_SAMPLES_PODS_FOUND) \ ./bin/sdp-dmd -v --sisupod \ --output-dir=tmp/program_output_pod dmd_testrun_find_pod_html: $(SiSU_MARKUP_SAMPLES_PODS_FOUND) \ ./bin/sdp-dmd -v --html \ --output-dir=tmp/program_output_pod dmd_testrun_find_pod_epub: $(SiSU_MARKUP_SAMPLES_PODS_FOUND) \ ./bin/sdp-dmd -v --epub \ --output-dir=tmp/program_output_pod dmd_testrun_find_pod_all: $(SiSU_MARKUP_SAMPLES_PODS_FOUND) \ ./bin/sdp-dmd -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_pod dmd_testrun_paths_pod_source: ./bin/sdp-dmd -v --source \ --output-dir=tmp/program_output_pod \ $(SiSU_MARKUP_SAMPLES_POD) dmd_testrun_paths_pod_sisupod: ./bin/sdp-dmd -v --sisupod \ --output-dir=tmp/program_output_pod \ $(SiSU_MARKUP_SAMPLES_POD) dmd_testrun_paths_pod_html: ./bin/sdp-dmd -v --html \ --output-dir=tmp/program_output_pod \ $(SiSU_MARKUP_SAMPLES_POD) dmd_testrun_paths_pod_epub: ./bin/sdp-dmd -v --epub \ --output-dir=tmp/program_output_pod \ $(SiSU_MARKUP_SAMPLES_POD) dmd_testrun_paths_pod_all: ./bin/sdp-dmd -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_pod \ $(SiSU_MARKUP_SAMPLES_POD) gdc_testrun_find: ./bin/sdp-gdc -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_pod \ data/sisupod/sisu-manual gdc_testrun_find_pod_source: $(SiSU_MARKUP_SAMPLES_PODS_FOUND) \ ./bin/sdp-gdc -v --source \ --output-dir=tmp/program_output_pod gdc_testrun_find_pod_sisupod: $(SiSU_MARKUP_SAMPLES_PODS_FOUND) \ ./bin/sdp-gdc -v --sisupod \ --output-dir=tmp/program_output_pod gdc_testrun_find_pod_html: $(SiSU_MARKUP_SAMPLES_PODS_FOUND) \ ./bin/sdp-gdc -v --html \ --output-dir=tmp/program_output_pod gdc_testrun_find_pod_epub: $(SiSU_MARKUP_SAMPLES_PODS_FOUND) \ ./bin/sdp-gdc -v --epub \ --output-dir=tmp/program_output_pod gdc_testrun_find_pod_all: $(SiSU_MARKUP_SAMPLES_PODS_FOUND) \ ./bin/sdp-gdc -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_pod gdc_testrun_paths: ./bin/sdp-gdc -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_pod \ data/sisupod/sisu-manual gdc_testrun_paths_pod_source: ./bin/sdp-gdc -v --source \ --output-dir=tmp/program_output_pod \ $(SiSU_MARKUP_SAMPLES_POD) gdc_testrun_paths_pod_sisupod: ./bin/sdp-gdc -v --sisupod \ --output-dir=tmp/program_output_pod \ $(SiSU_MARKUP_SAMPLES_POD) gdc_testrun_paths_pod_html: ./bin/sdp-gdc -v --html \ --output-dir=tmp/program_output_pod \ $(SiSU_MARKUP_SAMPLES_POD) gdc_testrun_paths_pod_epub: ./bin/sdp-gdc -v --epub \ --output-dir=tmp/program_output_pod \ $(SiSU_MARKUP_SAMPLES_POD) gdc_testrun_paths_pod_all: ./bin/sdp-gdc -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_pod \ $(SiSU_MARKUP_SAMPLES_POD) ldc_testrun_find: ./bin/sdp-ldc -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_pod \ data/sisupod/sisu-manual ldc_testrun_find_pod_source: $(SiSU_MARKUP_SAMPLES_PODS_FOUND) \ ./bin/sdp-ldc -v --source \ --output-dir=tmp/program_output_pod ldc_testrun_find_pod_sisupod: $(SiSU_MARKUP_SAMPLES_PODS_FOUND) \ ./bin/sdp-ldc -v --sisupod \ --output-dir=tmp/program_output_pod ldc_testrun_find_pod_html: $(SiSU_MARKUP_SAMPLES_PODS_FOUND) \ ./bin/sdp-ldc -v --html \ --output-dir=tmp/program_output_pod ldc_testrun_find_pod_epub: $(SiSU_MARKUP_SAMPLES_PODS_FOUND) \ ./bin/sdp-ldc -v --epub \ --output-dir=tmp/program_output_pod ldc_testrun_find_pod_all: $(SiSU_MARKUP_SAMPLES_PODS_FOUND) \ ./bin/sdp-ldc -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_pod ldc_testrun_paths: ./bin/sdp-ldc -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_pod \ data/sisupod/sisu-manual ldc_testrun_paths_pod_source: ./bin/sdp-ldc -v --source \ --output-dir=tmp/program_output_pod \ $(SiSU_MARKUP_SAMPLES_POD) ldc_testrun_paths_pod_sisupod: ./bin/sdp-ldc -v --sisupod \ --output-dir=tmp/program_output_pod \ $(SiSU_MARKUP_SAMPLES_POD) ldc_testrun_paths_pod_html: ./bin/sdp-ldc -v --html \ --output-dir=tmp/program_output_pod \ $(SiSU_MARKUP_SAMPLES_POD) ldc_testrun_paths_pod_epub: ./bin/sdp-ldc -v --epub \ --output-dir=tmp/program_output_pod \ $(SiSU_MARKUP_SAMPLES_POD) ldc_testrun_paths_pod_all: ./bin/sdp-ldc -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_pod \ $(SiSU_MARKUP_SAMPLES_POD) dmd_testrun_find_dir_source: $(SiSU_MARKUP_SAMPLES_DIR_FILES_FOUND) \ ./bin/sdp-dmd -v --source \ --output-dir=tmp/program_output_dir dmd_testrun_find_dir_sisupod: $(SiSU_MARKUP_SAMPLES_DIR_FILES_FOUND) \ ./bin/sdp-dmd -v --sisupod \ --output-dir=tmp/program_output_dir dmd_testrun_find_dir_html: $(SiSU_MARKUP_SAMPLES_DIR_FILES_FOUND) \ ./bin/sdp-dmd -v --html \ --output-dir=tmp/program_output_dir dmd_testrun_find_dir_epub: $(SiSU_MARKUP_SAMPLES_DIR_FILES_FOUND) \ ./bin/sdp-dmd -v --epub \ --output-dir=tmp/program_output_dir dmd_testrun_find_dir_all: $(SiSU_MARKUP_SAMPLES_DIR_FILES_FOUND) \ ./bin/sdp-dmd -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_dir dmd_testrun_filelist_dir_source: ./bin/sdp-dmd -v --source \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) dmd_testrun_filelist_dir_sisupod: ./bin/sdp-dmd -v --sisupod \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) dmd_testrun_filelist_dir_html: ./bin/sdp-dmd -v --html \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) dmd_testrun_filelist_dir_epub: ./bin/sdp-dmd -v --epub \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) dmd_testrun_filelist_dir_all: ./bin/sdp-dmd -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) gdc_testrun_find_dir_source: ./bin/sdp-gdc -v --source \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) gdc_testrun_find_dir_sisupod: $(SiSU_MARKUP_SAMPLES_DIR_FILES_FOUND) \ ./bin/sdp-gdc -v --sisupod \ --output-dir=tmp/program_output_dir gdc_testrun_find_dir_html: $(SiSU_MARKUP_SAMPLES_DIR_FILES_FOUND) \ ./bin/sdp-gdc -v --html \ --output-dir=tmp/program_output_dir gdc_testrun_find_dir_epub: $(SiSU_MARKUP_SAMPLES_DIR_FILES_FOUND) \ ./bin/sdp-gdc -v --epub \ --output-dir=tmp/program_output_dir gdc_testrun_find_dir_all: $(SiSU_MARKUP_SAMPLES_DIR_FILES_FOUND) \ ./bin/sdp-gdc -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_dir gdc_testrun_filelist_dir_source: ./bin/sdp-gdc -v --source \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) gdc_testrun_filelist_dir_sisupod: ./bin/sdp-gdc -v --sisupod \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) gdc_testrun_filelist_dir_html: ./bin/sdp-gdc -v --html \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) gdc_testrun_filelist_dir_epub: ./bin/sdp-gdc -v --epub \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) gdc_testrun_filelist_dir_all: ./bin/sdp-gdc -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) ldc_testrun_find_dir_source: $(SiSU_MARKUP_SAMPLES_DIR_FILES_FOUND) \ ./bin/sdp-ldc -v --source \ --output-dir=tmp/program_output_dir ldc_testrun_find_dir_sisupod: $(SiSU_MARKUP_SAMPLES_DIR_FILES_FOUND) \ ./bin/sdp-ldc -v --sisupod \ --output-dir=tmp/program_output_dir ldc_testrun_find_dir_html: $(SiSU_MARKUP_SAMPLES_DIR_FILES_FOUND) \ ./bin/sdp-ldc -v --html \ --output-dir=tmp/program_output_dir ldc_testrun_find_dir_epub: $(SiSU_MARKUP_SAMPLES_DIR_FILES_FOUND) \ ./bin/sdp-ldc -v --epub \ --output-dir=tmp/program_output_dir ldc_testrun_find_dir_all: $(SiSU_MARKUP_SAMPLES_DIR_FILES_FOUND) \ ./bin/sdp-ldc -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_dir ldc_testrun_filelist_dir_source: ./bin/sdp-ldc -v --source \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) ldc_testrun_filelist_dir_sisupod: ./bin/sdp-ldc -v --sisupod \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) ldc_testrun_filelist_dir_html: ./bin/sdp-ldc -v --html \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) ldc_testrun_filelist_dir_epub: ./bin/sdp-ldc -v --epub \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) ldc_testrun_filelist_dir_all: ./bin/sdp-ldc -v --source --html --epub --sqlite-discrete \ --sqlite-create --sqlite-update \ --output-dir=tmp/program_output_dir \ $(SiSU_MARKUP_SAMPLES_DIR) tangle: skel for f in $(ORGFILELIST); do \ ORGFILES="$$ORGFILES \"$$f\""; \ done; \ emacs --batch -Q -q \ --eval "(progn \ (add-to-list 'load-path \ (expand-file-name \"$(EMACSLISP)\")) \ (add-to-list 'load-path \ (expand-file-name \"$(EMACSLISP_ORG)\" t)) \ (add-to-list 'load-path \ (expand-file-name \"$(EMACSLISP_ORG_CONTRIB)\" t)) \ (require 'org)(require 'ob)(require 'ob-tangle) \ (mapc (lambda (file) \ (find-file (expand-file-name file \"$(ORGDIR)\")) \ (setq-local org-src-preserve-indentation t) \ (org-babel-tangle) \ (kill-buffer)) '($$ORGFILES)))" 2>&1 tangle_maker: for f in $(ORGFILELIST); do \ ORGFILES="\"maker.org\""; \ done; \ emacs --batch -Q -q \ --eval "(progn \ (add-to-list 'load-path \ (expand-file-name \"$(EMACSLISP)\")) \ (add-to-list 'load-path \ (expand-file-name \"$(EMACSLISP_ORG)\" t)) \ (add-to-list 'load-path \ (expand-file-name \"$(EMACSLISP_ORG_CONTRIB)\" t)) \ (require 'org)(require 'ob)(require 'ob-tangle) \ (mapc (lambda (file) \ (find-file (expand-file-name file \".\")) \ (setq-local org-src-preserve-indentation t) \ (org-babel-tangle) \ (kill-buffer)) '($$ORGFILES)))" 2>&1 gitsnapshot: distclean tangle git commit -a .PHONY : all build rebuild debug release \ distclean init \ tangle gitsnapshot