Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
9bbaf9fb33d32cad0673a7c3bc57f054ca8df91b
[simgrid.git] / src / gras / Makefile.am
1 SUBDIRS=. Tests
2 AM_CFLAGS=-g -ffast-math -funroll-loops -O3 -fno-strict-aliasing 
3  
4
5 # -DNLOG -DNDEBUG
6
7 # fast-math is nasty when using IEEE floating point semantic
8 # strict-aliasing breaks my type-punning bad habit.
9
10
11 MAINTAINERCLEANFILES=Makefile.in
12 INCLUDES= -I$(top_srcdir)/src/include \
13           @CFLAGS_SimGrid@
14 EXTRA_DIST= ./gras_private.h    \
15         Core/dict_private.h \
16         Transport/transport_interface.h \
17         Virtu/virtu_interface.h \
18         Virtu/virtu_rl.h \
19         Virtu/virtu_sg.h \
20         DataDesc/ddt_parse.yy.l DataDesc/ddt_parse.yy.c
21
22 VERSION_INFO= -release 20040722 -version-info 0:0:0
23 # from `info libtool "Updating version info"` 
24 # and  `info libtool "Release numbers"` 
25 #
26 # A) For stable library (interface wise), you should use --version-info:
27 #
28 # - Begin with C:R:A = 0:0:0 (ie here, VERSION_INFO= -version-info 0:0:0)
29 # - Do not update it before public release (keep numbers small)
30 #
31 # ----------------------------------------------------------------------+
32 # +   Interface     |  code of existing  | Interface | New version info |
33 # | removal/change? | interface changed? | addition? |                  |
34 # +-----------------+--------------------+-----------+------------------+
35 # |      yes        |   must be yes ;)   |           |  C++ : 0   : 0   |
36 # |      no         |        yes         |    yes    |  C   : R++ : A++ |
37 # |      no         |        yes         |    no     |  C   : R++ : A   |
38 # |      no         |        no          |    yes    |  C   : R   : A++ |
39 # |      no         |        no          |    no     |  C   : R   : A   |
40 # +-----------------+--------------------+-----------+------------------+
41 #
42 # B) For rapidely changing library, you should go for the -release flag
43 #
44 #  It modifies the library name, and you thus cannot say that a library
45 #   using this trick is ready for a "stable" release (say, in Debian).
46
47 if HAVE_SG
48  lib_LTLIBRARIES= libgrasrl.la libgrassg.la
49 else
50  lib_LTLIBRARIES= libgrasrl.la
51 endif
52
53 #  Core/config.c                               
54
55 COMMON_S=\
56   \
57   Core/module.c      Core/core_interface.h                                      \
58   Core/log.c         Core/log_default_appender.c   Core/error.c                 \
59   Core/dynar.c                                                                  \
60   Core/dict.c        Core/dict_elm.c               Core/dict_cursor.c           \
61   Core/set.c                                                                    \
62   \
63   \
64   Transport/transport.c          Transport/transport_private.h   Transport/transport_plugin_buf.c  \
65   \
66   DataDesc/ddt_create.c          \
67   DataDesc/ddt_convert.c         DataDesc/ddt_exchange.c     \
68   DataDesc/cbps.c                DataDesc/datadesc.c         \
69   DataDesc/datadesc_interface.h  DataDesc/datadesc_private.h \
70   DataDesc/ddt_parse.c  DataDesc/ddt_parse.yy.c DataDesc/ddt_parse.yy.h \
71   \
72   Msg/msg.c   Msg/msg_interface.h   Msg/msg_private.h \
73   \
74   Virtu/process.c
75
76 # DataDesc/ddt_declare.c 
77
78 DataDesc/ddt_parse.yy.c: DataDesc/ddt_parse.yy.l
79         @LEX@ -o$@ -Pgras_ddt_parse_ $^
80
81 libgrasrl_la_SOURCES= $(COMMON_S) \
82   Transport/rl_transport.c  Transport/transport_plugin_tcp.c  Transport/transport_plugin_file.c      \
83   \
84   Virtu/rl_process.c        Virtu/rl_time.c                   Virtu/rl_conditional.c
85 libgrasrl_la_LDFLAGS = $(VERSION_INFO)
86
87 if HAVE_SG
88   libgrassg_la_SOURCES= $(COMMON_S) \
89     Transport/sg_transport.c  Transport/transport_plugin_sg.c             \
90     \
91     Virtu/sg_process.c        Virtu/sg_time.c                   Virtu/sg_conditional.c
92   libgrassg_la_LDFLAGS = $(VERSION_INFO)
93 endif