如何在makefile中指定编译器?

问题描述 投票:0回答:1

全部,

我正在尝试修改 Makefile 以使用嵌入式交叉编译器而不是 PC 的编译器。 Makfile 没有正常的 CC 或 CXX 变量。 事实上,它似乎是用变量“@${MAKE}”调用另一个makefile。 如何覆盖“@${MAKE}”变量以强制 makefile 使用不同的编译器?

提前致谢,

# GNU Make solution makefile autogenerated by Premake
# Type "make help" for usage help

ifndef config
config=debug
endif
export config

    PROJECTS := json openjaus

.PHONY: all clean help $(PROJECTS)

all: $(PROJECTS)

json: 
@echo "==== Building json ($(config)) ===="
@${MAKE} --no-print-directory -C .build -f json.make

openjaus: json
    @echo "==== Building openjaus ($(config)) ===="
    @${MAKE} --no-print-directory -C .build -f openjaus.make

我根据 Rob 的评论编辑了 Makefile,现在我收到下面的消息,不知道该怎么办?

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-uclibcgnueabi-g++'.
variables makefile build
1个回答
2
投票

您必须深入了解

json.make
openjaus.make
才能了解它们如何构建程序。如果他们使用常规变量,您也许可以执行以下操作:

${MAKE} CC=/usr/bin/gcc-arm CXX=/usr/bin/g++-arm --no-parent-directory ...
© www.soinside.com 2019 - 2024. All rights reserved.