Autor Thema: make  (Gelesen 3979 mal)

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« am: 14. August 2006, 12:57 »
hi,

gibt es irgendeinen Weg den Output von make, wenn man es in Unterverzeichnissen ausführt, etwas zu begrenzen? Ich mein folgende Informationen sind einfach überflüssig:

Zitat

make[1]: Entering directory `/home/bluecode/programming/lightOS/trunk/lib'
make[2]: Entering directory `/home/bluecode/programming/lightOS/trunk/lib/lightOS'
make[3]: Entering directory `/home/bluecode/programming/lightOS/trunk/lib/lightOS/x86'
make[3]: Leaving directory `/home/bluecode/programming/lightOS/trunk/lib/lightOS/x86'
make[2]: Leaving directory `/home/bluecode/programming/lightOS/trunk/lib/lightOS'
make[1]: Leaving directory `/home/bluecode/programming/lightOS/trunk/lib'


Die Makefiles in den Unterverzeichnissen ruf ich mit


make -C subdir target


auf. Wär wirklich ungemein hilfreich, wenn ihr mir helfen könntet. Danke!
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 14. August 2006, 13:15 »
Interessiert dich überhaupt nicht, in welchem Verzeichnis irgendwas ausgeführt wird? Eine Option, das abzuschalten, gibt es jedenfalls anscheinend nicht. Mir fällt dann nur noch irgendwie sowas ein:
make -C subdir target | grep -v "^make"

Oder du bastelst gleich sowas wie bei Linux 2.6. ;)
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #2 am: 14. August 2006, 13:27 »
Danke für die schnelle Antwort & den Tipp mit grep.

Zitat von: taljeth
Interessiert dich überhaupt nicht, in welchem Verzeichnis irgendwas ausgeführt wird?

Nunja, das weiß ich im Normalfall, aber ich lass es mir momentan bei jeder Datei, wenn sie kompiliert wird folgendermaßen ausgeben:

$(OBJ):
@echo " C++    kernel/$(@:%.o=%.cpp)"
@$(CPP) $(FLAGS) $(INCLUDE) -c $(@:%.o=%.cpp)

Das ist ein visuell zu bewältigender Anblick und nicht so ein kompletter brain dump, wo man erstmal suchen muss was eigentlich los is...

Zitat
Oder du bastelst gleich sowas wie bei Linux 2.6. ;)

Das werd ich mir mal anschaun, aber auf den ersten Blick hab ich da wenig verstanden.
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #3 am: 14. August 2006, 13:35 »
Hm, hab grad das mit dem grep probiert und muss leider feststellen, dass da immer ein Fehler kommt. Kann es sein, dass innerhalb von Makefiles pipes nicht möglich sind? Oder meintest du, dass ich dann bei jedem build in die command line das grep schreibe?
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 14. August 2006, 13:53 »
Hm, hab das grad mal mit der LOST-Makefile ausprobiert, da sieht das jetzt so aus und funktioniert auch:
subdirs:
  make -C build | grep -v "^make"
  make -C doc | grep -v "^make"
  make -C src | grep -v "^make"
  make -C windows | grep -v "^make"
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #5 am: 14. August 2006, 19:43 »
Ok, danke ich habs jetzt hingekriegt... make kann einen echt Nerven kosten :roll:
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

MNemo

  • Beiträge: 547
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 05. November 2006, 14:30 »
Ich mach das mit der Zeile (hab ich vom Kerenl 2.6.18 abgeguckt ;))

MAKEFLAGS += --no-print-directory
„Wichtig ist nicht, besser zu sein als alle anderen. Wichtig ist, besser zu sein als du gestern warst!“

 

Einloggen