Ich möchte eine make-Datei zu kompilieren und auf Windows (in mylib.dll) und mindestens zwei Linux-Architekturen, i686 und armv61 (in mylib.so) zu verknüpfen.Makefile Einstellung verschiedener Linker-Flags für verschiedene Architekturen
Wenn ich linker Flags manuell 'setze', kompiliert mein Code/Links ok.
Aber ich möchte Linker Flags basierend auf bestimmte ARC-Werte, siehe Snippet.
<code>
ARCH = "?"
ARCH = $(shell arch)
$(info ARCH is [$(ARCH)])
LD_FLAGS = "?"
ifeq "$(ARCH)" "i686"
LD_FLAGS = -shared -lSDL
endif
ifeq "$(ARCH)" "armv61"
LD_FLAGS = -shared -lSDL -L/usr/lib/arm-linux-gnueabihf
endif
$(info LD_FLAGS is [$(LD_FLAGS)])
</code>
Auf meinem i686 erhalte ich:
<code>
ARCH is [i686]
LD_FLAGS is [-shared -lSDL]
make: Nothing to be done for 'all'.
</code>
Auf meinem armv61 erhalte ich:
<code>
ARCH is [armv6l]
LD_FLAGS is ["?"]
... (error stuff!)
</code>
So ist ARCH gesetzt ok aber LD_FLAGS nicht der Fall, ich tue etwas Dummes mit das ifeq usw.
Irgendeine Idee, was der Fehler ist, wie man die Make-Datei repariert?
Danke.
Oops .... verdammt mein alter Hund Augen, rechts Ich habe gerade überprüft, wie grün schaut auf schwarz ein Upgrade benötigt ... Dank – reddog0000