Operatoren für den Präprozessorlauf eines Makefiles
Aktualisiert: November 2007
Der DEFINED-Operator stellt einen logischen Operator dar, der auf einem Makronamen angewendet wird. Der Ausdruck DEFINED (macroname) ist wahr, wenn macroname definiert ist. DEFINED in Kombination mit !IF oder !ELSE IF entspricht !IFDEF oder !ELSE IFDEF. DEFINED kann aber auch in komplexen Ausdrücken mit binären logischen Operatoren verwendet werden.
Bei EXIST handelt es sich um einen logischen Operator, der auf Pfade des Dateisystems angewendet wird. EXIST (path) ist wahr, wenn path vorhanden ist. Das Ergebnis von EXIST kann in binären Ausdrücken verwendet werden. Wenn path Leerzeichen enthält, wird es in doppelte Anführungszeichen eingeschlossen.
Für Ganzzahlkonstanten können unäre Operatoren für numerische Negationen (-), Komplemente (~) und logische Negationen (!) verwendet werden.
Die folgenden binären Operatoren können für Ausdrücke verwendet werden:
Operator |
Beschreibung |
Operator |
Beschreibung |
---|---|---|---|
+ |
Addition |
|| |
Logisches OR |
– |
Subtraktion |
<< |
Nach links verschieben |
* |
Multiplikation |
>> |
Nach rechts verschieben |
/ |
Division |
== |
Gleichheit |
% |
Modulooperator |
!= |
Ungleichheit |
& |
Bitweises AND |
< |
Kleiner als |
| |
Bitweises OR |
> |
Größer als |
^ |
Bitweises XOR |
<= |
Kleiner oder gleich |
&& |
Logisches AND |
>= |
Größer oder gleich |
Um zwei Zeichenfolgen miteinander zu vergleichen, werden der Gleichheitsoperator (==) und der Ungleichheitsoperator (!=) verwendet. Zeichenfolgen in doppelte Anführungszeichen eingeschlossen.