Vorgegebener Makefile

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Vorgegebener Makefile
Wie kann man mit dem vorgegebenen Makefile eigentlich Testprogramme erstellen? Irgendwie blicke ich durch den Wirrwarr nicht so recht durch :cry:


Meinst du das Make-File unter /proj/i4vs/pub/RCX/rcx_example ?

Das funktioniert doch super, einfach make simload eingeben und es kompiliert und simuliert…

Fuer deine eigene Programm musst du entsprechend andere Source-files nehmen.


Ich meinte eigentlich das Makefile aus /proj/i4vs/pub/aufgabe2. Dummerweise reicht mein Makefilewissen nur knapp ueber SP1 Niveau hinaus ;). Das Problem ist bei mir eigentlich, dass man ja nicht nur ein Programm zum Testen kompillieren muss, sondern eher gleich nen ganzen Rattenschwanz davon. Und wenn man mehrere Dateien mit einer main Funktion im src Verzeichniss hat, dann meckert natuerlich der Linker. Ich haette aber gerne fuer jede main Funktion ein eigenes Programm.


Ich hab jetzt auch ein Problem mit dem vorgegebenen Makefile(also Meiks_Makefile) bzw. dann auch mit der Abgabe allgemein:

Wenn ich einfach alle Dateien in src/ lege, versucht er ja, alle Dateien zu kompilieren(also auch die RCX-Sources) obwohl ich erstmal nur Unix testen will. Muss ich die RCX-Dateien in ein extra Verzeichnis kopieren, damit das Makefile die klar trennen kann?

Wenn ich die RCX-Dateien einfach aus dem src-Verzeichnis rausnehm, kompiliert er die Unix-Dateien, aber ich denk es sollen ja alle noetigen Dateien in src liegen oder?

Danke schonmal
Haufen


Wieso getrennte Quellen für RCX? Auf dem Ding soll doch im Endeffekt das gleiche Laufen wie auf dem PC … oder nicht?


Naja, manche Dinger gehen eigentlich nur auf dem RCX: z.B. das sendchar zum senden über die serielle Schnittstelle, und andersrum der Code um von Unix aus Daten über die serielle Schnittstelle zum RCX zu schicken.

Das ist aber eigentlich auch das einzige was unterschiedlich ist.

Und wenn wir schon mal dabei sind: Hat jemand von euch ein besonders geniales Makefile, das automatisch für RCX oder Unix kompiliert, und vielleicht auch noch verschiedene Ausführbare Dateien erzeugen kann (z.b. Client, Server, und verschiedene Test-Programme etc.) ? Wie habt ihr eure Quell-Dateien organisiert?


Ich stehe vor dem gleichen Problem und werde mal schauen, ob ich da nicht was schönes mit Automake zusammenzimmern kann.
Außerdem gefällt mir das Endianess Problem für double gar nicht. Da htonl nur 32 Bit verarbeitet, muss man da selber wandeln. Problem is, dass ich das nur ungern zur Laufzeit jedesmal testen will. Mit Automake kann man das schön rausfinden und dann plattformabhängig Code aktivieren.