Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: Cheebi am 19. May 2008, 13:27
-
hi leute,
lange nichts von mir gehört.. tut mir leid, aber die letzte zeit war schwer.
meine frage zu make und makefiles:
dieses tutorial bei bona fide:
http://vertigo.hsrl.rutgers.edu/ug/make_help.html
bringt mich nicht vorwärts. ich habe noch nie mit make gearbeitet, weil ich bislang nur unter windows meine eigenen batchdateien benutzt habe. jetzt will ich auf makefiles umstellen. habt ihr eine bessere adresse als die bei bona fide? es muss nicht detusch sein (lieber orginal) aber vielleicht ein bisschen besser verständlich... ich habe nicht ganz den überblick bekommen...
vielen dank
Cheebi
-
Hi!
http://www.gnu.org/software/make/manual/make.html
Das ist das Manual zu GNU make.
mfg bauerb
-
http://www.ijon.de/comp/tutorials/makefile.html (deutsch)
-
vielen dank.. das is perfekt..
Cheebi
-
So...
ich habe auch noch eine Frage zu make, die in den Links nicht beantwortet wird.
Und zwar kann ich make wie folgt aufgerufen:
make -f ./Makefile ati
Vorrausgesetzt natürlich, in der Makefile ist eine Sektion ati. Nun zu meiner Frage: Ist es möglich in einer Makefile eine Untersektion zu speichern und anzusprechen, z.B. wie folgt:
make -f ./Makefile ati X700
ati = section
X700 = untersection von ati
Gruß Christian
-
Nein, das würde die beiden Targets ati und X700 bauen wollen. Also auf der gleichen Ebene. Wenn du sowas brauchst, wieso nennst du es nicht einfach ati-X700 oder so?
-
Make kennt nicht sowas wie Sektionen, sondern nur Targets und deren Abhängigkeiten. Wenn für x700 vorher das Target "ati" gebaut werden muss, kannst du das folgendermaßen kennzeichnen:
x700: ati
Dann einfach make -f ./Makefile x700 ausführen und ati wird wegen der Abhängigkeit vor x700 gebaut.
-
Make kennt nicht sowas wie Sektionen, sondern nur Targets und deren Abhängigkeiten.
Meinte ich doch... :wink:
Deinen Ansatz finde ich gut, ich werde das wahrscheinlich auch so umsetzen, nur würde es mich interessieren, ob ich subtargets erstellen kann. Damit man make zuerst mit dem maintarget (ati) und dann dem subtarget (x700) aufruft.
Wie in dem Beispiel von meinem vorhergehenden Post :D
-
Wenn du make -f ./Makefile ati x700 aufrufst, werden einfach die Targets ati und x700 (in der Reihenfolge) gebaut. Wenn du meine Regel oben benutzt, und make -f ./Makefile x700 aufrufst, dann wird ebenfalls erst das Target ati und dann x700 gebaut.
-
es reicht auch make x700 ;-)