summaryrefslogblamecommitdiff
path: root/structure.lyx
blob: 8f136ed143a042cd19187eb56ef40493a51cea2f (plain) (tree)






































                                                                   
           










































































































































































































































                                                                                   
   


                            
                          


                     
   


                            
                         

















                                                 







                            
















                                                                               
#LyX 1.6.7 created this file. For more info see http://www.lyx.org/
\lyxformat 345
\begin_document
\begin_header
\textclass article
\use_default_options true
\language english
\inputencoding auto
\font_roman default
\font_sans default
\font_typewriter courier
\font_default_family default
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100

\graphics default
\paperfontsize default
\spacing single
\use_hyperref false
\papersize default
\use_geometry false
\use_amsmath 1
\use_esint 1
\cite_engine basic
\use_bibtopic false
\paperorientation portrait
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\defskip medskip
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\author "" 
\author "" 
\end_header

\begin_body

\begin_layout Title
Structure du projet et makefiles
\end_layout

\begin_layout Part*
Structure
\end_layout

\begin_layout Standard
Le dosier du projet, nommé `vhc' (pour `Virtual Hadron Collider'), est structuré
 de la manière suivante:
\end_layout

\begin_layout Standard
\begin_inset listings
lstparams "basicstyle={\ttfamily}"
inline false
status open

\begin_layout Plain Layout

vhc
\end_layout

\begin_layout Plain Layout

|-- bin
\end_layout

\begin_layout Plain Layout

|   |-- main
\end_layout

\begin_layout Plain Layout

|   `-- test
\end_layout

\begin_layout Plain Layout

|-- doc
\end_layout

\begin_layout Plain Layout

|-- Doxyfile
\end_layout

\begin_layout Plain Layout

|-- JOURNAL.txt
\end_layout

\begin_layout Plain Layout

|-- Makefile
\end_layout

\begin_layout Plain Layout

|-- reponses.lyx
\end_layout

\begin_layout Plain Layout

|-- REPONSES.pdf
\end_layout

\begin_layout Plain Layout

`-- src
\end_layout

\begin_layout Plain Layout

    |-- main
\end_layout

\begin_layout Plain Layout

    `-- test
\end_layout

\end_inset


\end_layout

\begin_layout Section*
vhc
\end_layout

\begin_layout Standard
Le répertoire principale (dit `de base') du projet est est `vhc'.
 Dans celui-ci se trouvent les fichiers expliqués dans la description officielle
 du projet.
 Notamment:
\end_layout

\begin_layout Itemize
JOURNAL
\end_layout

\begin_layout Itemize
REPONSES
\end_layout

\begin_layout Itemize
README
\end_layout

\begin_layout Itemize
Makefile
\end_layout

\begin_layout Standard
Il contient de plus le fichier `Doxyfile' utilisé pour générer de la documentati
on du code source.
\end_layout

\begin_layout Section*
src
\end_layout

\begin_layout Standard
Ce répertoire contient tout le code source, donc les fichiers les plus important
s du projet! Le code source est lui-meme reparti dans les sous-répertoires
 suivantes:
\end_layout

\begin_layout Itemize
main
\begin_inset Newline newline
\end_inset

Contient le code source principale, c'est à dire tout les fichiers sources
 du simulateur.
\begin_inset Newline newline
\end_inset

Exemples: Vector3D.cc, Vector3D.h, Particle.cc, etc...
\end_layout

\begin_layout Itemize
test
\begin_inset Newline newline
\end_inset

Contient le code source des tests.
 Les fichiers tests contenant une fonction `main' devraient se terminer
 avec `Test'.
\begin_inset Newline newline
\end_inset

Exemples: Vector3DTest.cc, etc...
\end_layout

\begin_layout Section*
doc
\end_layout

\begin_layout Standard
Contient de la documentation générée automatiquement par un outil comme
 `doxygen'.
\end_layout

\begin_layout Standard
Remarque: n'est pas sous contrôle de version.
\end_layout

\begin_layout Section*
bin
\end_layout

\begin_layout Standard
Contient les fichiers binaires (i.e.
 executables, objets, librairies etc...) compilés du code source.
 La structure de ce répertoire est identique a celle de `src', c'est-à-dire
 que les tests seront compilés dans `bin/test/' et les sources principaux
 dans `bin/main/'.
\end_layout

\begin_layout Standard
Remarque: n'est pas sous contrôle de version.
\end_layout

\begin_layout Part*
Makefiles
\end_layout

\begin_layout Standard
Afin d'automatiser le processus de compilation, un Makefile est présent
 dans le répertoire de base.
 A cause de la compléxité du répertoire source, le Makefile est récursif.
 Cela signifie que ce Makefile ne fait que de déléguer les commandes à deux
 makefiles contenus dans les répertoires src/main et src/test.
 Ainsi, lorsqu'on ajoute/supprime des fichiers des répertoires précédents,
 il suffit de modifier le Makefile contenu dans le répertoire respectif.
 En général, il ne faut pas modifer le Makefile de base.
\end_layout

\begin_layout Standard
Pour plus d'informations voir les commantaires des Makefiles.
\end_layout

\begin_layout Section*
Commandes
\end_layout

\begin_layout Standard
Voici quelques commandes pour le Makefile principal.
\end_layout

\begin_layout Itemize
build
\begin_inset Newline newline
\end_inset

compile les sources principaux
\end_layout

\begin_layout Itemize
test-build
\begin_inset Newline newline
\end_inset

compile les tests
\end_layout

\begin_layout Itemize
all
\begin_inset Newline newline
\end_inset

lance un build, test-build
\end_layout

\begin_layout Itemize
doc
\begin_inset Newline newline
\end_inset

génère la documentation
\end_layout

\begin_layout Itemize
clean
\begin_inset Newline newline
\end_inset

supprime le répertoire bin pour une compilation 
\begin_inset Quotes eld
\end_inset

propre
\begin_inset Quotes erd
\end_inset


\end_layout

\begin_layout Itemize
test
\begin_inset Newline newline
\end_inset

lance tous les tests
\end_layout

\begin_layout Section*
Compilation
\end_layout

\begin_layout Itemize
Les fichiers source principaux sont compilés et regroupés dans une librairie
 statique.
 Cette libraire s'appelle `libvhc.a'.
\end_layout

\begin_layout Itemize
Les tests sont compilés en éxécutables et reliés (linked) avec la librairie
 statique `libvhc.a'
\end_layout

\end_body
\end_document