Forum: Mikrocontroller und Digitale Elektronik makefile => nur die erste C-Datei wird kompiliert


von ewigerstudent74 (Gast)


Lesenswert?

Hallo,

ich verwende den IAR AVR C-Compiler iccavr (v4.10B) in Kombination mit
dem GNU Make (v3.79.1).

Ich habe jetzt das Problem, dass er immer nur die als erstes angegebene
C-Datei kompiliert. Die anderen Dateien werden scheinbar übersprungen.

Auszug aus dem Makefile:

file1.r90: $(FILE1_PATH)\file1.c $(HEADERS)
  $(IAR_C) $(FILE1_PATH)\file1.c

file2.r90: $(FILE1_PATH)\file2.c $(HEADERS)
  $(IAR_C) $(FILE2_PATH)\file2.c

Hat jemand eine Idee woran das liegen könnte?

Danke!

Gruß
ewigerstudent74

von sven (Gast)


Lesenswert?

ja,

wahrscheinlich in den make-zeilen, die du nicht gepostet hast

von Roland Riegel (Gast)


Lesenswert?

Na klar, make erstellt ohne explizite Angabe eines Targets auf der
Kommandozeile immer das Target, welches an erster Position im Makefile
steht.

Füge also
all: $(FILE1_PATH)\file1.c $(FILE1_PATH)\file2.c
als erste Regel ein und es sollte funktionieren. Die make manpage oder
infopage (auch z.B. unter
http://www.gnu.org/software/make/manual/make.html) gibt weitere Tipps.
Um nicht eine Regel für jede Quell-Datei einzeln angeben zu müssen,
kannst Du auch Wildcards verwenden.

Gruß,
Roland

von Roland Riegel (Gast)


Lesenswert?

Oops, sorry, das sollte
all: file1.r90 file2.r90
heißen...

Gruß,
Roland

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.