linux-l: Makefile hilfe, Bounding box...

Carsten Wartmann c.wartmann at gmx.net
Di Jan 30 18:31:28 CET 2001


gunni at mathematik.hu-berlin.de writes:
 > 
 > >  > Ich würde folgendes machen:
 > >  > 
 > >  > all_gifs:
 > >  > 	make `echo *.tga | sed -e 's/\.tga\>/\.gif/g'`
 > > 
 > > Hmmm, warum nicht....
 > > 
 > > Naja, damit werden wieder alle GIFs immer gemacht... oder?
 > > 
 > Nein,
 > 
 > das haengt davon ab, wie die entsprechende Make-Regel zum Erzeugen
 > der gif-Files aussieht.
 > 
 > Wenn make merkt, dass das Ziel neuer ist, als die Quellen, wird
 > das Ziel nicht neu erzeugt, d.h. make wird aufgerufen, aber convert 
 > nicht.

Ich hatte das so verstanden, das die all_gifs: rule immer die Gifs
überschreibt...

 > > for alle dateien in verzeichnis:
 > > 	if filedate(basename.tga) > filedate(basename.gif):
 > > 		convert basename.tga basename.gif
 > 
 > Das macht ja make!
 > 
 > Wenn Du eingibst:
 > 
 >   make test.o
 > 
 > und es existiert
 > 
 >   test.c
 > 
 > , dann:
 > 
 >  - testet make, ob test.o schon existiert.
 >  - wenn es nicht existiert, wird test.o aus test.c erzeugt, fertig.
 >  - wenn es existiert, wird verglichen, in welches File zuletzt
 >    geschrieben wurde.
 >  - ist test.c neuer, wird test.o aus test.c generiert, fertig.
 >  - ist test.o neuer, wird nichts gemacht, fertig.
 > 
 > Bleibt die Frage, wie test.o erzeugt wird.

Anscheinend funktioniert das aber bei (GNU) make nicht... Ich habe
gerade im IRC mit jemanden gechattet der das mit SGI make probiert
hatte. 

Wie auch immer... Anscheinend ist mein kleines python-script
einfacher.

Danke,
Carsten.



Mehr Informationen über die Mailingliste linux-l