2017-12-31 55 views
3

Ich baue ein Programm vonWie speichere ich ./configure Buildoptionen für die Befehlszeile?

./configure --example-option-1 --example-option-2 --etc 

dann läuft

make && make install 

Gibt es eine Möglichkeit, diese ./configure Optionen zu speichern, damit ich das nächste Mal laufen ./configure sie standardmäßig angewendet werden?

Das heißt, später könnte ich will

./configure --example-option-3 

Und haben zuvor gespeicherte Optionen gelten auch auszuführen. Oder noch besser, fügen Sie --example-option-3 zu der gleichen "Optionsdatei" hinzu und führen Sie dann einfach ./configure erneut aus.

Antwort

2

Das erreichen Sie mit xargs, das die Argumente für den auszuführenden Befehl von der Standardeingabe übernimmt.

Für die Konfiguration in die Datei zu speichern config:

echo --example-option-1 --example-option-2 --etc | tee config | xargs ./configure 

Das heißt, die Datei config werden die Argumente enthalten, die auf echo ‚s Kommandozeile angegeben wurden:

$ cat config 
--example-option-1 --example-option-2 --etc 

Für das Abrufen gespeicherte Konfiguration aus dieser Datei config:

cat config | xargs ./configure 

Das heißt, ./configure wird mit den Argumenten ausgeführt, die an der Standardeingabe mittels xargs erhalten werden.

Wenn später, möchten Sie, dass die gespeicherte Konfiguration und eine zusätzliche Option anwenden, --example-option-3, dann:

cat config | xargs ./configure --example-option-3 
+1

Perfekt, danke! – kbdluv

1

Sie nicht genau sagen, warum Sie configure erneut ausgeführt wird, sondern nur darauf hinweisen, dass configure erstellt ein config.status Skript. Dieses Skript erstellt alle Vorlagen mit den von Ihnen bereitgestellten Konfigurationsoptionen neu.

Sie können den Befehl config.status --recheck auch verwenden, um configure mit den gleichen Befehlszeilenoptionen erneut auszuführen, die ursprünglich bereitgestellt wurden.

Und natürlich, wenn Sie automake verwenden, enthalten die generierten Makefiles Regeln, um alle diese Dateien automatisch zu aktualisieren, wenn eine Vorlage, oder configure.ac, geändert wird, so dass Sie es nicht manuell machen müssen; Führen Sie einfach make.

Wenn Sie also bereits ein konfiguriertes Verzeichnis haben, brauchen Sie nichts Spezielles, um die Konfiguration mit denselben Argumenten wiederherzustellen.