Hi inka,
wenn man mal die Struktur der RP6 Examples als Beispiel nimmt:
1. Im makefile geht alles aus von DEM Ordner, in dem makefile steht bzw. make all ausgeführt wurde. Das ist der Ordner, in dem also dein Programm steht (Programmordner).

2. RP6_LIB_PATH ist dann im makefile als ../../RP6Lib definiert, d.h. 2 Ebenen aufwärts im Verzeichnisbaum (RP6CONTROL_EXAMPLES -> RP6) und dort dann der Ordner RP6Lib.
Die Struktur sieht also so aus:
RP6 --- RP6CONTROL_EXAMPLES --- Programmordner
RP6 --- RP6Lib
RP6_LIB_PATH weist dann also auf den Ordner RP6Lib.

3. Wenn es um die M32 geht, dann befinden sich die meisten Libs für die M32 im Ordner:
RP6 --- RP6Lib --- RP6control
Dahin tue ich auch alle Libs, die ich selbst für die M32 habe. Wenn du also für die MultiIO Libs eine zentrale Stelle haben willst, wäre dieser Ordner doch gut geeignet, oder?

4. Im makefile müßtest du also alle MultiIO Libs, die du in den Ordner RP6control kopiert hast, so eintragen:
SRC += $(RP6_LIB_PATH)/RP6control/RP6Control_MultiIOLib.c
(Hier am Beispiel der MultiIO Haupt-Lib)

5. Im Programm selbst müßten die include Befehle nicht verändert werden.

Wenn du eine andere Ordner-Struktur nutzt, must du natürlich die Pfadangaben anpassen.