Ik heb een makefile die hele fancy dingen doet met een latex beamer presentatie. Die is in vier verschillende modi te compileren, welke allemaal een eigen target hebben. Compileren werkt dan ook prima als ik dit doe:
Zodra ik het volgende maketarget toevoeg, gaat hij echter onderuit:
Wanneer ik kijk naar de rules die make wil uitvoeren zie ik gelijk de fout:
Wat hier gebeurd is het printen van commando's uit de subtargets. Ze delen alle vier alleen ook weer eenzelfde target; build-int-silent:
De 2,3 en 4e negeren dit target echte allemaal, ookal staat het er wel correct in (getuige ook de losse invocations). Volgens mij zit make het weg te optimaliseren 'omdat het toch hetzelfde target is'. Is het ook, maar het resulteert in 4 verschillende PDF's
.
Weet iemand hoe ik kan zorgen dat make gewoon die targets uitvoerd, en ze niet wegoptimaliseerd?
v|1.1M|[kevin@lpt08a ~/jslinux/afstudeerpresentatie]$ make silent-pres; make silent-presnotes; make silent-handout; make silent-static
Zodra ik het volgende maketarget toevoeg, gaat hij echter onderuit:
build: silent-pres silent-presnotes silent-handout silent-static
Wanneer ik kijk naar de rules die make wil uitvoeren zie ik gelijk de fout:
v1.1M|[kevin@lpt08a ~/jslinux/afstudeerpresentatie]$ make build -n perl -pi -e 's/^\%\\prestrue/\\prestrue/' presentatie.tex pdflatex -interaction nonstopmode presentatie > /dev/null 2>&1 pdflatex -interaction nonstopmode presentatie > /dev/null 2>&1 perl -pi -e 's/^\\prestrue/\%\\prestrue/' presentatie.tex mv presentatie.pdf presentatie.pres.pdf touch presentatie.pdf mv presentatie.pdf presentatie.org.pdf make -f latex-makefile clean > /dev/null 2>&1 mv presentatie.org.pdf presentatie.pdf perl -pi -e 's/^\%\\presnotestrue/\\presnotestrue/' presentatie.tex perl -pi -e 's/^\\presnotestrue/\%\\presnotestrue/' presentatie.tex mv presentatie.pdf presentatie.presnotes.pdf perl -pi -e 's/^\%\\handouttrue/\\handouttrue/' presentatie.tex perl -pi -e 's/^\\handouttrue/\%\\handouttrue/' presentatie.tex mv presentatie.pdf presentatie.handout.pdf perl -pi -e 's/^\%\\statictrue/\\statictrue/' presentatie.tex perl -pi -e 's/^\\statictrue/\%\\statictrue/' presentatie.tex mv presentatie.pdf presentatie.static.pdf
Wat hier gebeurd is het printen van commando's uit de subtargets. Ze delen alle vier alleen ook weer eenzelfde target; build-int-silent:
build-int-silent: @${PDFLATEX} ${FILE} > /dev/null 2>&1 @${PDFLATEX} ${FILE} > /dev/null 2>&1
De 2,3 en 4e negeren dit target echte allemaal, ookal staat het er wel correct in (getuige ook de losse invocations). Volgens mij zit make het weg te optimaliseren 'omdat het toch hetzelfde target is'. Is het ook, maar het resulteert in 4 verschillende PDF's
Weet iemand hoe ik kan zorgen dat make gewoon die targets uitvoerd, en ze niet wegoptimaliseerd?
v|1.1M|[kevin@lpt08a ~/jslinux/afstudeerpresentatie]$ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for x86_64-pc-linux-gnu
When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.