Hi,

beim Erstellen und Testen diverser Makefiles auf meinem System 
(testing/unstable) ist mir
aufgefallen, dass die Umgebungsvariablen der Shell (Bash 3.1) nicht importiert 
werden, was
ja normalerweise der Fall sein sollte, oder? Das Test-Makefile (make-Version 
3.81)

os:
        echo $(OSTYPE)

liefert dann

[EMAIL PROTECTED]:newton 192>make --warn-undefined-variables
makefile:2: Warnung: undefinierte Variable »OSTYPE«
echo

und somit nur eine schicke Leerzeile, obwohle die Variable laut "set" definiert 
ist.
[EMAIL PROTECTED]:newton 193> set |grep OSTYPE
46:OSTYPE=linux-gnu

Insgesamt ist mir folgendens aufgefallen:
Wenn ich Variablen in meiner .bashrc eintrage, so sind sie dann auch im 
Makefile verfügbar
(das enprach ca. der Ausgabe von "printenv")
Variablen, die "set" anzeigt (wie z. B. OSTYPE), nicht aber "printenv", stehen 
nicht zur
Verfügung. Deswegen also meine Fragen:

1) Welche Variablen genau spuckt printenv aus?
2) Welche Variablen im teilweisen Gegensatz dazu spuckt "set" aus?
3) Wo genau werden denn bloß die ganzen (Standard)-Variablen gesetzt, die mir 
"set"
ausgibt, ein grep -R in /etc    liefert mir weder OSTYPE, HOSTNAME, HOSTTYPE 
usw., weder
in /etc/profile, /etc/skel noch sonst wo.
3)Welche Umgebungsvariablen liest make denn nun genau aus?

Irgendwas in dem ganzen Variablen-Definier-und-Gebrauch-Durcheinander habe ich 
wohl falsch
verstanden, aber was?

Vielen Dank und viele Grüße,
Andre





-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an