makefile はコンパイラ ( gcc/g++/cc/c++ ) にどのようにアクセスしますか?
明示的なパス ( /usr/bin/g++ ) ではなく、名前 ( g++ ) のみの場合は、任意のディレクトリに代替 g++ を作成し、そのディレクトリをパスに追加するだけです。
例: ~/mytmpgccdir/g++ ファイルを作成します。
#!/bin/tcsh -f
exec /usr/bin/g++ -Lfoo -lfoo $*:q
他の引数 ( $*:q )の前または後に、好きなエクストラ ( -Lfoo -lfoo ) を追加します。
次に、それをパスに追加して、通常どおりに作成します。
#tcsh version
% set path = ( ~/mytmpgccdir/ $path:q )
% make clean
% make
ps 明示的な名前による場合は、コマンドラインで上書きできる場合があります。次のようなもの: make all GCC=~/mytmpgccdir/gcc
pps LD_PRELOAD を使用する場合は、プログラムを実行する前に、次のようなスクリプトで setenv LD_PRELOAD を実行することをお勧めします。そうしないと、/bin/ls、make、g++ などのすべてのコマンドで LD_PRELOAD を実行するのが簡単になります。