Makefile soll 32/64bit unterscheiden

11/04/2008 - 07:25 von Bernhard Kornberger | Report spam
Wie man im Makefile prüfen, ob auf einem 32bit- oder
64bit-Betriebssystem compiliert wird? Ziel wàre:

Wenn 32bit: BIN_FILENAME=EXECUTABLE32
Wenn 64bit: BIN_FILENAME=EXECUTABLE64

Danke!
lgB
 

Lesen sie die antworten

#1 Arthur Erhardt
11/04/2008 - 08:44 | Warnen spam
Bernhard Kornberger wrote:

Wie man im Makefile prüfen, ob auf einem 32bit- oder
64bit-Betriebssystem compiliert wird? Ziel wàre:

Wenn 32bit: BIN_FILENAME=EXECUTABLE32
Wenn 64bit: BIN_FILENAME=EXECUTABLE64


Da es mehr als eine 64bit Architektur gibt, erstmal eine Vorbedingung
als Frage. Sprichst Du entweder von i386 vs. x86_64 oder von etwas
anderem?

Falls ersteres der Fall ist, dann hilft Dir uname -m, -p, oder -i,
und Unterscheidung nach "i[3456]86" gegen "x86_64".
Ein Compilat von printf("%i",sizeof(void*)); und Auswertung der
Ausgabe wàre auch ein Weg, wobei das eher was für autoconf wàre.

HTH,

Arthur

arthur dot erhardt at pit dot physik dot uni dash tuebingen dot de
*pgp key available* dg7sea

A physicist is an atom's way of knowing about atoms.

Ähnliche fragen