バイナリをクロスコンパイルするようにmakefileを変更しようとしています。問題のコマンドは次のとおりです。
# GNU Make solution makefile autogenerated by Premake
# Type "make help" for usage help
ifndef config
config=debug
endif
export config
PROJECTS := json openjaus openjaus-core openjaus-environment openjaus-mobility openjaus-manipulator openjaus-ugv Base Managed PingTest LargeMessageTest PdDemo GposDemo GposClientDemo StillImageSensorDemo StillImageClientDemo
.PHONY: all clean help $(PROJECTS)
all: $(PROJECTS)
json:
@echo "==== Building json ($(config)) ===="
@${MAKE} --no-print-directory -C .build -f json.make
ご覧のとおり、makefileにはいくつかのターゲットがあります。それらはすべて「json」ターゲットと同じ構造を持っています。問題のコマンドは
@${MAKE} --no-print-directory -C .build -f json.make
'${MAKE}'変数=make(これをechoで検証しました)-Cは何をしますか?.buildは何をしますか?私は-fjson.makeが得意です
また、makeを実行すると、json.makeファイルが作成され、コンパイルファイルが作成されて自分で削除されるため、そのファイルにアクセスできません。
問題のコマンドを変更したときに受け取るエラーは次のとおりです。
==== Building json (debug) ====
make[1]: Nothing to be done for `/home/botbear/openwrt/trunk/staging_dir/toolchain- arm_v6k_gcc-linaro_uClibc-0.9.32_eabi/bin/arm-openwrt-linux-c++'.
変更後のコマンドは次のようになります。
@${MAKE} /home/botbear/openwrt/trunk/staging_dir/toolchain-arm_v6k_gcc-linaro_uClibc-0.9.32_eabi/bin/arm-openwrt-linux-c++ --no-print-directory -C .build -f json.make
どんな助けでも大歓迎です!