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).
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 …
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. …
Ich versuche, GNU grep zu erstellen, und wenn ich make starte, bekomme ich: [snip] /bin/bash: line 9: makeinfo: command not found Was ist makeinfo und wie bekomme ich es? (Dies ist Ubuntu, wenn es einen Unterschied macht)
Ich habe gerade meinen Computer auf Mac OS X Lion aktualisiert und bin zum Terminal gegangen und habe "make" eingegeben, aber es heißt: -bash: make: Befehl nicht gefunden Wohin ging der Befehl "make"?
Ich möchte die folgenden Befehle ausführen: ./a.out 1 ./a.out 2 ./a.out 3 ./a.out 4 . . . and so on Wie schreibe ich dieses Ding als Schleife in eine Makefile?
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 …
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 …
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 …
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 …
Die meisten Linux-Apps sind kompiliert mit: make make install clean Nach meinem Verständnis nimmt make Namen von Build-Zielen als Argumente. Dies installgilt auch für ein Ziel, das einige Dateien kopiert, und danach cleanfür ein Ziel, das temporäre Dateien entfernt. Aber welches Ziel wird erstellt make, wenn keine Argumente angegeben werden …
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 …
Ich habe einige Demos heruntergeladen und sie werden mit Makefile.win und Makefile.sgi geliefert. Wie kann ich diese in Windows ausführen, um die Demos zu kompilieren?
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.