2

全て、

PCのコンパイラの代わりに組み込みクロスコンパイラを使用するようにMakefileを変更しようとしています。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++'.
4

1 に答える 1

2

内部を調べてjson.makeopenjaus.makeプログラムがどのように構築されているかを確認する必要があります。従来の変数を使用している場合は、次のようなことができる可能性があります。

${MAKE} CC=/usr/bin/gcc-arm CXX=/usr/bin/g++-arm --no-parent-directory ...
于 2012-05-10T20:04:31.520 に答える