Forum: Mikrocontroller und Digitale Elektronik lcd.c in counter.c mittels Makefile funktioniert nicht


von Cetin A. (exaware)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich programmiere schon länger AVR mittels Bascom-Avr. Nun bin ich auf C 
umgestiegen. Grundlagen in C habe ich durch meine Technikerschule.
Nun zu meinem Problem, meine Anwendung heißt counter.c und die 
LCD-Rotinen sind in lcd.c hinterlegt. Die Dateien lcd_drv.h, main.h, 
mydefs.h gehören ebenfalls zu den LCD-Routinen.
Nun möchte ich die lcd.c mittels Makefile in counter.c einbinden. Wenn 
ich das tue, bekomme ich folgende Fehlermeldung:

makefile:533: *** target pattern contains no `%'.  Stop.

Wenn ich den Inhalt von lcd.c manuell in die counter.c kopiere, 
funktioniert
es wunderbar. Ich möchte aber die lcd.c auch in spätere Anwendungen 
einbinden können. Wenn ich in Makefile die Option "include counter.c" 
aktiviere bekomme ich folgende Fehlermeldung:

makefile:533: *** multiple target patterns.  Stop.

Im Anhang habe ich meine Anwendung angehängt.
Wer kann helfen?

von ... .. (docean) Benutzerseite


Lesenswert?

änder einfach deine zeile mit dem OBJ=

und zwar in

OBJ= lcd.c counter.c

PS:Am besten zu jeder .c eine .h mir gleichem Namen das hilft bei der 
Übersicht

PSS: AVRStudio erzeugt das Makefile ganz von alleine *Wink mit dem 
Zaunpfahl*

von Cetin A. (exaware)


Lesenswert?

habe weiterhin Probleme, da kommen ständig neue Fehler.
Eigentlich wäre es mir lieber, wenn ich nur zwei Dateien habe,
1. lcd.c und 2. lcd.h

und diese zwei Dateien dann in counter.c einbinden. Könnte ich den 
Inhalt der Dateien main.h und mydefs.h in die datei lcd_drv.h kopieren 
und die lcd_drv.h dann umbenennen in lcd.h?

Habe jetzt folgendes gemacht:
1. eine lcd.h erstellt und den Inhalt aller *.h in die lcd.h rein 
kopiert.
2. lcd.h in counter.c eingebunden.
3. die Zeile OBJ= ersetzt duch OBJ= lcd.c counter.c

Nun kommt beim compilerienen bis auf paar Warnungen folgende FM:

ake.exe: *** [counter.elf] Error 1

Eine Idee ??

von Cetin A. (exaware)


Lesenswert?

Hab es hinbekommen. Habe nun zwei Dateien:

lcd.c und lcd.h

Und einbinden funktioniert auch.

Danke für deine Hilfe.

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.