Legen Sie ein temporäres Umfeld ($PFAD)

Kann ich fallen in ein X-Y-problem mit dieser Frage, und ich möchte Sie ermutigen, Jungs, mich zu korrigieren, wenn ich falsch bin.

Ich würde gerne konfigurieren einer toolchain-Umgebung arbeiten können, die auf verschiedenen Plattform-und andere compiler-version. Ich anfangs schrieb ein langes Perl-Skript generieren, dass die Konfiguration Makefile enthalten nur Variablen. Ich wollte zu KÜSSEN, damit ich nicht zu schreiben, komplexe Dinge automake oder autoconf. Zudem wollte ich den Umbau-Prozess sehr schnell. In meinem Fall, dass meine home made ./configure tut alles, was in weniger als 1 Sekunde. Ich bin sehr glücklich damit.

Aber ich fülle die ich verwenden kann, ein besserer Ansatz ist die Verwendung von environment-Variablen. Statt zu schreiben ein Makefile mit den Variablen kann ich die aktuelle shell-Umgebung direkt. Zum Beispiel:

export cc=gcc

Leider einige Variablen sind bereits erklärt im $PATH. Die Lösung ist das hinzufügen der neuen $PATH in die front des anderen:

export PATH=/new/toolchain/path:$PATH

echo $PATH
/new/toolchain/path:/old/toolchain/path:/usr/bin:/bin...

Fülle ich aus, das ist hässlich ich würde, wie um die alte Weg, bevor Sie die neue.

Schließen:

  1. Ist es besser, auf die Umwelt, anstatt der custom makefiles um eine build-Konfiguration?
  2. Wie man richtig passen Sie die vorhandenen Umgebungsvariablen?
  • Haben Sie versucht, zu verwenden, high-level-build-Systeme wie SCons, CMake, autoconf?
  • Gut, CMake verwendet machen und ich will, dass die Dinge so einfach wie möglich. So machen wäre besser in meinem Fall. Autoconf scheint ziemlich Komplex und ich sollte wirklich finden eine gute Anleitung. Ich bin immer noch mit ihm verloren. Ich sollte wirklich nehmen Sie einen Blick auf SCons. Ich weiß es nicht.
  • Nur eine Anmerkung: Der export-Befehl, den Sie geschrieben hat nicht dazu führen, den Pfad, den Sie geschrieben (fehlende $ - Zeichen).
  • Recht, ich habe es behoben.
  • Rake oder tup sind ziemlich gut. Stellen Sie saugt für nichts, aber die meisten grundlegenden Sachen.
InformationsquelleAutor nowox | 2015-05-18
Schreibe einen Kommentar