2017-04-06 14 views
1


私は1つのmakeファイルを(mylib.dllに)コンパイルして、少なくとも2つのLinuxアーキテクチャーi686とarmv61(mylib.soに)でリンクします。makefile別々のアーキテクチャーに異なるリンカーフラグを設定する

リンカーフラグを手動で設定すると、私のコードはコンパイル/リンクOKになります。

しかし、特定のARC値に基づいてリンカーフラグを設定したいのですが、スニペットを参照してください。私のi686のオン

<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> 

私が手:私のarmv61オン

<code> 
ARCH is [i686] 
LD_FLAGS is [-shared -lSDL] 
make: Nothing to be done for 'all'. 
</code> 

は私が取得:

<code> 
ARCH is [armv6l] 
LD_FLAGS is ["?"] 
... (error stuff!) 
</code> 

だからARCHがOKに設定されているが、LD_FLAGSが、私は愚かな何かをやっているされていませんifeqなど

エラーが何であるか、どのようにmakeファイルを修正するのですか?

ありがとうございました。

答えて

0

あなたは

+0

おっと....いまいましい私の古い犬の目、私はちょうどチェックし、あなたの権利を代わりに(armv61armv6ll1を書いた、黒に緑のように見えますが、アップグレードを必要とします...ありがとう – reddog0000

関連する問題