Als «makefile» getaggte Fragen

Ein Makefile ist eine Eingabedatei für die Build-Steuerungssprache / das Tool make. Es gibt Ziele und Abhängigkeiten zusammen mit zugehörigen Befehlen an, die zum Aktualisieren der Ziele ausgeführt werden sollen (auch als Rezepte bezeichnet).

15
So drucken Sie eine Variable im Makefile aus
In meinem Makefile habe ich eine Variable 'NDK_PROJECT_PATH'. Meine Frage ist, wie ich sie beim Kompilieren ausdrucken kann. Ich habe Make file echo mit der Zeichenfolge "$ PATH" gelesen und versucht: @echo $(NDK_PROJECT_PATH) @echo $(value NDK_PROJECT_PATH) Beides gibt mir "build-local.mk:102: *** missing separator. Stop." Weiß jemand, warum es bei mir …
246 makefile  gnu-make 


7
So weisen Sie die Ausgabe eines Befehls einer Makefile-Variablen zu
Ich muss einige make-Regeln nur bedingt ausführen, wenn der installierte Python größer als eine bestimmte Version ist (z. B. 2.5). Ich dachte, ich könnte so etwas wie Folgendes ausführen: python -c 'import sys; print int(sys.version_info >= (2,5))' und dann die Ausgabe ('1' wenn ok, '0' sonst) in einer ifeqmake-Anweisung verwenden. …
225 shell  makefile 

4
Warum glaubt man, das Ziel sei aktuell?
Das ist mein Makefile: REBAR=./rebar REBAR_COMPILE=$(REBAR) get-deps compile all: compile compile: $(REBAR_COMPILE) test: $(REBAR_COMPILE) skip_deps=true eunit clean: -rm -rf deps ebin priv doc/* docs: $(REBAR_COMPILE) doc ifeq ($(wildcard dialyzer/sqlite3.plt),) static: $(REBAR_COMPILE) build_plt analyze else static: $(REBAR_COMPILE) analyze endif Ich kann make compilemehrmals laufen und bekommen aromanov@alexey-desktop:~/workspace/gm-controller/lib/erlang-sqlite$ make compile ./rebar get-deps …
223 makefile 





6
Wie kann ich die Bash-Syntax in Makefile-Zielen verwenden?
Ich finde die Bash- Syntax oft sehr hilfreich, z. B. Prozessersetzung wie in diff <(sort file1) <(sort file2). Ist es möglich, solche Bash-Befehle in einem Makefile zu verwenden? Ich denke an so etwas: file-differences: diff <(sort file1) <(sort file2) > $@ In meinem GNU Make 3.80 gibt dies einen Fehler …
208 bash  shell  makefile 

4
Definieren Sie make variable zur Ausführungszeit der Regel
In meiner GNUmake-Datei möchte ich eine Regel haben, die ein temporäres Verzeichnis verwendet. Beispielsweise: out.tar: TMP := $(shell mktemp -d) echo hi $(TMP)/hi.txt tar -C $(TMP) cf $@ . rm -rf $(TMP) Wie oben beschrieben, erstellt die obige Regel das temporäre Verzeichnis zum Zeitpunkt des Analysierens der Regel . Dies …
208 makefile  gnu-make 

12
Wie erhalte ich das aktuelle relative Verzeichnis Ihres Makefiles?
Ich habe mehrere Makefiles in app-spezifischen Verzeichnissen wie diesem: /project1/apps/app_typeA/Makefile /project1/apps/app_typeB/Makefile /project1/apps/app_typeC/Makefile Jedes Makefile enthält eine .inc-Datei in diesem Pfad eine Ebene höher: /project1/apps/app_rules.inc In app_rules.inc lege ich das Ziel fest, an dem die Binärdateien beim Erstellen platziert werden sollen. Ich möchte, dass sich alle Binärdateien auf ihrem jeweiligen app_typePfad …

17
Wie erhält man die Liste der Ziele in einem Makefile?
Ich habe ein bisschen Rake verwendet (ein Ruby-Make-Programm) und es gibt eine Option, um eine Liste aller verfügbaren Ziele zu erhalten, z > rake --tasks rake db:charset # retrieve the charset for your data... rake db:collation # retrieve the collation for your da... rake db:create # Creates the databases defined …


15
Wie erzwingen Sie ein Makefile, um ein Ziel neu zu erstellen?
Ich habe ein Makefile, das ein anderes Makefile erstellt und dann aufruft. Da dieses Makefile mehr Makefiles aufruft, die die Arbeit erledigen, ändert es sich nicht wirklich. Daher wird immer daran gedacht, dass das Projekt erstellt und auf dem neuesten Stand ist. dnetdev11 ~ # make make: `release' is up …
182 linux  makefile 


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.