add make
authorratten <ratten@buecherratten.in-berlin.de>
Wed, 16 Jul 2025 18:07:19 +0000 (20:07 +0200)
committerratten <ratten@buecherratten.in-berlin.de>
Wed, 16 Jul 2025 18:07:19 +0000 (20:07 +0200)
Makefile [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..f1d36c1
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,70 @@
+# hey: one two
+#      # Outputs "hey", since this is the target name
+#      echo $@
+
+#      # Outputs all prerequisites newer than the target
+#      echo $?
+
+#      # Outputs all prerequisites
+#      echo $^
+
+#      # Outputs the first prerequisite
+#      echo $<
+#
+#   # Outputs basename from target
+#   echo $*
+# 
+SHELL = /bin/bash
+
+file = $(wildcard *.tex)
+
+beamer = $(shell grep -l "beamer" $(file))
+normal = $(shell grep -L "beamer" $(file))
+
+.PHONY: clean show cleanall test presentation all handout article postArticle show_beamer
+.IGNORE: $(basename $(file))-article.pdf
+
+show_beamer: $(beamer)
+       @echo $?
+
+show: show_beamer $(file)
+       @echo $? "will be used"
+
+test: $(file)
+       @echo $@ "will not create a $(basename $?).pdf-file"
+       pdflatex -draftmode -shell-escape -jobname=draft$* $?
+
+presentation: $(basename $(beamer))-presentation.pdf
+
+%-presentation.pdf: %.tex
+       @echo "creating presentation from $? with name $@"
+       latexmk -jobname=%A-presentation -pdf -pdflatex='pdflatex -shell-escape %O %S' $?
+
+handout: $(basename $(beamer))-handout.pdf
+
+%-handout.pdf: %.tex
+       @echo "creating handout from $?"i
+       latexmk -jobname=%A-handout -pdf -pdflatex='pdflatex %O -interaction=nonstopmode -synctex=1 -shell-escape "\PassOptionsToClass{handout}{beamer}\input{%S}"' $?
+
+article: $(basename $(beamer))-article.pdf
+
+%-article.pdf: %.tex
+       @echo "creating article from $?"
+       @echo "change beamer documentclass to article"
+       sed -i 's/\\documentclass\[\([^]]*\)\]{beamer}/\\documentclass[\1]{scrartcl}/' $? #documentclass kann nicht mit mklatex gesezt werden
+       sed -i '3a \\\usepackage\[activeospeccharacters\]{beamerarticle}' $? # usepackage kann nicht mit mklatex gesetzt werden
+       latexmk -jobname=%A-article -pdf -pdflatex='pdflatex -shell-escape %O %S' $?
+       sed -i 's/\\documentclass\[\([^]]*\)\]{scrartcl}/\\documentclass[\1]{beamer}/' $?
+       sed -i '/\\\usepackage\[activeospeccharacters\]{beamerarticle}/d' $?
+
+all: test presentation handout article $(basename $(normal)).pdf
+       
+%.pdf: %.tex
+       latexmk -pdf -pdflatex='pdflatex -shell-escape %O %S' $?
+       
+clean:
+       rm -f *.aux *.log *.nav *.toc *.snm *.out *.vrb *.fdb_latexmk *.fls *.pyg *.synctex.gz
+       rm -rf _minted-*
+cleanall: clean
+       rm -f *.pdf
+