Re: Make Problem
Ralf Corsepius <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
On Sat, 2004-10-09 at 15:50, Christian Boltz wrote:
> SUBDIRS = subdir1 subdir2 subdir3
>
> clean:
> @for d in $(SUBDIRS); do \
> $(MAKE) -C $$d clean || exit $? ; \
> done
>
> (das "|| exit $?" ist wichtig, damit im Fehlerfall auch der make-Lauf
> abbricht) Für weitere Inspirationen kann ich Dir die Makefiles der Fontlinge
> empfehlen (bei Sourceforge im CVS zu betrachten).
Es ist immer wieder interessant zu lesen, was manche Leute als
allgemeingültig zu verkaufen versuchen ;-)
2 Portabilitätsfehler aus deinem Beispiel:
1. "for d in $(SUBDIRS)" ist nicht portabel.
2. "make -C" ist nicht portabel.
[Es hat seine Gründe, warum die von automake verwendeten Konstrukte
scheinbar umständlich sind. Wenn dein Paket nur unter Linux/GNU
übersetzbar sein soll, sind diese Konstrukte in Ordnung, sonst aber
nicht.
]
> Obiges Schnipsel ist
> eine vereinfachte Form aus fontlinge_rc/modules/Makefile.
> Recht interessant ist übrigens auch die Implementation von "make dist"
> auf Basis von CVS/Entries ;-) (fontlinge_rc/Makefile)
Manche Leute kommen auf Ideen ... :-()
Ralf
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
[email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]