Matthias Fechner <idefix(at)fechner.net> wrote:
> Was ich machen will ist:
> make fig2dev
> Dann sollen alle Dateien die in xfigs/*.fig liegen in pictures/*.pdf
> umgewandelt werden. Das geht wunderbar mit fig2dev aber ich weiss
> leider nicht, wie ich das in einem Makefile formulieren soll.
> Kann mir hier vielleicht jemand helfen?
Ich verwende für ähnliche Zweck normalerweise rekursive
Makefiles. Man kriegt dabei zwar einen Knoten ins Hirn,
aber sie sind dafür relativ portabel und funktionieren
mit allen gängigen make-Implementationen.
Ich habe mir mal so ein Teil geschnappt und für Deinen
Zweck angepaßt (ungetestet, könnte noch Tippfehler ent-
halten!):
SRC_DIR=xfigs
SRC_SFX=.fig
TRG_DIR=pictures
TRG_SFX=.pdf
COMMAND=fig2dev -L pdf %s %s
MAKEMAKE= \
cat Makefile; \
SOURCES="`echo $(SRC_DIR)/*$(SRC_SFX)`"; \
echo ""; \
echo SOURCES=$$SOURCES; \
echo ""
fig2dev:
@( \
$(MAKEMAKE); \
TARGETS=""; \
for SRC in $$SOURCES; do \
TRG=$(TRG_DIR)/`basename $$SRC $(SRC_SFX)`.$(TRG_SFX); \
TARGETS="$$TARGETS $$TRG"; \
printf '%s: %s\n' "$$TRG" "$$SRC"; \
printf '\t$(COMMAND)\n\n' "$$SRC" "$$TRG"
done; \
echo 'alltargets:$$TARGETS' \
) | make -f - alltargets
# END
Falls Dein make kein »-f -« versteht, um von standard-input
zu lesen, versuch stattdessen »-f /dev/stdin«.
Gruß
Olli
-- Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München Any opinions expressed in this message may be personal to the author and may not necessarily reflect the opinions of secnetix in any way. C++: "an octopus made by nailing extra legs onto a dog" -- Steve Taylor, 1998 To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Fri 21 Jan 2005 - 19:10:52 CET