Projekte mit make erstellen
Projekte mit make erstellen
Hallo zusammen
Ich möchte ein Projekt mit make erstellen, leider habe ich damit Probleme:
https://www.proggen.org/doku.php?id=c:t ... build:make
Als welches Format muss ich die Datei Makefile abspeichern?
Welchen Inhalt muss die Datei make.bat haben?
Danke im Voraus!
Liebe Grüße
von Xeon
Ich möchte ein Projekt mit make erstellen, leider habe ich damit Probleme:
https://www.proggen.org/doku.php?id=c:t ... build:make
Als welches Format muss ich die Datei Makefile abspeichern?
Welchen Inhalt muss die Datei make.bat haben?
Danke im Voraus!
Liebe Grüße
von Xeon
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Projekte mit make erstellen
Hi, Xeon,
wenn Du make aktiv brauchst, mache ich mich da mal dran, dass das kompletiert wird.
Das Makefile heißt "Makefile", nicht "Make.bat" und ist ein ganz normales Textfile.
wenn Du make aktiv brauchst, mache ich mich da mal dran, dass das kompletiert wird.
Das Makefile heißt "Makefile", nicht "Make.bat" und ist ein ganz normales Textfile.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Projekte mit make erstellen
Kommt die Verwirrung vielleicht daher, dass in der übergeordneten Seiten ein eigenes "make.bat" (bzw. "make.sh") erstellt wird?
https://www.proggen.org/doku.php?id=c:tutorial:build
"make.bat" ist eine extrem vereinfachte Eigenimplementierung von einem "echten" Makefile.
https://www.proggen.org/doku.php?id=c:tutorial:build
"make.bat" ist eine extrem vereinfachte Eigenimplementierung von einem "echten" Makefile.
Re: Projekte mit make erstellen
Ich lerne make, weil es im bereich C Tutorial Kapitel Build-Systeme am Ende empfohlen wird.Xin hat geschrieben: wenn Du make aktiv brauchst, mache ich mich da mal dran, dass das kompletiert wird.
Verstehe die Kapitel gehören nicht zusammen.nufan hat geschrieben: Kommt die Verwirrung vielleicht daher, dass in der übergeordneten Seiten ein eigenes "make.bat" (bzw. "make.sh") erstellt wird?
https://www.proggen.org/doku.php?id=c:tutorial:build
Diesen Text habe ich in einem Editor geschrieben und als Makefile gespeichert, wie es im Turtorial heißt: Großes 'M' beachten:
Code: Alles auswählen
all: testprogramm
main.o: main.c
gcc -c -o main.o main.c
node.o: node.c
gcc -c -o node.o node.c
parameter.o: parameter.c
gcc -c -o parameter.o parameter.c
testprogramm: node.o main.o parameter.o
gcc -o testprogramm node.o main.o parameter.o
clean:
rm testprogramm *.o
ich die Konsole aufgerufen und die Datei Makefile.bat geöffnet die im selben Verzeichnis ist wie meine Projektdateien. Das Projekt wurde Compiliert, aber es steht folgende Fehlermeldung in der Konsole immer: "Der Befehl "all:" ist entweder falsch geschrieben oder konnte nicht gefunden werden.", "Der Befehl "main.o:" ist entweder falsch geschrieben oder
konnte nicht gefunden werden." etc...
Die Projektdateien sind die selben wie im C Turtorial: node.c main.c...
Verwirrend ist, dass in der Konsole von Xin "make# make" steht:
Code: Alles auswählen
xin@trinity:/home/xin/proggen.org/tutorial/build/make# make
gcc -c -o node.o node.c
gcc -c -o main.o main.c
gcc -c -o parameter.o parameter.c
gcc -o testprogramm node.o main.o parameter.o
xin@trinity:/home/xin/proggen.org/tutorial/build/make# ls -l testprogramm
-rwxr-xr-x 1 root root 9642 20. Dez 13:04 testprogramm
Liebe Grüße
Von Xeon
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Projekte mit make erstellen
Da spricht nichts gegen, aber make ist hier noch nicht groß beschrieben.
Das C-Tutorial soll lediglich den Blick auf Make lenken, dass derartiges existiert.
Ich habe die Datei make.bat genannt, weil ich zwar auf dem Make hinarbeitete, aber erstmal nur die Idee vorstellen wollte, bevor ich erkläre, dass es da ein spezielles Tool für gibt.Xeon hat geschrieben: ↑Fr Apr 24, 2020 12:56 pmVerstehe die Kapitel gehören nicht zusammen.nufan hat geschrieben: Kommt die Verwirrung vielleicht daher, dass in der übergeordneten Seiten ein eigenes "make.bat" (bzw. "make.sh") erstellt wird?
https://www.proggen.org/doku.php?id=c:tutorial:build
Du musst das Programm "Make" installieren.Xeon hat geschrieben: ↑Fr Apr 24, 2020 12:56 pmVerwirrend ist, dass in der Konsole von Xin "make# make" steht:Habe auch probiert nur "make" in der Konsole einzugeben, trotzdem steht: Der Befehl "make" ist entweder falsch geschrieben oder konnte nicht gefunden werden.Code: Alles auswählen
xin@trinity:/home/xin/proggen.org/tutorial/build/make# make gcc -c -o node.o node.c gcc -c -o main.o main.c gcc -c -o parameter.o parameter.c gcc -o testprogramm node.o main.o parameter.o xin@trinity:/home/xin/proggen.org/tutorial/build/make# ls -l testprogramm -rwxr-xr-x 1 root root 9642 20. Dez 13:04 testprogramm
Das ist beispielsweise beim MinGW dabei, wenn Du Windows nutzt.
Da muss ich wohl nochmal gucken, ob darauf ausreichend hingewiesen wird.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Projekte mit make erstellen
Diese Zeile beinhaltet einige Informationen, die von der Konsole bereitgestellt werden:Xeon hat geschrieben: ↑Fr Apr 24, 2020 12:56 pmVerwirrend ist, dass in der Konsole von Xin "make# make" steht:Code: Alles auswählen
xin@trinity:/home/xin/proggen.org/tutorial/build/make# make
* "xin" ist der Name des Benutzers, der die Kommandos ausführt.
* "trinity" ist der Name des Rechners, auf dem das Kommando ausgeführt wird.
* "/home/xin/proggen.org/tutorial/build/make" ist das Verzeichnis, in dem das Kommando ausgeführt wird.
* "#" wird hier als Symbol verwendet, um darzustellen, dass danach ein Kommando eingegeben werden kann. Oft sieht man hier auch "$", üblicherweise wird "#" unter Linux für den administrativen Benutzer ("root") verwendet.
* "make" ist das tatsächlich eingegebene Kommando.
Das erste "make" ist also der Ordner, in dem gearbeitet wird.
Übrigens hast du auch in cmd.exe ein paar zusätzliche Informationen, allerdings deutlich weniger:
Code: Alles auswählen
C:\User\nufan> make.exe
* ">" wird wie "#" oben als Symbol verwendet, um anzudeuten, dass jetzt ein Kommando eingegeben werden kann.
* "make.exe" ist das tatsächliche eingegebene Kommando.
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Projekte mit make erstellen
...und direkt noch mal eine virtuelle Backpfeife im Nebensatz kassiert...
Man sollte nicht als root (aka Administrator) arbeiten, denn wenn man man Mist baut, fragt das System nicht nach, sondern tut, was befohlen wurde - das gilt auch für Befehle wie lösche das aktuelle Verzeichnis. Das macht der ohne Nachfrage und auch rekursiv über alles, was da eingehängt ist. "root darf das". Unix hat keine Laufwerksbuchstaben, die Festplatten hängt man als Verzeichnis ein. Das geht auch mit kompletten Servern, die man in ein Verzeichnis einhängt. Und so hat der Chef eines Bekannten von mir mal versehentlich mit dem Befehl die Festplatten von drei komplette Festplattenserver gelöscht. Mit Betriebsystem und vor allem mit allen Daten. Deswegen sollte man nicht als root arbeiten.
Keine Ahnung, warum ich da offenbar als root unterwegs war, aber Message ist angekommen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Projekte mit make erstellen
Ich wollte damit eigentlich anmerken, dass ich die Kombination ungewöhnlich finde. "xin" deutet auf einen "normalen" (nicht-root) Benutzer hin, "#" allerdings auf einen administrativen Benutzer. Wärst du wirklich als root unterwegs gewesen, hätte ich mir entsprechend "root@trinity:..." erwartet. Klar kann man die Anzeige natürlich beliebig konfigurieren, gerade in einem Tutorial für Einsteiger erleichtern die gängigen Konventionen aber das Verständnis. Ich würde sogar vorschlagen das an dieser Stelle komplett wegzulassen.
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Projekte mit make erstellen
Hmm... gerade mal ausprobiert.nufan hat geschrieben: ↑Sa Apr 25, 2020 8:40 amIch wollte damit eigentlich anmerken, dass ich die Kombination ungewöhnlich finde. "xin" deutet auf einen "normalen" (nicht-root) Benutzer hin, "#" allerdings auf einen administrativen Benutzer. Wärst du wirklich als root unterwegs gewesen, hätte ich mir entsprechend "root@trinity:..." erwartet.
Code: Alles auswählen
xin@dualpower:~/xsd/make$ sudo bash
[sudo] Passwort für xin:
root@dualpower:/home/xin/xsd/make#
Naja, irgendwie muss da eine glaubwürdige Eingabezeile hin. Klar kann man auch einfach > oder sowas nehmen, um anzudeuten, dass man nix andeuten will.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
mingw32-make?
Habe MinGW schon länger installiert, ist es mingw32-make?Xin hat geschrieben: Du musst das Programm "Make" installieren.
Das ist beispielsweise beim MinGW dabei, wenn Du Windows nutzt.