Makefile-Erweiterung

7

Ich schreibe ein C-Programm mit gcc in Cygwin. Meine Frage ist, wie erstellt man ein Makefile? Ich meine, welche Dateierweiterung hat es? Ich weiß, wie man einfache Regeln schreibt, aber ich kann eine Datei im Texteditor nicht mit der richtigen Erweiterung speichern. Unmöglich, irgendwelche Informationen darüber zu finden ... Das ist prolly eine super-newbie Frage. Also lass die Flammen anfangen. :-P

    
The Opposite of Garbage 18.10.2010, 19:21
quelle

8 Antworten

11

Da Sie Cygwin verwenden, was wiederum bedeutet, dass Sie GNU make verwenden, zitiere ich die relevanten Teil der GNU machen Handbuch :

  

3.2 Welchen Namen geben Sie Ihrem Makefile

?      

Standardmäßig sucht make nach dem   makefile, versucht es folgendes   Namen in der angegebenen Reihenfolge: GNUmakefile, makefile   und Makefile. Normalerweise solltest du anrufen   Ihr Makefile entweder Makefile oder   Makefile. (Wir empfehlen Makefile   weil es prominent in der Nähe erscheint   der Anfang einer Verzeichnisliste,   in unmittelbarer Nähe anderer wichtiger Dateien wie z   als README.) Der erste Name wurde überprüft,   GNUmakefile, wird nicht empfohlen für   die meisten Makefiles. Du solltest das benutzen   Name, wenn Sie ein Makefile haben, das ist   spezifisch für GNU make, und wird es nicht sein   verstanden durch andere Versionen von make.   Andere make-Programme suchen nach Makefile   und Makefile, aber nicht GNUmakefile.

[...]

  

Wenn Sie einen nicht standardmäßigen Namen für Ihr Makefile verwenden möchten, können Sie den Namen des Makefiles mit dem Namen angeben   '-f' oder '--file' Option. Die Argumente '-f name' oder '--file = name' veranlassen make, den Dateinamen zu lesen   als Makefile. Wenn Sie mehrere "-f" oder "--file" -Optionen verwenden, können Sie mehrere angeben   Makefiles. Alle Makefiles werden in der angegebenen Reihenfolge effektiv verkettet. Der Standard   Makefile-Namen GNUmakefile, Makefile und Makefile werden nicht automatisch überprüft, wenn Sie '-f' angeben   oder '--file'.

    
Peter G. 18.10.2010 19:29
quelle
8

Der Standarddateiname für ein Makefile ist Makefile ; Das ist der Name, nach dem GNU Make sucht, wenn Sie es ohne Optionen ausführen. Mit dem Argument -f können Sie bei Bedarf einen alternativen Dateinamen angeben.

    
Ignacio Vazquez-Abrams 18.10.2010 19:24
quelle
1

Sie heißen normalerweise Makefile oder makefile . Keine Erweiterung Das ist aber nur eine Konvention.

Es ist nicht trivial, ein Makefile zu schreiben, einen Leitfaden oder ein Tutorial nachzuschlagen =)

    
slezica 18.10.2010 19:24
quelle
1

An den wenigen Stellen, an denen ich Erweiterungen für Makefile-Namen gesehen habe, waren sie entweder .make oder .gmk , und selbst dann sind diese Erweiterungen normalerweise für Makefile -Fragmente reserviert enthalten von Master-Dateien mit einem der Standardnamen.

    
dmckee 18.10.2010 19:49
quelle
0

Ein Makefile wird normalerweise nur Makefile genannt.

    
Klaus Byskov Pedersen 18.10.2010 19:24
quelle
0

Sie können sie benennen, was auch immer Sie mögen, aber ".mak" sieht richtig aus.

... google ... Ссылка ... ja

    
pmg 18.10.2010 19:25
quelle
0

Makefiles haben normalerweise keine Erweiterung. Sie werden typischerweise 'Makefile' oder 'Makefile' genannt. Wenn jemand eine komplexe Gruppe von Makefiles schreibt, die sich gegenseitig enthalten, erhalten die enthaltenen Dateien manchmal die Erweiterung .mak, um anzuzeigen, dass es sich um Makefiles handelt, auch wenn sie nicht Makefile genannt werden.

    
swestrup 18.10.2010 19:30
quelle
0

Öffnen Sie Ihren bevorzugten Texteditor und erstellen Sie eine Datei namens Makefile .

Der Inhalt kann variieren, aber vorausgesetzt, Sie haben ein Programm namens hello.c , ein sehr, sehr einfaches Makefile , das kompiliert werden könnte:

%Vor%

Danach führen Sie run von cygwin shell:

aus %Vor%

Und dein Makefile wird versuchen, hello.c zu kompilieren. Wenn alles wie erwartet verläuft, können Sie das Programm hello.exe ausführen, indem Sie den folgenden Shell-Befehl ausführen:

%Vor%

Hier ist ein nettes Tutorial zu Makefiles .

    
Pablo Santa Cruz 18.10.2010 19:24
quelle

Tags und Links