frage zu makefile



  • Hallo Leute,

    ich benutze den Platform Builder für WinCE 6.0. Dort wird die kompilierung über ein Makefile gemacht. Jetzt geht es nicht das sourcen (*.c oder *.cpp) in unterverzeichnissen des Source Verzeichnisses sind.

    Also habe ich das makefile geöffnet und die Regel hinzugefügt:

    {Unterverzeichnis\Utils\src\}.c{$(_OBJDIR)\}.obj:
        @echo BUILD_MARKER:C_COMPILE_START Compiling $<
        @type <<
    $(ECHO_C_MSG)
    <<NOKEEP
        @$(CCOMPILER) @<< $(CONLY_FLAGS) -Fo$@
    $(C_COMMAND_LINE_OPTIONS: =
    ) $(MAKEDIR)\$<
    <<NOKEEP
        @echo BUILD_MARKER:C_COMPILE_END
    

    dadurch kann ich jetzt alle c Dateien in Unterverzeichnis\Utils\src\ compilieren. Jetzt meine Frage:

    Wie kann ich die Regel so erweitern dass ich alle c Files in allen unterverzeichnissen des Source Verzeichnisses compilieren kann?

    MfG


  • Mod

    Das ist zwar gewiss möglich, aber bevor man sich das jetzt selber konstruiert, empfiehlt sich ein Blick hierhin:
    http://www.c-plusplus.net/forum/88418



  • OK das sieht aus wie so ein ganz normales linux makefile.

    Das Problem ist nur, dass ich ja das makefile vom Platform Builder benutzen muß wegen dem ganzen Windows CE zeugs. Könntest du mir eine seite zeigen wo beschrieben wird wie ich die Regeln für NMAKE zusammenbaue?

    Eigentlich betrifft es ja nur diese Zeile:

    {Unterverzeichnis\Utils\src\}.c{$(_OBJDIR)\}.obj:
    

    ich dachte an sowas wie:

    {*\*}.c{$(_OBJDIR)\}.obj:
    

    aber das will er nicht.

    MfG



  • anscheinend geht das nicht anders:

    http://msdn.microsoft.com/de-de/library/hk9ztb8x(v=vs.80)

    Oder kann man irgenwo wo die obj Dateien angegeben werden den Pfad in eine Variable speichern und die Variable dann hier in der Regel mit einbinden.

    MfG


Anmelden zum Antworten