Forum: PC-Programmierung Makefile erstellen


von Ma B. (drumstick)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich  arbeite das c tutorial 
[http://www.c-howto.de/tutorial-makefiles.html]

mit dem Dev-c++ durch, zum Thema Makefiles.
1
prog: main.o foo.o bar.o
2
      gcc -o prog main.o foo.o bar.o
3
4
main.o: main.c
5
        gcc -c main.c
6
7
        foo.o: foo.c
8
        gcc -c foo.c
9
  
10
bar.o: bar.c
11
       gcc -c bar.c

Code meines makefile.c

Ist das file unvollständig?
Habs noch nicht geschnallt!

danke und Gruss!

M.B.

von make (Gast)


Lesenswert?

make ist etwas pingelig. Zeilen mit Befehlen sind nicht nur 
"eingerückt", sondern das erste Zeichen in der Zeile muss ein 
Tabulator-Zeichen sein.

von Ma B. (drumstick)


Lesenswert?

Jeder Zeile im makefile? Dies hab ich auch schon versucht!

von Tom K. (ez81)


Lesenswert?

Die Zeile mit 'foo.o: foo.c' darf nicht eingerückt sein. Sonst sieht es 
OK aus (wenn das mit den Tabs passt).

von hp-freund (Gast)


Lesenswert?

Das Makefile hat keine Nachnamen. Nur Makefile nicht Makefile.c .

von was? (Gast)


Lesenswert?

M. B. schrieb:
> Jeder Zeile im makefile?

Die eingerückten Zeilen müssen mit einem "Tabulator" beginnen. Schau mal 
ob dein Editor auf "Anstelle von Tabulatoren Leerzeichen einfügen" 
eingestellt ist.

Außerdem schreibt Tutorial:
> Dazu schreiben wir jetzt als vierte Datei noch das Makefile, diese trägt
> immer den Namen makefile.

von Ma B. (drumstick)


Lesenswert?

Ok, das Problem war der Namen des Makefile

Jetzt funktionierts!

Vielen Dank!

M.B.

von Tom K. (ez81)


Lesenswert?

Nur der Vollständigkeit halber: Das Makefile muss nicht zwingend 
'Makefile' heißen, nur findet make es dann nicht von selbst, sondern 
muss mit dem Parameter
1
make -f mein_bloed_benanntes_makefile.txt
darauf hingewiesen werden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.