メイクファイルのプリプロセッサ演算子

メイクファイルのプリプロセスの式は、定数値、コマンドからの終了コード、文字列、およびマクロ ファイル システムのパスに適用される演算子を使用できます。式を評価するには、最初にはプリプロセッサ マクロを展開し、次にコマンドを実行し、操作を実行します。この演算は、明示的なグループ化の順序でかっこで、演算子の優先順位の順に評価されます。結果は定数です。

DEFINED の演算子は、マクロ名に適用される論理演算子です。再配置値がない場合でも macroname が定義されている場合 DEFINED(式macroname) は当てはまります。!IF または !ELSE IF の あるDEFINED は !IFDEF か !ELSE IFDEFと同じです。ただし、これらのディレクティブとは異なり、DEFINED は複合式で使用できます。

EXIST の演算子は、ファイル システムのパスに適用される論理演算子です。[path] がある場合EXIST([path]) は True です。EXIST の結果は、二項式で使用できます。path に空白が含まれている場合は、path を二重引用符で囲みます。

2 つの文字列を比較するには、等値演算子 (==) または非等値演算子 (!=) を使用します。文字列は二重引用符で囲みます。

整数定数では、算術否定 (–)、補数 (~)、および論理否定 (!) に単項演算子を使用できます。

式は、次の演算子を使用できます。同じ優先順位の演算子には、グループ化、グループは優先順位の高いものから順に示します。単項演算子は、右側のオペランドに関連付けます。同じ優先順位の二項演算子は、オペランドを左から右に関連付けます。

[演算子]

説明

DEFINED(macroname)

macronameの現在の状態定義の論理値を生成します。

EXIST(path)

[path]でファイルが存在するの論理値を生成します。

!

単項論理的ありません。

~

単項補数。

-

単項否定。

*

乗算

/

除算

%

剰余 (SEO)。

+

加算

-

減算

<<

ビットごとの左シフトします。

>>

ビットごとの右シフトします。

<=

以下。

>=

以上。

<

より小さい。

>

より大きい。

==

等値。

!=

非等値。

&

ビット処理演算子。

^

ビットごとの XOR。

|

ビットごとの OR。

&&

論理 AND。

||

論理 OR。

[!メモ]

式で使用すると、ビットごとの XOR 演算子 (^) は、エスケープ文字と同じ、エスケープする必要があります (^^)。

参照

概念

メイクファイル プリプロセスの式