Funkenstrahlen Podcasting, Netzpolitik, App-Entwicklung

Environment Variable in Makefile setzen

Ich habe gerade das jekyll-assets Plugin hier eingebaut, um CSS und JavaScript Dateien komprimiert zu generieren. Dafür ist es nötig, dass ich vor dem jekyll build Befehl noch die Umgebungsvariable JEKYLL_ENV entweder auf production oder auf development setze.

Ich hatte dafür in mein Makefile folgendes geschrieben:

build:
  export JEKYLL_ENV=production
  jekyll build

Das funktioniert allerdings nicht. Die Umgebungsvariable kommt nicht bei jekyll build an. Das lässt sich so gut sehen:

build:
  export JEKYLL_ENV=production
  echo $JEKYLL_ENV

Der Grund dafür ist, dass make für jeden Befehl eine eigene Subshell aufmacht. Lösen lässt sich das Problem also, indem ich die Umgebungsvariable in der selben Zeile setze:

build:
  JEKYLL_ENV=production jekyll build

Ich dachte ich schreibe das mal hier auf, da ich zu diesem Problem kaum etwas im Netz gefunden habe.