(avr-gcc) make, .build_number: file not recognized: File truncated

OP #2920377
Lesenswert?
• ▲
▼
Hallo,

ich versuche in meinem Makefile automatisch eine Build number hochzählen 
zu lassen. Dazu gibt es ja auch einige Beispiele von Tante Google.

Eines was ich verstanden habe, habe ich in meine Makefile integriert und 
bekomme nun folgenden Fehler:
1
avr-gcc -mmcu=atmega32 -I.  -MD -MP -MF .dep/tx_main.elf.d -DF_CPU=16000000UL -DBOOTLOADER_ADR=0x7000 -D_IS_TX -std=gnu99 -D__BUILD_DATE=20121117 -D__BUILD_NUMBER=23 obj/tx_main.o obj/output.o obj/command.o obj/interrupt.o obj/adc.o obj/config.o obj/digital_input.o obj/analog_input.o obj/samsung_lcd.o obj/lcd_common.o obj/eeprom_config.o obj/parseCommand.o obj/menu.o obj/uart.o obj/btm222.o obj/i2c.o obj/avr_helper.o obj/timer.o obj/addr_list.o obj/eeprom_helper.o .build_number --output tx_main.elf -Wl,-Map=tx_main.map,--cref
2
.build_number: file not recognized: File truncated
3
make: *** [tx_main.elf] Error 1
4
*** Fehlgeschlagen ***

So wie ich das verstehe liegt es daran, das durch die Regel des "%.elf", 
auch mein "Buildfile" mit hin zugelinked wird und es dann nicht geht, 
weil es 2 mal geöffnet ist ?! Meine Festplatte ist jedenfalls nicht 
kaputt und das File auf Disk soweit auch ok und wird auch jeweils 
hochgezählt.

Mein Makefile und das "Makeinclude" ist mal als Datei anbei.

Ich bin im Moment ratlos was ich ändern muss, dass es geht.

Noch den Hinweis: Mein Code besteht auf "Globalen Files" und Projekt 
Dateien, daher die Aufteilung der Objektvariablen. Da sgeht soweit auch 
alles Prima.

Hoffe Ihr könnt mir den weg aus dem Wald zeigen.

Danke
Juergen
Angehängte Dateien:
OP #2920434
Lesenswert?
• ▲
▼
Es ist doch im Makefile wie folgt definiert:
1
# Name of text file containing build number.
2
BUILD_NUMBER_FILE=.build_number
3

4
%.elf: $(OBJ_PROJECT) $(OBJ_GLOBAL) $(BUILD_NUMBER_FILE) 
5
  $(CC) $(ALL_CFLAGS) $^ --output $@ $(LDFLAGS)

aber durch die Angabe von  $(BUILD_NUMBER_FILE) wird es auch mit zu den 
Parameter aufgenommen. Das will ich ja NICHT.

Das Manual von Make habe ich mir schon angesehen. Weiter bin ich dadurch 
nicht gekommen.
Persönliche Seite #2920520
Lesenswert?
• ▲
▼
Jürgen Sachs schrieb:
1
# Name of text file containing build number.
2
BUILD_NUMBER_FILE=.build_number
3
 
4
%.elf: $(OBJ_PROJECT) $(OBJ_GLOBAL) $(BUILD_NUMBER_FILE)
5
   $(CC) $(ALL_CFLAGS) $^ --output $@ $(LDFLAGS)

$^ sind alleAbhängigkeiten!

Eher sowas;
1
# Name of text file containing build number.
2
BUILD_NUMBER_FILE=.build_number
3
 
4
%.elf: $(OBJ_PROJECT) $(OBJ_GLOBAL)
5
   $(CC) $(ALL_CFLAGS) $^ --output $@ $(LDFLAGS)
6

7
%.elf: $(BUILD_NUMBER_FILE)

Ist BUILD_NUMBER_FILE wirklich eine Datei oder Phony?
OP #2921097
Lesenswert?
• ▲
▼
Johann L. schrieb:
> Ist BUILD_NUMBER_FILE wirklich eine Datei oder Phony?

Nein, es ist nicht als Phony definiert und die Datei existiert auch.

Mir war nicht bewusst das ich ein Target zweimal angeben kann/darf.

Folgendes hat also geholfen.
1
# Name of text file containing build number.
2
BUILD_NUMBER_FILE=.build_number
3
 
4
%.elf: $(OBJ_PROJECT) $(OBJ_GLOBAL)
5
   $(CC) $(ALL_CFLAGS) $^ --output $@ $(LDFLAGS)
6

7
%.elf: $(BUILD_NUMBER_FILE)

Danke
J.Sachs

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.