# $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
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' >> $@