dehaeze21_desig_compl_filte/Makefile

57 lines
2.1 KiB
Makefile

.PHONY: all paper help html publish watch clean cp-figs
SHELL := /bin/bash
PAPERDIR=paper
MATLABDIR=matlab
TIKZDIR=tikz
PAPERNAME=paper
all: paper html publish
paper: cp-figs tangle tex pdf clean
help:
@echo "Usage: make <command>"
@echo " all - Cp-figs tex pdf html publish"
@echo " paper - Compile the org file to a pdf"
@echo " html - Export all the org files to html"
@echo " publish - Commit everything and push to repository"
@echo " tex - Export to paper in org format to tex"
@echo " tangle - Tangle everything that is in the org paper and tikz file"
@echo " pdf - Compile the tex file to pdf"
@echo " watch - Watch the tex file for changes and compile"
@echo " clean - Clean the paper directory"
@echo " cp-figs - Copy all the necessary figures from tikz and matlab folder to paper folder"
html:
for f in *.org; do emacsclient -e "(progn (find-file \"$$f\") (org-html-export-to-html))"; done
for f in $(TIKZDIR)/*.org; do emacsclient -e "(progn (find-file \"$$f\") (org-html-export-to-html))"; done
for f in $(MATLABDIR)/*.org; do emacsclient -e "(progn (find-file \"$$f\") (org-html-export-to-html))"; done
publish:
git add . && git commit -m "Update - $$(date +%F)" && git push origin master
tex: $(PAPERDIR)/$(PAPERNAME).org
emacsclient -e '(progn (find-file "$(PAPERDIR)/$(PAPERNAME).org") (org-latex-export-to-latex))'
tangle: $(PAPERDIR)/$(PAPERNAME).org
emacsclient -e '(progn (find-file "$(PAPERDIR)/$(PAPERNAME).org") (org-babel-tangle))'
emacsclient -e '(progn (find-file "$(TIKZDIR)/index.org") (org-babel-tangle))'
pdf: $(PAPERDIR)/$(PAPERNAME).tex
latexmk -cd -quiet -bibtex $(PREVIEW_CONTINUOUSLY) -f -pdf -pdflatex="xelatex -synctex=1 -interaction nonstopmode" -use-make $(PAPERDIR)/$(PAPERNAME).tex
# Set the PREVIEW_CONTINUOUSLY variable to -pvc to switch latexmk into the preview continuously mode
watch: PREVIEW_CONTINUOUSLY=-pvc
watch: pdf
watch-org: $(PAPERDIR)/$(PAPERNAME).org
echo $(PAPERDIR)/$(PAPERNAME).org | entr -s 'make tangle tex pdf'
clean:
latexmk -cd -c -bibtex $(PAPERDIR)/$(PAPERNAME).tex
cp-figs:
bash scripts/cp-figs.sh