Probleme bei Makefile für ATmega

Gast #6690291
mahlzeit,
ich habe mir von 
https://www.mikrocontroller.net/articles/Beispiel_Makefile die Makefile 
genommen und auf mein Projekt angepasst.
in der runtergeladenen Makefile war anstelle von F_CPU F_OSC 
eingetragen. Dies habe ich wieder abgeändert. Desweiteren habe ich noch 
den Pfad für AVRDude angepasst. Ich benutze avr-gcc 5.3.0 von SysGCC.

folgende sachen funktionieren nicht
1
all: begin gccversion sizebefore build sizeafter finished end
2

3
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
4
ELFSIZE = $(SIZE) -A $(TARGET).elf
5
sizebefore:
6
  @if [ -f $(TARGET).hex ]; then echo; echo $(MSG_SIZE_BEFORE); $(HEXSIZE); echo; fi
7

8
sizeafter:
9
  @if [ -f $(TARGET).hex ]; then echo; echo $(MSG_SIZE_AFTER); $(HEXSIZE); echo; fi

sizebefore und sizefinished werden nicht ausgeführt. Diese kann ich auch 
rausnehmen, wollte sie aber interessehalber mal drinn haben.
zunächst bekomme ich den Fehler

"-f" kann syntaktisch an dieser Stelle nicht verarbeitet werden.

wenn ich das -f entferne, bekomme ich die Fehlermeldung

"main.hex" kann syntaktisch an dieser Stelle nicht verarbeitet werden.

nehme ich diese zwei Befehle raus, baut alles durch.


Ein weiteres Problem habe ich beim clean
1
# Target: clean project.
2
clean: begin clean_list finished end
3

4
clean_list :
5
  @echo.
6
  @echo $(MSG_CLEANING)
7
  $(REMOVE) $(TARGET).hex
8
  $(REMOVE) $(TARGET).eep
9
  $(REMOVE) $(TARGET).obj
10
  $(REMOVE) $(TARGET).cof
11
  $(REMOVE) $(TARGET).elf
12
  $(REMOVE) $(TARGET).map
13
  $(REMOVE) $(TARGET).obj
14
  $(REMOVE) $(TARGET).a90
15
  $(REMOVE) $(TARGET).sym
16
  $(REMOVE) $(TARGET).lnk
17
  $(REMOVE) $(TARGET).lss
18
  $(REMOVE) $(OBJ)
19
  $(REMOVE) $(LST)
20
  $(REMOVE) $(SRC:.c=.s)
21
  $(REMOVE) $(SRC:.c=.d)
22
  $(REMOVE) .dep/*

begin, finished und end sind nur echo ausgaben.

wenn ich jetzt allerdings
make clean
in der console eingebe, bekomme ich den Fehler
rm -f main.hex
process_begin: CreateProcess(NULL, rm -f main.hex, ...) failed.
make (e=2): Das System kann die angegebene Datei nicht finden.
make: *** [clean_list] Error 2

die Datei ist aber definitiv da. Warum kann die nicht gelöscht werden?
Gast #6690316
Ahso,
auch bekomme ich nach jedem Befehl die Ausgabe
H:\Projects\AVR\Atmega\test>make clean
Das System kann den angegebenen Pfad nicht finden.

Welcher Pfad kann nicht gefunden werden?
Gast #6690324
Marcel schrieb:
> folgende sachen funktionieren nicht

Bist du dir sicher dass du so anfangen willst und nicht doch
mit einer einfach zu bedienenden IDE arbeitest?

Einfach und leicht zu lernen wäre z.B. AVR Studio 4.18
Schnell downloaden und installieren.

Ein paar Klicks zum Erstellen eines Projekts und Datei-Importe
und schon ist man seinem Ziel wesentlich näher ....
Gast #6690327
Marcel schrieb:
> Warum kann die nicht gelöscht werden?

Marcel schrieb:
> H:\Projects\AVR\Atmega\test>

gibts unter windows "rm"? wenn nicht, dann dürfte sich die fehlermeldung 
auf das nicht gefundene rm beziehen.

du könnstest sonst auch mal probieren, das makefile im linux subsystem 
(debian oder *buntu) laufen zu lassen...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.