PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : makefile - Problem mit Abhängigkeit



draxo
19.11.2006, 14:41
Hallo,

also ich habe eine Frage zu Abhängigkeiten von Targets untereinander. Leider habe ich dazu nichts richtiges gefunden.

Wie kann ich ein Target von einem anderen abhängig machen? Also Target B wird aufgerufen. Doch bevor die Kommandos in Target B ausgeführt werden, soll Target A aufgerufen werden. Ist sowas möglich?

Danke!

theton
19.11.2006, 15:01
...
targetA: targetB
...

Sorgt dafür, dass targetB aufgerufen wird, wenn 'make targetA' ausgeführt wird.

rikola
19.11.2006, 15:03
Soweit ich das richtig verstehe, ist das, was Du beschreibst, die Grundfunktion von make. Wie waere es mit so einem Makefile:


A:
@echo "Ausfuehren von A"

B: A
@echo "Ausfuehren von B"

(das '@' vor dem echo verhindert nur, dass der Befehl ausgegeben wird, bevor er ausgefuehrt wird).

draxo
19.11.2006, 16:17
Aktueller Stand:



ps: $(patsubst %.html,%.ps,$(wildcard *.html))
%.ps : %.html; html2ps $< > $@

pdf: ps $(patsubst %.ps,%.pdf,$(wildcard *.ps))
%.pdf: %.ps; -ps2pdf $< $@


Er führt bei "make pdf" auch zuerst ps aus und erstellt aus allen html dateien ps dateien. Aber er erstellt dann nur aus den bisher existierenden ps-Dateien die PDF Dateien und eben leider nicht aus denen, die zuvor durch "ps" erstellt wurden.

Wie kann ich das ändern, so dass alle ps Dateien umgewandelt werden?

draxo
20.11.2006, 19:03
Niemand eine Idee?



pdf: ps_make pdf_make

ps_make: $(patsubst %.html,%.ps,$(wildcard *.html))
%.ps : %.html; html2ps $< > $@

pdf_make: $(patsubst %.ps,%.pdf,$(wildcard *.ps))
%.pdf: %.ps; -ps2pdf $< $@


Das geht leider auch nicht ?(

Xanti
21.11.2006, 15:30
Hat nix mit Shellskripten zu tun -> verschoben.