私はMakefileとアプリケーションのクロスコンパイルについて学んでいます。私は、Makefilesでさらに変数を定義し直すことを防ぐ方法を見つけたいと思っています。Makefilesで変数が書き換えられないようにしますか?
例として、私が)う...
1トップレベルのMakefileの/usr/src/someapp.mkを書き込むは/ usr/src/someapp-へのWebからのアプリケーションのソースコードをダウンロードソースを解凍し1.2.3/
2)、及び
3)オリジナルのMakefileは、スタンドのように書かれたので、元の/usr/src/someapp-1.2.3/Makefile
を実行(CC、AR/RANLIBなど)を定義します。
#My top-level /usr/src/someapp.mk:
all:
wget someapp-1.2.3.tar.gz
tar xzvf someapp-1.2.3.tar.gz
cd someapp-1.2.3 && $(MAKE)
#Original Makefile from www /usr/src/someapp-1.2.3/Makefile:
#RANLIB locally redefined... :-/
RANLIB=ranlib
all:
$(RANLIB)...
が、私は、ユーザーが自分自身の、修正版を提供するのではなく、元のソースコードをダウンロードできるようにしたいと思います:UEの、効果的に私はトップレベルのMakefileで選択した値を消去する方法にはあります変数がローカルで再定義されたときに "make"を無視するか、それらを即座に書き直すか?
ありがとうございます。
おかげで多くのことを。私は実験しますか?= – Gulbahar
GNU Makeで少なくとも 'override'指示文で更新されない限り、オーバーライドされます。 –