simples Makefile und doch Probleme

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
mercury
Beiträge: 11
Registriert: 24.07.2006 23:19:33
Kontaktdaten:

simples Makefile und doch Probleme

Beitrag von mercury » 26.11.2006 14:59:10

Hallo,

ich hab ein kleines Problem mit meinem Makefile. Ist mein erstes, und auch ganz klein, daher auch einfach nur ein Verständnisproblem, bei dem mir die gefundenen Tutorials nicht weiterhelfen.

Ich habe ein C Programm (6_1.c) und eine zugehörige Funktion, die ich per
#include "uint_input.c"
im Hauptprogramm einbinde. Mein Makefile sieht dann so aus (ist doch klein genug um es direkt zu posten?):

CC=cc
#Ziel uintfcopy
uintfcopy: 6_1.o
$(CC) -o uintfcopy 6_1.c -lm

#Abhängigkeitsliste
6_1.o: 6_1.c
$(CC) -c 6_1.c

Funktioniert auch. Aber meine Professorin möchte das (wahrscheinlich auch berechtigt) so haben, dass die Funktion kompiliert und mit gelinkt wird. Und ich soll sie als Headerdatei includen.

Meine Fragen (nein, Prof ist dafür leider kein Ansprechpartner):

1. Headerdatei=einfach umbennenen in .h statt .c? Oder ist ein headerfile schon kompiliert? Muss ich dann im Makefile das Headerfile kompilieren?
2. Wie sieht dann das Linken aus?

Wenn ihr ein vernünftiges Tutorial kennt, wo eben solche Sachen auch erwähnt werden, ich lese gerne..

Bin dankbar für jede Hilfestellung!

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 26.11.2006 15:32:10

Kompilieren:

Code: Alles auswählen

gcc -c uint_input.c
gcc -c 6_1.c
Linken:

Code: Alles auswählen

gcc -o uint_fcopy uint_input.o 6_1.o -lm
Außerdem brauchst du noch einen Header uint_input.h (indem die Funktion aus uint_input.c deklariert wird), den du in 6_1.c einbindest.

Tutorial gibt es hier, als Teil des GNU C Tutorials.
Zuletzt geändert von Spasswolf am 26.11.2006 15:37:36, insgesamt 1-mal geändert.

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von GoKi » 26.11.2006 15:37:15

Da dir wohl noch nicht ganz klar ist, was eine Header-Datei überhaupt ist.
http://de.wikibooks.org/wiki/C-Programm ... ene_Header
MfG GoKi
:wq

mercury
Beiträge: 11
Registriert: 24.07.2006 23:19:33
Kontaktdaten:

Beitrag von mercury » 26.11.2006 15:41:39

ok, damit komme ich erstmal ein Stück weiter.. Ich versuch mit mal weiter dran, ansonsten meld ich mich hier wieder :wink:

Besten Dank soweit!

Antworten