]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/SampleLib/Makefile.am
- integration of libHLTbase into AliRoot prepared
[u/mrichter/AliRoot.git] / HLT / SampleLib / Makefile.am
index 461732548799094d537a1a22ef5aab0864e57f2e..dafc03ea54529ea2fecef46a98384b0151a008f5 100644 (file)
@@ -1,31 +1,86 @@
 # $Id$
 # Makefile template for the Alice HLT sample library
 
-EXTRA_DIST                     = tutorial.c
+# This files defines the autotools-based build system of the
+# libAliHLTSample library. All lines starting with a '#' are comments.
+# Note: Source files definitions must be made in libAliHLTSample.pkg
+# For further information refer to the README.
 
 MODULE                                 = AliHLTSample
 
-AM_CPPFLAGS                    = -I$(top_srcdir)/BASE
+#EXTRA_DIST                    = libAliHLTSample.pkg
 
+# include the pkg definition which actually contains the source
+# file definitions
+#include libAliHLTSample.pkg
 
 # library definition
+# The lib_LTLIBRARIES variable is a fixed variable of the autotools build
+# system. All libraries defined by the Makefile template have to be added
+# here. Since we aim for separated directories for different libraries
+# there will be only one library.
 lib_LTLIBRARIES                        =  libAliHLTSample.la
 
+# version info for the library
+# The libtool program is used to created the library, a version number can
+# be specified by using the -version-info flag. This flag accepts an argument
+# of the form current[:revision[:age]].
+# If either revision or age are omitted, they default to 0. Also note that
+# age must be less than or equal to the current interface number. Here are a
+# set of rules to help you update your library version information:
+#
+#   1. Start with version information of 0:0:0 for each libtool library.
+#   2. Update the version information only immediately before a public release
+#      of your software. More frequent updates are unnecessary, and only
+#      guarantee that the current interface number gets larger faster.
+#   3. If the library source code has changed at all since the last update,
+#      then increment revision (c:r:a becomes c:r+1:a).
+#   4. If any interfaces have been added, removed, or changed since the last
+#      update, increment current, and set revision to 0.
+#   5. If any interfaces have been added since the last public release, then
+#      increment age.
+#   6. If any interfaces have been removed since the last public release, then
+#      set age to 0. 
+LIBRARY_VERSION                        = '1:0:0'
+
 # library sources
-libAliHLTSample_la_SOURCES     =  AliHLTSampleComponent1.cxx \
-                                  AliHLTSampleComponent2.cxx \
-                                  AliHLTDummyComponent.cxx
+# The source files are specified in libAliHLTSample.pkg
+#libAliHLTSample_la_SOURCES    =  $(MODULE_SRCS)
+# temporary until lib*.pkg file is commited to AliRoot
+libAliHLTSample_la_SOURCES=    AliHLTSampleComponent1.cxx \
+                               AliHLTSampleComponent2.cxx \
+                               AliHLTDummyComponent.cxx
 
-# class header files, the link definition for the root dictionary
-# will be created from the names of the header files
-CLASS_HDRS                     =  AliHLTSampleComponent1.h \
-                                  AliHLTSampleComponent2.h \
-                                  AliHLTDummyComponent.h
+# temporary until lib*.pkg file is commited to AliRoot
+CLASS_HDRS=    AliHLTSampleComponent1.h \
+               AliHLTSampleComponent2.h \
+               AliHLTDummyComponent.h
 
-noinst_HEADERS                 =  $(CLASS_HDRS)
+# library headers
+# The header files are specified in libAliHLTSample.pkg
+#noinst_HEADERS                        =  $(MODULE_HDRS)
+# temporary until lib*.pkg file is commited to AliRoot
+noinst_HEADERS=        $(CLASS_HDRS)
 
-# version info for the library
-libAliHLTSample_la_LDFLAGS     =  -version-info 1:0:0
+# compilation flags of the library
+# This is the place to add further include directories if you are
+# using external modules. The AliRoot, ROOT and HLT base directories
+# are the default include directories.
+AM_CPPFLAGS                    = @HLTBASE_CPPFLAGS@ \
+                                 @ALIROOT_CPPFLAGS@ \
+                                 @ROOTCFLAGS@
+
+# linking flags of the library
+# This is the place to add further libraries if you are
+# using external modules. The AliRoot, ROOT and HLT base libraries
+# are added by default.
+# Also the version of the library 
+libAliHLTSample_la_LDFLAGS     = -L@ROOTLIBDIR@ \
+                                 @ROOTLIBS@ \
+                                 @HLTBASE_LDFLAGS@ \
+                                 @ALIROOT_LDFLAGS@ \
+                                 @ALIROOT_LIBS@ \
+                                 -version-info $(LIBRARY_VERSION)
 
 # set the file name for the generated root dictionary
 DICTCPP                                =  AliHLTSample-DICT.cxx
@@ -33,4 +88,30 @@ nodist_libAliHLTSample_la_SOURCES    =  $(DICTCPP)
 
 CLEANFILES                     =
 
-include $(top_srcdir)/make.dict
+###############################################################################
+#
+# do not change anything below this line
+#
+DICTDEF                                =  $(MODULE)-LinkDef.h
+DICTFILES                      =  $(DICTCPP) $(DICTCPP:.cxx=.h) $(DICTDEF)
+DICTHEADERS                    =  $(CLASS_HDRS)
+
+CLEANFILES                     += $(DICTFILES)
+
+
+$(DICTCPP:.cxx=.h): $(DICTCPP)
+       if test $@ ; then : ; else rm -f $< ; $(MAKE) $(MAKEFLAGS) $< ; fi 
+
+$(DICTCPP): $(DICTHEADERS:%=$(srcdir)/%) $(DICTDEF)
+       if [ -x $(ROOTCINT) ]; then $(ROOTCINT) -f $@ -c $(CPPFLAGS) $(AM_CPPFLAGS) $(DEFS) $(foreach i, $(DICTINCLUDE), $(i)) $^ ; fi
+$(DICTDEF): Makefile.am
+       @echo '//automatically generated ROOT DICT definition' > $@
+       @echo '//!!! DO NOT EDIT THIS FILE !!!' >> $@
+       @echo '//add further class definitions to the CLASS_HDRS variable in Makefile.am' >> $@
+       @echo '#ifdef __CINT__' >> $@
+       @echo '#pragma link off all globals;' >> $@
+       @echo '#pragma link off all classes;' >> $@
+       @echo '#pragma link off all functions;' >> $@
+       @$(foreach i, $(DICTHEADERS), \
+          echo "#pragma link C++ class `echo $(i) | sed -e "s|.*/||g" -e "s|\.h.*||"`;" >> $@ ;)
+       @echo '#endif' >> $@