makefiles: Mehrere Versionen einer Fortrandatei kompilieren



  • Heyho,

    ich habe folgende Situation: Ich habe eine Ausgangsdatei bla.f. In dieser wurden nun neue Funktionalitäten implementiert. Die 2 eingefügten Codeblöcke werden nur ausgeführt, wenn ein bestimmter Parameter an das kompilierte Programm übergeben wird,, sind also bei normaler Ausführung des Programms garnicht relevant. Im Kopf der Datei wurden für die neuen Funktionen natürlich einige Variablen deklariert und es wurde ein auf dem Linuxsystem installierte Bibliothek XYZ mittels "use modulname" eingebunden.

    Ich möchte die neue Version ins CVS integrieren. Das Problem ist, dass Leute ohne die Bibliothek XYZ die Vorgängerversion nutzten sollten. Checke ich die neue Version als V2.0 ein, müssten, sobald Änderungen an der Vorgängerversion getätigt werden, diese dann manuell auf in die V2.0 integriert werden, das ist etwas "unschön".

    Wäre es möglich, mittels "make" die Datei so zu kompilieren, als wären die neuen Codezeilen nicht vorhanden und mittels "make XYZ" einfach mit integrierter neuer Funktionalität. Kann man sowas irgendwie über Compilerflags oder sowas realisieren?

    Oder wäre es möglich, eine Art "if"-Block in der bla.f zu definieren, welche nur ausgeführt werden, wenn "make bla" ausgeführt wird? Andererseits: Im Kopf einer Datei bei der Variablendeklaration gibt es ja eigentlich noch kein IF...

    Naja bin für jeden Tipp dankbar.
    Lg

    Edit: Okay, habe nun noch ziemlich viel recherchiert, bisher aber nicht wirklich viel gefunden, außer das Thema "conditional compilation". Kennt sich damit jmd. bzgl des Intel Fortran Compilers aus? 🙂


Anmelden zum Antworten