Bonjour la liste

(j'ignore s'il est licite d'utiliser des caractères non-ASCII dans le sujet: je 
m'en suis abstenu pour è, ê et ç, il faut y lire: "règles", "même", et "façons")

Dans github.com/RefPerSys/RefPerSys/ (un moteur d'inférences sous licence 
GPL/CeCILL) le code source est
majoritairement en C++23 (et compilé par GCC15 ou GCC16). Une petite partie 
(que je souhaite croissante) est générée par ce même logiciel.

je fais référence au commit e01f0e64c402 et donc au GNUmakefile de 
https://github.com/RefPerSys/RefPerSys/commit/e01f0e64c402f97ff0d84bbcf269bf353cf7ba89

Les fichiers C++ que j'y ai écrits sont nommés [a-z]*_rps.cc par exemple 
agenda_rps.cc et objects_rps.cc (et il y en a trentaine d'autres, dont 
l'optionnel )

Les fichiers C++ générés par ce logiciel sont (pour la plupart) sous generated/ 
par exemple generated/rps-names.hh

Ces fichiers doivent chacun être compilés de plusieurs façons. Selon qu'ils 
utilisent (ou non) une bibliothèque graphique (fltk.org)

Ainsi:

agenda_rps.raw.o doit être compilé depuis agenda_rps.cc avec (en plus d'autres) 
les drapeaux -DRPS_WITH_FLTK=0 et -DRPS_IS_RAW=1

tandis que 

agenda_rps.o doit être compilé depuis agenda_rps.cc sans ces drapeaux pour le 
préprocesseur.

Bien évidemment le fichier d'entête commun refpersys.hh contient #if 
RPS_WITH_FLTK ....

Je n'arrive pas à coder mon GNUmakefile (autour des lignes 180-200) pour ce 
faire.

Quelqu'un a-t-il un exemple de tel GNUmakefile

NB. Je voudrais éviter GNU autoconf ou cmake car je les maîtrise mal. Et le 
logiciel de configuration est tools/do-configure-refpersys.c codé en C.

Librement
-- 
Basile STARYNKEVITCH                            <[email protected]>
8 rue de la Faïencerie                       http://starynkevitch.net/Basile/  
92340 Bourg-la-Reine                         https://github.com/bstarynk
France                                https://github.com/RefPerSys/RefPerSys

Répondre à