Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Do compile with debugging symbols. No idea how I managed to get there without them
[simgrid.git] / src / gras / Makefile.am
index 40418e4..1cdb265 100644 (file)
@@ -1,62 +1,84 @@
 SUBDIRS=. Tests
-DISTCLEANFILES=Makefile.in
-INCLUDES= -I$(top_srcdir)/src/include -I../nws_portability/Include  \
-          @CFLAGS_XML@ @CFLAGS_SimGrid@
-EXTRA_DIST=gs/parse.yy.l
+AM_CFLAGS=-g
+MAINTAINERCLEANFILES=Makefile.in
+INCLUDES= -I$(top_srcdir)/src/include \
+          @CFLAGS_SimGrid@
+EXTRA_DIST= ./gras_private.h    \
+       Core/dict_private.h \
+       Transport/transport_interface.h \
+       Virtu/virtu_interface.h \
+       Virtu/virtu_rl.h \
+       Virtu/virtu_sg.h \
+       DataDesc/ddt_parse.yy.l DataDesc/ddt_parse.yy.c
 
+VERSION_INFO= -release 20040722 -version-info 0:0:0
+# from `info libtool "Updating version info"` 
+# and  `info libtool "Release numbers"` 
+#
+# A) For stable library (interface wise), you should use --version-info:
+#
+# - Begin with C:R:A = 0:0:0 (ie here, VERSION_INFO= -version-info 0:0:0)
+# - Do not update it before public release (keep numbers small)
+#
+# ----------------------------------------------------------------------+
+# +   Interface     |  code of existing  | Interface | New version info |
+# | removal/change? | interface changed? | addition? |                  |
+# +-----------------+--------------------+-----------+------------------+
+# |      yes        |   must be yes ;)   |           |  C++ : 0   : 0   |
+# |      no         |        yes         |    yes    |  C   : R++ : A++ |
+# |      no         |        yes         |    no     |  C   : R++ : A   |
+# |      no         |        no          |    yes    |  C   : R   : A++ |
+# |      no         |        no          |    no     |  C   : R   : A   |
+# +-----------------+--------------------+-----------+------------------+
+#
+# B) For rapidely changing library, you should go for the -release flag
+#
+#  It modifies the library name, and you thus cannot say that a library
+#   using this trick is ready for a "stable" release (say, in Debian).
 
-lib_LIBRARIES= libgrasrl.a libgrassg.a
-
-noinst_LIBRARIES=libgrasutils.a
-
-#                     core/dict_multi.c
+if HAVE_SG
+ lib_LTLIBRARIES= libgrasrl.la libgrassg.la
+else
+ lib_LTLIBRARIES= libgrasrl.la
+endif
 
 COMMON_S=\
-  Common/gras.c      Common/gras_datadesc.c        Common/gras_msg.c            \
   \
-  core/log.c         core/log_default_appender.c   core/error.c                 \
-  core/dynar.c                                                                  \
-  core/dict.c        core/dict_elm.c               core/dict_cursor.c           \
+  Core/module.c      Core/core_interface.h                                      \
+  Core/log.c         Core/log_default_appender.c   Core/error.c                 \
+  Core/dynar.c                                                                  \
+  Core/dict.c        Core/dict_elm.c               Core/dict_cursor.c           \
+  Core/set.c                                                                    \
   \
-  core/config.c                               \
+  Core/config.c                               \
   \
-  gs/datadesc.c                               \
-  gs/tools.c                                  \
-  gs/categories.h                             \
-  gs/connection.h                             \
-  gs/sequence.h                               \
-  gs/net_driver.c      gs/net_driver.h        \
-  gs/net_driver_fd.c   gs/net_interface_fd.h  \
-  gs/type_driver_rl.c  gs/type_interface_rl.h \
-  gs/type_driver.c     gs/type_driver.h       \
-  gs/message.c         gs/message.h           \
-  gs/type.c            gs/type.h              \
-  gs/parse.c           gs/parse.h             gs/parse.yy.c \
-  gs/vars.c
-
-gs/parse.yy.c: gs/parse.yy.l
-       flex -o$@ -Pgs_parse_ $^
-
-COMMON_L=\
- $(foreach file,\
-  diagnostic formatutil strutil osutil, \
-  $(top_srcdir)/src/nws_portability/build-@host@/obj/$(file).o)
-
-libgrasutils_a_SOURCES = $(COMMON_S) Tests/gras_dummy.c
-libgrasutils_a_LIBADD = $(COMMON_L)
-
+  Transport/transport.c          Transport/transport_private.h  \
+  \
+  DataDesc/ddt_create.c          \
+  DataDesc/ddt_convert.c         DataDesc/ddt_exchange.c     \
+  DataDesc/cbps.c                DataDesc/datadesc.c         \
+  DataDesc/datadesc_interface.h  DataDesc/datadesc_private.h \
+  DataDesc/ddt_parse.c  DataDesc/ddt_parse.yy.c DataDesc/ddt_parse.yy.h \
+  \
+  Msg/msg.c   Msg/msg_interface.h   Msg/msg_private.h \
+  \
+  Virtu/process.c
 
-libgrasrl_a_SOURCES= $(COMMON_S) RL/gras_rl.c RL/gras_rl.h
-libgrasrl_a_LIBADD= \
- $(foreach file,\
-  exp_smooth forc median mse_forc protocol \
-  dnsutil fbuff forecast_api last_value run_mean timeouts, \
-  $(top_srcdir)/src/nws_portability/build-@host@/obj/$(file).o) \
- $(COMMON_L)
+# DataDesc/ddt_declare.c 
 
-       
-libgrassg_a_SOURCES= $(COMMON_S) SG/gras_sg.c SG/gras_sg.h
-libgrassg_a_LIBADD= \
- $(COMMON_L)
+DataDesc/ddt_parse.yy.c: DataDesc/ddt_parse.yy.l
+       @LEX@ -o$@ -Pgras_ddt_parse_ $^
 
+libgrasrl_la_SOURCES= $(COMMON_S) \
+  Transport/rl_transport.c  Transport/transport_plugin_tcp.c  Transport/transport_plugin_file.c      \
+  \
+  Virtu/rl_process.c        Virtu/rl_time.c                   Virtu/rl_conditional.c
+libgrasrl_la_LDFLAGS = $(VERSION_INFO)
 
+if HAVE_SG
+  libgrassg_la_SOURCES= $(COMMON_S) \
+    Transport/sg_transport.c  Transport/transport_plugin_sg.c             \
+    \
+    Virtu/sg_process.c        Virtu/sg_time.c                   Virtu/sg_conditional.c
+  libgrassg_la_LDFLAGS = $(VERSION_INFO)
+endif