[make/automake]Problem mit dependencies



  • Ich habe hier ein Programm, das aus .idl-Dateien .h-Dateien erstellt. Diese .h-Dateien werden wieder von .c-Dateien inkludiert. Am Anfang sieht das ganze also so aus:

    project-root/test.idl
    project-root/test.c
    

    test.c könnte so aussehen:

    #include "test.h"
    #include <stdio.h>
    int main()
    {
        printf("%i",DEFINED_IN_TEST_H);
        return 0;
    }
    

    Der dependencygraf sieht also so aus: test.c -> test.h -> test.idl. Alles schön und gut, eine suffixregel die mir aus .idl eine .h macht un das Problem ist gelöst. Denkste. Die dependencies werden durch den gcc (auf test.c andewand) erzeugt und peng! Wir haben keine gar keine dependencies, da der gcc sich weigert, welche zu erstellen, da er test.h nicht checken kann, da diese ja zu dem Zeitpunkt noch nicht existiert.
    Also, automake-profis, wie kann ich das problem lösen (auch auf ganz andere Weise)?



  • Ist es denn ein Problem, die idl-Dependencies händisch reinzuschreiben? Oder ist dir das zuwider?



  • Äh, ja, das ist ein problem. Ich weiß nicht, ob dir automake bekannt ist, aber da kann man nichts händisch reinschreiben. Ich glaube, man muss einen völlig anderen ansatz wählen...



  • Ich kenne automake schon und kann mich nicht daran erinnern, dass das ein Problem wäre. Aber wenn du sagst, dass es so einfach nicht geht, wird das schon stimmen...



  • nope, es geht. An genau mein Problem hat man gedacht und die Variable BUILT_SOURCES eingeführt. Dort muss icvh jetzt zwar die zu generierenden Dateien eintragen, was nicht ganz so komfortabel ist, aber es geht.


Anmelden zum Antworten