Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Massive mv to use cmake as the default compilation infrastructure.
[simgrid.git] / buildtools / builder6 / libgras.mak
1 # Ce makefile permet la construction de la DLL simgrid.
2
3 .autodepend
4
5 # Répertoire d'installation du compilateur
6 !if !$d(BCB)
7 BCB = $(MAKEDIR)\..
8 !endif
9
10 # On utilise le compilateur BCC32
11 !if !$d(BCC32)
12 BCC32 = bcc32
13 !endif
14
15 # On utilise le linker ilink32
16 !if !$d(LINKER)
17 LINKER = ilink32
18 !endif
19
20 # Le nom du projet de compilation (ici la DLL)
21 PROJECT=C:\buildslave\projects\simgrid\builddir\build\build\builder6\libgras\dll\debug\libgras.dll
22
23 # Les options du compilateur BCC32
24 # -tWD          Génèrer une DLL
25 # -tWM          Génèrer une DLL multithread
26 # -c            Ne pas effectuer la liaison
27 # -n            Le répertoire est le répertoire obj
28 # -Od           Désactiver toutes les optiomisations du compilateur
29 # -r-           Désactivation de l'utilisation des variables de registre
30 # -b-           Les énumérations ont une taille de un octet si possible
31 # -k-           Activer le cadre de pile standart
32 # -y            Générer les numéros de ligne pour le débogage
33 # -v            Activer le débogage du code source
34 # -vi-          Ne pas controler le développement des fonctions en ligne
35 # -a8           Aligner les données sur une frontière de 8 octets
36 # -p-           Utiliser la convention d'appel C
37         
38  
39 CFLAGS=-tWD -X- -tWM -c -nlibgras\obj -Od -r- -b- -k -y -v -vi- -a8 -p-
40
41 # Les options du linker
42 # -l            Répertoire de sortie intermédiaire
43 # -I            Chemin du répertoire de sortie intermédiaire
44 # -c-           La liaison n'est pas sensible à la casse
45 # -aa           ?
46 # -Tpd          ?
47 # -x            Supprimer la création du fichier map
48 # -Gn           Ne pas génèrer de fichier d'état
49 # -Gi           Génèrer la bibliothèque d'importation
50 # -w            Activer tous les avertissements         
51 # -v            Inclure les informations de débogage complètes
52
53 LFLAGS = -llibgras\lib\debug -Ilibgras\obj -c- -aa -Tpd -x -Gn -Gi -w -v
54
55 # Liste des avertissements désactivés
56 # -w-aus        Une valeur est affectée mais n'est jamais utilisée
57 # -w-ccc        Une condition est toujours vraie ou toujours fausse
58 # -w-csu        Comparaison entre une valeur signée et une valeur non signée
59 # -w-dup        La redéfinition d'une macro n'est pas identique
60 # -w-inl        Les fonctions ne sont pas développées inline
61 # -w-par        Le paramètre n'est jamais utilisé
62 # -w-pch        Impossible de créer l'en-tête précompilée
63 # -w-pia        Affectation incorrecte possible
64 # -w-rch        Code inatteignable
65 # -w-rvl        La fonction doit renvoyer une valeur
66 # -w-sus        Conversion de pointeur suspecte
67
68 # Chemins des répertoires contenant des librairies (importation ou de code objet)
69 LIBPATH = $(BCB)\Lib;$(BCB)\Lib\obj;libgras\obj
70
71 WARNINGS=-w-aus -w-ccc -w-csu -w-dup -w-inl -w-par -w-pch -w-pia -w-rch -w-rvl -w-sus 
72
73 # Liste des chemins d'inclusion
74 INCLUDEPATH=$(BCB)\include;..\..\src\amok\PeerManagement;..\..\src\amok\Bandwidth;..\..\src\amok;..\..\src\gras\Virtu;..\..\src\gras\Msg;..\..\src\gras\DataDesc;..\..\src\gras\Transport;..\..\src\gras;..\..\src\include;..\..\src;..\..\src\xbt;..\..\include
75
76 # Macro définies par l'utilisateur.
77 # Cette macro permet de définir l'ensemble des fonctions exportées dans la DLL
78 USERDEFINES=DLL_EXPORT  
79
80
81 # Macros du système définies
82 # On utilise pas la VCL ni la RTL dynamique et on utilise le mode de controle de type NO_STRICT
83 SYSDEFINES=NO_STRICT;_NO_VCL;_RTLDLL
84
85 # Liste des chemins des répertoires qui contiennent les fichiers de code source .c
86 SRCDIR=libgras;..\..\src\xbt;..\..\src\gras;..\..\src\gras\Virtu;..\..\src\gras\Msg;..\..\src\gras\DataDesc;..\..\src\gras\Transport;..\..\src\amok;..\..\src\amok\Bandwidth;..\..\src\amok\PeerManagement
87
88 # On demande au compilateur de rechercher les fichiers de code source c dans la liste des chemins définis ci-dessus
89 !if $d(SRCDIR)
90 .path.c   = $(SRCDIR)
91 !endif
92
93
94 # Liste des fichiers objets à générés et dont dépendent la dll
95 OBJFILES = libgras.obj heap.obj log.obj mallocator.obj \
96 set.obj snprintf.obj swag.obj sysdep.obj xbt_main.obj \
97 xbt_matrix.obj xbt_peer.obj asserts.obj config.obj cunit.obj \
98 dict.obj dict_multi.obj dynar.obj ex.obj fifo.obj graph.obj \
99 graphxml_parse.obj rl_process.obj rl_emul.obj rl_dns.obj \
100 rl_time.obj process.obj gras_module.obj timer.obj rpc.obj \
101 rl_msg.obj msg.obj ddt_parse.yy.obj ddt_exchange.obj \
102 datadesc.obj ddt_create.obj ddt_convert.obj cbps.obj \
103 ddt_parse.obj transport_plugin_file.obj rl_transport.obj \
104 transport_plugin_tcp.obj transport.obj rl_stubs.obj gras.obj \
105 log_default_appender.obj dict_elm.obj dict_cursor.obj \
106 getline.obj xbt_thread.obj amok_base.obj saturate.obj \
107 bandwidth.obj peermanagement.obj
108
109 LIBFILES =
110 ALLOBJ = c0d32.obj $(OBJFILES)
111
112 ALLLIB = $(LIBFILES) import32.lib cw32i.lib
113
114 # Compilation de la DLL
115 $(PROJECT): $(OBJFILES)
116         $(BCB)\BIN\$(LINKER) @&&!
117     $(LFLAGS) -L$(LIBPATH) +
118     $(ALLOBJ), +
119     $(PROJECT),, +
120     $(ALLLIB)
121 !
122
123 # Comme implicite de compilation des fichiers de code source c en fichier objet (pas de liaison)        
124 .c.obj:
125         $(BCB)\BIN\$(BCC32) $(CFLAGS) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) {$< }