make - Sinnvoll das Projekt verwalten, aber wie?
Verfasst: So Mai 17, 2009 9:44 am
Tag 
So, gleich eins vorne weg, das hier brauche ich für meinen Kernel, ich denke aber, dass das Thema wohl eher hier rein passt. (Make kann man wohl schon als eine Art Programmier, bzw Skriptsprache ansehen^^)
Ich habe folgende Verzeichnisstruktur:
/
---src/
-------------bio/ (enthalten jeweils ca 1-2 Source-Dateien)
-------------gdt/
-------------noch_mehr_verzeichnisse/
---inc/
-------------(alle Header)
---build/
-------------(hierhin soll alles, was "fertig" ist)
Gut, nun brauche ich einen "Komplex" aus Makefiles, mit dem ich das möglichst dynamisch realisieren kann.
Heißt: Im "obersten" Verzeichnis wird make eingetippt.
Daraufhin müssen die Unterverzeichnisse von src "durchsucht" werden, und evtl gefundene Sourcedateien (unter Abhändigkeit ihrer includierten Header) in Objektdateien compiliert werden (test.c -> test.o)
Diese Objektdateien sollen sich nun im Ordner build "einfinden".
Aus diesen wird dann ein einziges Objektfile gelinkt. (was in build sein soll)
Hilfe?

So, gleich eins vorne weg, das hier brauche ich für meinen Kernel, ich denke aber, dass das Thema wohl eher hier rein passt. (Make kann man wohl schon als eine Art Programmier, bzw Skriptsprache ansehen^^)
Ich habe folgende Verzeichnisstruktur:
/
---src/
-------------bio/ (enthalten jeweils ca 1-2 Source-Dateien)
-------------gdt/
-------------noch_mehr_verzeichnisse/
---inc/
-------------(alle Header)
---build/
-------------(hierhin soll alles, was "fertig" ist)
Gut, nun brauche ich einen "Komplex" aus Makefiles, mit dem ich das möglichst dynamisch realisieren kann.
Heißt: Im "obersten" Verzeichnis wird make eingetippt.
Daraufhin müssen die Unterverzeichnisse von src "durchsucht" werden, und evtl gefundene Sourcedateien (unter Abhändigkeit ihrer includierten Header) in Objektdateien compiliert werden (test.c -> test.o)
Diese Objektdateien sollen sich nun im Ordner build "einfinden".
Aus diesen wird dann ein einziges Objektfile gelinkt. (was in build sein soll)
Hilfe?
daniel@daniel-lap:/$ make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
Dies ist Freie Software; siehe die Programmquellen für Vervielfältigungsbedingungen.
Es gibt KEINE Gewährleistung; nicht einmal für VERMARKTUNG oder NUTZBARKEIT FÜR EINEN
BESONDEREN ZWECK.
Dieses Programm wurde erstellt für x86_64-pc-linux-gnu