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: