Moin!
für ein kleines Projekt möchte ich versuchen, einen Teil des Codes
separat auszulagern. Eine Bubliothek geht leider nicht, da ich dynamisch
konfigurieren muss. Inzwischen kann ich sowhl Projekt-Code wie auch
externen Code kompilieren, scheiter aber noch beim Linken.
Mein Makefile ist abgeleitet von MFile. Was ich nun bräuchte wäre im
Linker-Build-Step, dass in einer "Array-Variable" mit Pfadangaben nur
noch der Dateiname + ein festes Prefix vorhanden ist.
Also:
Die Variable sieht in etwa so aus:
1 | .obj/main.o .obj/control/PcData.o .obj/control/PcStrings.o .obj/../xxx/libavr/drivers/lcds/DogSpi.o obj/../xxx/libavr/drivers/sensors/PressSensors.o etc. pp.
|
Daraus werden soll:
1 | <prefix>/main.o <prefix>/PcData.o <prefix>/PcStrings.o <prefix>/DogSpi.o etc. pp.
|
Der zugehörige Buildstep sieht so aus:
1 | # Link: create ELF output file from object files.
|
2 | SECONDARY : $(TARGET).elf
|
3 | .PRECIOUS : $(OBJ)
|
4 | %.elf: $(OBJ)
|
5 | @echo
|
6 | @echo $(MSG_LINKING) $@
|
7 | $(CC) $(ALL_CFLAGS) $^ --output $(BUILDDIR)/$@ $(LDFLAGS)
|
$^ bzw. $(OBJ) muss ich in diesem Fall konvertieren. Nur wie??? Ich such
mir schon nen Wolf, komm da aber irgendwie nicht weiter....
Danke & cu, Michael