Hallo Matthias, On Mon, 29 May 2000, Matthias Dort wrote:
es geht um das Kompilieren eines Progs, dass urspruenglich fuer OS/2 geschrieben wurde. Das klappt jetzt soweit auch ganz gut. Das makefile sieht jetzt folgendermassen aus:
So funktioniert es NICHT: --cut-- LFLAGS +=3D -lm CFLAGS += -D UNIX hide4pgp: hide4pgp.o bmp.o wav.o voc.o utils.o scramble.o --cut--
So funktioniert es: --cut-- LFLAGS +=3D CFLAGS += -D UNIX hide4pgp: hide4pgp.o bmp.o wav.o voc.o utils.o scramble.o -lm --cut--
Ohne den Parameter "-lm" können die math-librarys nicht gefunden werden. Ich bin mir aber nicht sicher, ob da hingehört. [...]
Eigentlich gehoert er da nicht hin, wo er jetzt steht..... Auch die LFLAGS sehen schon etwas seltsam aus, normalerweise sollte da etwas der Art "LFLAGS += -l3D -lm" stehen, falls es sich um Flags fuer den Linker handelt, das 3D alleine macht wenig Sinn. Normalerweise werden Linker-Flags aber auch der Variablen LDFLAGS zugewiesen. Die Zeile, in der -lm jetzt steht, gibt eigentlich nur die Abhaengigkeiten von hide4pgp an. Wenn implizite Regeln im Makefile verwendet werden, so werden aus den aufgefuehrten Objekt-Files die ausfuehrbare Datei hide4pgp zusammengelinkt. Schau mal nach, wo bereits LFLAGS gesetzt wurde, da in dem hier wiedergegebenen Auschnitt nur neue Daten angehaengt werden (+=). Dann schaue nach, wie beim Compileraufruf bzw. Linkeraufruf die entsprechenden Variablen benutzt werden. Dort solltest Du dann erkennen, wie die Syntax auszusehen hat. Eventuell muss man sich das gesamte Makefile mal komplett ansehen. Wir eigentlich GNU make benutzt? Du kannst auch mal einfach ein "gmake -n <target>" eingeben, dann bekommst Du explizit gesagt, welche Befehle ausgefuehrt werden, vielleicht hilft das ja weiter...... Bei Bedarf melde Dich einfach nochmal, auch per PM! Mein grober Vorschlag waere (ungetestet und natuerlich nur ein Auszug aus dem gesamten Makefile): CC = gcc LDFLAGS = -l3D -lm CFLAGS = -O -DUNIX -ansi .c.o: $(CC) $(CFLAGS) -c -o$@ $< OBJ = hide4pgp.o bmp.o wav.o voc.o utils.o scramble.o hide4pgp: $(OBJ) $(CC) $(LDFLAGS) -o$@ $(OBJ) hide4pgp.o: hide4pgp.c bmp.o: bmp.c wav.o: wav.c voc.o: voc.c utils.o: utils.c scramble.o: scramble.c Gruesse Thomson -- Dipl.-geophys. Thomas Hertweck Geophysikalisches Institut, Universitaet (TH) Karlsruhe Email: ubtj@rz.uni-karlsruhe.de Linux is like a wigwam - no windows, no gates, apache inside! --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com