2011-01-28 17 views
4

Solaris 10(SunOS 5.10)で/usr/ccs/bin/makeを使用することを余儀なくされました。Solaris 10のMakefileの条件文の構文は何ですか?

ifeqの一般的なGNU makeの構文は、テキストの組み込みまたは除外に使用でき、Solaris makeでは機能しません。

マクロに値を割り当てるとき、私はshスタイルifステートメントを使用することができますが、私は(GNUのifeqとのような)環境変数にオフに基づいて、メイクファイル内のテキストの束を含めるか除外する方法を探しています。

アイデア?また、Solaris 10のバージョンmakeに関するドキュメントもありがとうございます。

答えて

2

Solarisのmakeは適度に複雑なビースティーですが、それはGNUメイクではありません。

AFAIK、条件文は使用しません。

条件付きマクロ:=とインクリメンタルマクロ+=があります。

+0

私は条件文の例を見つけることができませんでした。あなたの答えは、私がしようとしていることはSolarisのmakeを使ってできないということですか? – aoeu

+1

'ifeq'条件は非標準のGNU Make拡張です。 makeの他のバージョンは、(すべての)GNU make拡張を用意していません。はい;あなたがしようとしていることは、使用しようとしている構文を使っては不可能です。同じことを達成する他の方法があるかもしれませんが、GNU makeと同じようにすることはできません。 (これは、エクステンションを使用することの欠点であり、エクステンションを提供するものの特定の実装にロックされます。ロックインは、独自のものと同じようにオープンソースでも同じです;通常、プロプライエタリなロックインよりも痛いあなたはソースを持っています。) –

2

オンラインドキュメントは、こちらもご覧になれます。

man pages section 1: User Commands

+0

ありがとう、私はそれを探していた。 (オラクルのメイン文書ページからオンラインのマニュアルページにアクセスすることはすぐには分かりません) – aoeu

+0

"man make"を試しましたか? – jlliagre

+0

==マニュアルページのウェブ版です。 – aoeu