Moin, ich habe Probleme mit meinem Makefile! Und zwar wird folgender Fehler ausgegeben -------- begin -------- avr-gcc (GCC) 4.1.0 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. make: *** Keine Regel vorhanden, um das Target »HeDiWet.elf«, benötigt von »elf«, zu erstellen. Schluss. wenn die Source-Liste zu lang wird. Wenn die letzten beiden Dateien nicht eingetragen sind funktioniert es?! # List C source files here. (C dependencies are automatically generated.) SRC = $(TARGET).c lcd.c uart.c ds1302.c ee24xx.c helpfunction.c Dürfen nur eine gewisse Anzahl an Dateien eingefügt werden, oder darf die Länge der Namen nur eine bestimmte Anzahl an Buchstaben haben? Vielen Dank Matthias
Wie sieht denn der Rest des Makefiles aus?
Moin, der Fehler "muss" in der genannten Zeile liegen, da es funktioniert, wenn ich die letzten beiden Dateien entferne. Trotzdem vielen Dank für die Mühen Matthias
Mit Fehlermeldungen diskutiert man nicht ;-) BTW. Ich hätte dich auch gefragt, wie der Rest des Makefiles aussieht. Insbesondere was als TARGET definiert ist und ob du von einem main.c oder einem HeDiWet.c ausgehst.
> der Fehler "muss" in der genannten Zeile liegen, da es funktioniert, > wenn ich die letzten beiden Dateien entferne. Für sich alleine gesehen ist die Zeile völlig in Ordnung, also "kann" der Fehler nicht in dieser Zeile liegen. Entweder haben wir also ein Paradoxon, oder es kommt noch auf den Rest des Makefile an.
Vielleicht liegt's ja an deinem GNU Make? Ich habe mir die darin genannten Dateien mal erstellt (HeDiWet.c mit einem leeren main(), den Rest einfach als leere Dateien), make läuft hier anstandslos durch damit.
1 | $ make -v |
2 | GNU Make version 3.79.1, by Richard Stallman and Roland McGrath. |
3 | Built for i686-pc-linux-gnu |
4 | Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000 |
5 | Free Software Foundation, Inc. |
6 | This is free software; see the source for copying conditions. |
7 | There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A |
8 | PARTICULAR PURPOSE. |
9 | |
10 | Report bugs to <bug-make@gnu.org>. |
Mein make ist: GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for i486-pc-linux-gnu Es funktioniert ja auch, nur eben halt nicht mit mehr als 3 Dateien. Danke Matthias
# Deine Version: # Link: create ELF output file from object files. .SECONDARY : $(TARGET).elf .PRECIOUS : $(OBJ) %.elf: $(OBJ) @echo @echo $(MSG_LINKING) $@ $(CC) $(ALL_CFLAGS) $(OBJ) --output $@ $(LDFLAGS) # Andere Version (Artikelsammlung) # Link: create ELF output file from object files. .SECONDARY : $(TARGET).elf .PRECIOUS : $(OBJ) %.elf: $(OBJ) @echo @echo $(MSG_LINKING) $@ $(CC) $(ALL_CFLAGS) $^ --output $@ $(LDFLAGS) Ansonsten... http://en.wikipedia.org/wiki/Make#Debugging_Makefiles Viel Glück!
Moin, vielen Dank für die Versuche, Leider hat die Modifikation nichts gebracht. Vielleicht fange ich noch einmal wie Jörg gesagt, mit leeren Dateien an. Heute allerdings nicht mehr. Melde mich aber wieder Matthias
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.