コマンドライン変数を使用して、コンパイルに使用するツールキットを選択しようとしています。コマンドラインで使用する場合は、次のような行を使用します。
make all-arm OUR_TOOLKIT=1
そして、暗黙のすべてのmakefileに、これを含めます
include ARM_Compiler.inc
次に、すべてのmakefileで、
all: setToolkit $(otherOperations)
また、ARM_Compilerの内容は、コンパイラーを選択するためのロジックです。
setToolkit:
ifdef OUR_TOOLKIT
TOOLKIT=1
endif
ifdef CUSTOMER_TOOLKIT
TOOLKIT=2
endif
ifeq ($(TOOLKIT), 1)
$(info "=========Our toolkit selected======================")
rm=/bin/rm -f
CC= arm-linux-c++ -fPIC
CXX= arm-linux-c++ -fPIC
LINK= arm-linux-c++ -shared -Wl
AR= ar cq
RANLIB= ranlib
STRIP=arm-linux-strip
# para que se utilicen las herramientas y librerias del cross compiler
PATH:=$(PATH):/path/to/our/toolkit
LD_LIBRAY_PATH:=$(LD_LIBRAY_PATH):/path/to/our/toolkit
endif
ifeq ($(TOOLKIT), 2)
$(info "================Customer toolkit selected====================")
rm=/bin/rm -f
CC= arm-none-linux-gnueabi-c++ -fPIC
CXX= arm-none-linux-gnueabi-c++ -fPIC
LINK= arm-none-linux-gnueabi-c++ -shared -Wl
AR= ar cq
RANLIB= ranlib
STRIP= arm-none-linux-gnueabi-strip
# para que se utilicen las herramientas y librerias del cross compiler
PATH:=$(PATH):/path/to/other/toolkit
LD_LIBRAY_PATH:=$(LD_LIBRAY_PATH):/path/to/other/toolkit
endif
0A0Dの助けを借りて、TOOLKIT値が常に空であることを発見しました。コードを少し変更しました。ここで問題は、makeがエラーをスローすることです
../makefile-includes/ARM-compiler.inc:10: *** commands commence before first target
この行で:
ifeq ($(TOOLKIT), 1)
誰かが何か考えを持っていますか?ありがとう