# # mkmakefile -- build the Makefile.inc for all the papers # # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # # # Header of the Makefile.inc # cat >common/Makefile.inc <<EOF # # Makefile.inc -- Makefile Targets und Variablen für Papers # # Achtung: dieses File wird erzeugt vom Skript scripts/mkmakefile # # (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil # EOF # # add dependency variables for the main paper files # awk 'BEGIN { printf("PAPERFILES = \\\n") printf("\tpapers/part2.tex \\\n") printf("\tpapers/uebersicht.tex \\\n") } { printf("\tpapers/%s/main.tex \\\n", $1) } END { printf("\t\n") }' common/paperlist >> common/Makefile.inc # # generate bibliographic dependency variables and commands # awk 'BEGIN { counter=1 } { printf("buch%d-blx.bbl:\tbuch%d-blx.aux\n", counter, counter) printf("\tbibtex buch%d-blx\n\n", counter) counter++ } END { printf("buch%d-blx.bbl:\tbuch%d-blx.aux\n", counter, counter) printf("\tbibtex buch%d-blx\n\n", counter) printf("BLXFILES = buch.bbl \\\n") for (i = 1; i <= counter; i++) { printf("\tbuch%d-blx.bbl \\\n", i) } #printf("\tbuch%d-blx.bbl\n", i) printf("\n") }' common/paperlist >> common/Makefile.inc # # generate a directory list for # awk 'BEGIN { printf("PAPER_DIRECTORIES = \\\n") } { printf("\t%s \\\n", $1) } END { printf("\t\n") }' common/paperlist >> common/Makefile.inc # # generate a list of Makefile.inc to be used by the top level makefile # awk 'BEGIN { printf("PAPER_MAKEFILEINC = \\\n") } { printf("\tpapers/%s/Makefile.inc \\\n", $1) } END { printf("\t\n") }' common/paperlist >> common/Makefile.inc # # add include directives for all papers # awk '{ printf("include papers/%s/Makefile.inc\n", $1) texfiles = sprintf("%s\t$(dependencies-%s) \\\n", texfiles, $1); } END { printf("\n") printf("TEXFILES = \\\n") printf("%s\n", texfiles) }' common/paperlist > common/includes.inc