[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 2 Fragen zu Makefiles



Am Dienstag, 19. März 2002 22:45 schrieb Jonas Meurer:
> Ich habe ein Verzeichnis, wo .wml-files und Subdirs mit .wml-files
> drinnen sind. Bisher habe ich das immer so gemacht:
> [...]
> Nun wäre es mir aber wesentlich lieber wenn ich nicht jedes neue
> .wml-file dort eintragen müsste, und statt dessen make alle .wml-files
> selber findet. Also nach dem Motto:
> HTMLS = (code dass alle .wml-files hier stehen, am besten ohne .wml)

Hi Jonas,

das Makefile soll die Abhängigkeiten zwischen wml-Dateien und html-Dateien 
beschreiben, dazu wird das Suffix benutzt:

all: eins.html zwei.html

.SUFFIXES: .html .wml

 ##$@ : html
 ##$< : wml
.wml.html:
    ${WML} ${FLAGS} $@ $<

eins.html: datei1.include datei2.include
zwei.html: ...

und auch nur die im Makefile genannten Dateien compilieren ... 


Auf Unterverzeichnisse verweise ich nicht - da ich sonst auf ein echtes 
Feature von wml verzichte: Substitution von Variablen
Datei: .wmlrc
-D VARIABLE=zeichenkette
# die Variable hat in jedem Verzeichnis den gleichen Wert
-D SITEHOME~.
# die Variable berücksichtigt das Verzeichnis
# im aktuellen Verzeichnis: .
# in einem SubDir: ./subdir

Der Wert der Variablen ist abhängig vom Verzeichnis in dem der Compiler wml 
gestartet wird - nicht das Verzeichnis in dem der wml-Code steht.

Drum habe ich mir ein Perl-Script geschrieben - das rekursiv vom 
Startverzeichnis aus in alle Unterverzeichnisse mit einer Datei Makefile 
wechselt und das Makefile _dort_ ausführt ;-)

bye, karl-heinz.
-- 
Twinkle twinkle little star, how I wonder what you are?
Up above the world so high, like a diamond in the sky.



Reply to: