Einzelnen Beitrag anzeigen
Alt 25.07.2005, 16:45   #3 (permalink)
kerri
Die Kerrimaus
 
Benutzerbild von kerri
 

Registriert seit: 17.11.2003
Beiträge: 2.987

kerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz seinkerri kann auf vieles stolz sein

Standard AW: makefile für c-programm

Makefiles nennt man ueblicherweise 'Makefile' (mit Grossem M und ohne .c), sie sind ja schliesslich kein C-Code (der ja ueblicherweise die Endung .c traegt.)


Zum Makefile selbst:
Die -o Optionen bei den gcc Kompilierbefehlen sind nicht so ganz richtig, -o bedeutet, er soll das [O]utputfile so nennen.

Code:
gcc -g -o main.c
kompiliert also 'gar nichts', und nennt es main.c.
Die richtige Syntax waere:
Code:
gcc -optionen -o outputname.o sourcefile.c
also in Deinem Fall:
Code:
gcc -g -o main.o main.c
jetzt wird main.c kompiliert und das kompilierte wird main.o genannt.

Das Makefile sieht dann geaendert etwa so aus:
Code:
programm: main.o einausgabe.o berechnung.o
	gcc -g -o programm main.o einausgabe.o berechnung.o

main.o: main.c headerdatei.h
	gcc -g -o main.o main.c

einausgabe.o: einausgabe.c headerdatei.h
	gcc -g -o einausgabe.o einausgabe.c

berechnung.o: berechnung.c headerdatei.h
	gcc -g -o berechnung.o berechnung.c
(Einrueckung mit TAB! nicht mit Leerzeichen)

Wenn Du noch ein Target namens clean hinzufuegst
Code:
clean: 
	rm -f programm main.o einausgabe.o berechnung.o
kannst Du mit
Code:
make clean
alle moeglichen Binaries und Object-files loeschen, und den Kompiliervorgang 'wirklich' von vorn beginnen, falls Du an einer der Sourcen was aenderst (das sollte eigenltich auch so gehen, aber ich habe schon Pferde *selbstzensiert* gesehen make clean ist auf jeden Fall recht nuetzlich )

Und zu guter letzt noch einen Link: gmake Tutorial


Viel Glueck, gruesse, kerri
kerri ist offline   Mit Zitat antworten