メイクファイルのプリプロセスの式は、定数値、コマンドからの終了コード、文字列、およびマクロ ファイル システムのパスに適用される演算子を使用できます。式を評価するには、最初にはプリプロセッサ マクロを展開し、次にコマンドを実行し、操作を実行します。この演算は、明示的なグループ化の順序でかっこで、演算子の優先順位の順に評価されます。結果は定数です。
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 演算子 (^) は、エスケープ文字と同じ、エスケープする必要があります (^^)。