🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
2 messages
2 total messages Started by Bart Vandewoestyne Mon, 03 Jul 2006 11:47
Makefile probleempje
#638
Author: Bart Vandewoestyne
Date: Mon, 03 Jul 2006 11:47
47 lines
2177 bytes
Ik gebruik volgende Makefile om mijn beamer-LaTeX presentatie te
builden:

PDFLATEX = pdflatex
GNUPLOT = gnuplot
EPSTOPDF = epstopdf

presentation: presentation.tex $(wildcard figures/*.pdf)
        $(PDFLATEX) iccam2006.tex

figures/%.pdf: plots/%.eps
        $(EPSTOPDF) $< -o figures/$(notdir $(basename $<)).pdf

plots/%.eps: plots/%.pl
        $(GNUPLOT) $<
        mv $(notdir $(basename $<)).eps plots

.PHONY: clean realclean
clean:
        -rm -f *.log *.aux *.out *.toc *.nav *.snm *~

realclean:      clean
        -rm -f *.dvi *.ps *.pdf


Als ik nu een van mijn PDF-figuren aanmaak via:

$ make figures/r_h.pdf 

dan wordt het volgende uitgevoerd:

gnuplot plots/r_h.pl
mv r_h.eps plots
epstopdf plots/r_h.eps -o figures/r_h.pdf
rm plots/r_h.eps

Bemerk de extra `rm plots/r_h.eps` op het einde!  Ik heb er totaal geen idee
van waarom die wordt uitgevoerd, en ik wil eigenlijk ook niet dat die
wordt uitgevoerd...  Is er iemand die me kan zeggen waarom die daar
uitgevoerd wordt?  Gaat het hier om de een of andere implicitie regel die
wordt uitgevoerd?

Bedankt,
Bart

-- 
	"Share what you know.  Learn what you don't."
Re: Makefile probleempje
#639
Author: Philip Paeps
Date: Mon, 03 Jul 2006 11:52
46 lines
2557 bytes
Bart Vandewoestyne <MyFirstName.MyLastName@telenet.be> wrote:
> Ik gebruik volgende Makefile om mijn beamer-LaTeX presentatie te builden:
>
> [...]
> figures/%.pdf: plots/%.eps
>         $(EPSTOPDF) $< -o figures/$(notdir $(basename $<)).pdf
> [...]
>
> Als ik nu een van mijn PDF-figuren aanmaak via:
>
> $ make figures/r_h.pdf 
>
> dan wordt het volgende uitgevoerd:
>
> gnuplot plots/r_h.pl
> mv r_h.eps plots
> epstopdf plots/r_h.eps -o figures/r_h.pdf
> rm plots/r_h.eps
>
> Bemerk de extra `rm plots/r_h.eps` op het einde!

Je gebruikt GNU make.  My sympathies.  Dit is perfect normaal gedraag voor die
implementatie.  Andere implementaties vertonen dit "aardigheidje" niet.

> Ik heb er totaal geen idee van waarom die wordt uitgevoerd, en ik wil
> eigenlijk ook niet dat die wordt uitgevoerd...  Is er iemand die me kan
> zeggen waarom die daar uitgevoerd wordt?  Gaat het hier om de een of andere
> implicitie regel die wordt uitgevoerd?

Jawel.  GNU make beschouwt intermediate files als "waardeloos" en "wegwerp"
tenzij je ze expliciet als PRECIOUS markeert.  Gezien de GNU make manual in
het vreselijke 'info' formaat staat in plaats van een gewone manual, kan ik
begrijpen dat je er over gekeken hebt.

Zoek even naar ".PRECIOUS" in die vreselijke 'info' file.

...of gebruik pmake of smake. :-)

 - Philip

-- 
Philip Paeps                              Please don't email any replies
philip@paeps.cx                               I follow the newsgroup.

  Death was Nature's way of telling you to slow down.
  	-- (Terry Pratchett, Strata)
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads