我正在尝试修改生成文件以交叉编译二进制文件。有问题的命令如下:
# 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 有什么作用?我很擅长 -f json.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
任何帮助表示赞赏!