Bonjour,

Je développe actuellement une librairie constituées de plusieurs modules (.c/.h) et je dois fournir deux fichiers lib.a et lib.h
Dans chacuns des headers des modules j'ai des blocs délimités qui doivent être "copiés" dans le fichier lib.h.
Code module1.h : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
// DEBUT-H-EXPORT --------------
   Déclarations du module1
   Prototypes des fonctions du module1
// FIN-H-EXPORT --------------
   Autres déclarations du module1
   Autres prototypes des fonctions du module1
Code module2.h : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
// DEBUT-H-EXPORT --------------
   Déclarations du module2
   Prototypes des fonctions du module2
// FIN-H-EXPORT --------------
   Autres déclarations du module2
   Autres prototypes des fonctions du module2
et dans un fichier lib.h.in
Code lib.h.in : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
  Includes pour la lib
// H-IMPORT --------------
   Déclarations de la lib
   Prototypes des fonctions de la lib
A ce stade, j'ai réussi à copier les différents blocs des headers à la fin du fichier lib.h
rm lib.h
cp lib.h.in lib.h
sed -n '/DEBUT-H-EXPORT/,/FIN-H-EXPORT/p' *.h | grep -v '\-H\-EXPORT' | sed '/./,/^$$/!d' >> lib.h
Note: Le grep permet de supprimer les lignes contenant "H-EXPORT" et le second sed élimine les sauts de lignes vides.

Après quelques heures de recherche infructueuses, ce que "j'aimerai" bien, c'est de pouvoir insérer les blocs délimités des headers en lieu et place de la ligne H-IMPORT dans le fichier lib.h.in.
Code lib.h : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
   Includes pour la lib
   Déclarations du module1
   Prototypes des fonctions du module1
   Déclarations du module2
   Prototypes des fonctions du module2
   Déclarations de la lib
   Prototypes des fonctions de la lib
Merci d'avance.