Vue d'ensemble

Soit une bibliothèque nommée my_library, l'arborescence est la suivante :

my_library
|_demo
|    |_my_library__demo.c
|    |_SConscript
|_include
|_src
|    |_my_library.c
|    |_SConscript
|_test
|    |_my_library__test.c
|    |_SConscript
|_my_library.h
|_SConscript
|_SConstruct

Description

Le fichier d'entête my_library/my_library.h constitue l'API de la bibliothèque. C'est pourquoi il se trouve à la racine du dossier.

Le fichier my_library/SConscript est le script de construction de la bibliothèque exécuté par les projets qui l'utilisent. Il ne fait qu'appeler le script my_library/src/SConscript.

Le fichier my_library/SConstruct est le script de construction de la bibliothèque permettant de construire la bibliothèque ainsi que ses projets de démonstration et de test en exécutant leur scripts respectifs. Il est destiné à n'être utilisé que dans le cadre de la démonstration ou du test.

Le dossier my_library/demo contient le logiciel de démonstration de la bibliothèque. Celui-ci a pour objectif de présenter une utilisation basique de celle-ci. On trouve dans ce dossier le fichier source du logiciel de démonstration my_library__demo.c ainsi que son script de construction.

Le dossier my_library/include contient les éventuels fichiers d'entête internes à la bibliothèque et ne faisant pas partie de l'API.

Le dossier my_library/src contient l'implémentation de la bibliothèque, c'est à dire les différents fichiers source qui la composent. On y trouve également le script de construction de la bibliothèque.

Le dossier my_library/test contient le logiciel de test de la bibliothèque. Celui-ci se veut exhaustif et doit couvrir toutes ses fonctionnalités. On trouve dans ce dossier le fichier source du logiciel de test (si possible unitaire) my_library__test.c ainsi que son script de construction.

Conclusion

Cette arborescence sera reprise par toutes les bibliothèques iDreamMicro. Un prochain article présentera une première bibliothèque respectant cette arborescence. Un autre montrera comment la construire.