2 # Makefile template for the Alice HLT sample library
4 # This files defines the autotools-based build system of the
5 # libAliHLTSample library. All lines starting with a '#' are comments.
6 # Note: Source files definitions must be made in libAliHLTSample.pkg
7 # For further information refer to the README.
11 EXTRA_DIST = tutorial.c
13 # include the pkg definition which actually contains the source
15 MODDIR = $(top_srcdir)
16 PKGDEF = $(MODDIR)/libAliHLTSample.pkg
17 include $(top_srcdir)/libAliHLTSample.pkg
21 # The lib_LTLIBRARIES variable is a fixed variable of the autotools build
22 # system. All libraries defined by the Makefile template have to be added
23 # here. Since we aim for separated directories for different libraries
24 # there will be only one library.
25 lib_LTLIBRARIES = libAliHLTSample.la
27 # version info for the library
28 # The libtool program is used to created the library, a version number can
29 # be specified by using the -version-info flag. This flag accepts an argument
30 # of the form current[:revision[:age]].
31 # If either revision or age are omitted, they default to 0. Also note that
32 # age must be less than or equal to the current interface number. Here are a
33 # set of rules to help you update your library version information:
35 # 1. Start with version information of 0:0:0 for each libtool library.
36 # 2. Update the version information only immediately before a public release
37 # of your software. More frequent updates are unnecessary, and only
38 # guarantee that the current interface number gets larger faster.
39 # 3. If the library source code has changed at all since the last update,
40 # then increment revision (c:r:a becomes c:r+1:a).
41 # 4. If any interfaces have been added, removed, or changed since the last
42 # update, increment current, and set revision to 0.
43 # 5. If any interfaces have been added since the last public release, then
45 # 6. If any interfaces have been removed since the last public release, then
47 LIBRARY_VERSION = '1:0:0'
50 # The source files are specified in libAliHLTSample.pkg
51 libAliHLTSample_la_SOURCES = $(MODULE_SRCS)
54 # The header files are specified in libAliHLTSample.pkg
55 noinst_HEADERS = $(MODULE_HDRS)
57 # compilation flags of the library
58 # This is the place to add further include directories if you are
59 # using external modules. The AliRoot/STEER and ROOT directories
60 # are the default include directories.
61 # Include paths within the HLT modules are automatically taken from the
62 # EINCLUDE variable of the pkg definition
63 # other AliRoot dependencies might need to added
64 AM_CPPFLAGS = -DMODULE=$(MODULE) \
68 $(foreach i, $(EINCLUDE), \
69 $(shell echo $(i) | sed -e "/HLT\//!d" -e "s|HLT/|-I$(top_srcdir)/|")) \
70 $(foreach i, $(EINCLUDE), \
71 $(shell echo $(i) | sed -e "/HLT\//d" -e "s|^|-I$(ALICE_ROOT)/|"))
73 # linking flags of the library
74 # This is the place to add further libraries if you are
75 # using external modules. The AliRoot, ROOT and HLT base libraries
76 # are added by default.
77 # Also the version of the library
78 libAliHLTSample_la_LDFLAGS = -L@ROOTLIBDIR@ \
83 -version-info $(LIBRARY_VERSION)
85 # automatic generation of data and time of library build
86 COMPILE_INFO = AliHLTSampleCompileInfo.cxx
88 # set the file name for the generated root dictionary
89 DICTCPP = AliHLTSample-DICT.cxx
90 nodist_libAliHLTSample_la_SOURCES= $(COMPILE_INFO) \
93 CLEANFILES = $(COMPILE_INFO)
95 ###############################################################################
97 # do not change anything below this line
99 DICTDEF = $(MODULE)-LinkDef.h
100 DICTFILES = $(DICTCPP) $(DICTCPP:.cxx=.h) $(DICTDEF)
101 DICTHEADERS = $(CLASS_HDRS)
103 CLEANFILES += $(DICTFILES)
105 # the rootcint buffer for macros is limited to 1024 characters
106 # we have to filter out some of the defines
107 DEFFILTER = -DPACKAGE* -DHAVE_STDLIB_H=1* -DHAVE_STRING_H=1* -DHAVE_MEMORY_H=1* -DHAVE_STRINGS_H=1* -DHAVE_INTTYPES_H=1* -DHAVE_STDINT_H=1* -DHAVE_UNISTD_H=1* -DHAVE_DLFCN_H=1* -DHAVE_NOT_*
110 $(DICTCPP:.cxx=.h): $(DICTCPP)
111 if test $@ ; then : ; else rm -f $< ; $(MAKE) $(MAKEFLAGS) $< ; fi
113 $(DICTCPP): $(DICTHEADERS:%=$(srcdir)/%) $(DICTDEF)
114 if [ -x $(ROOTCINT) ]; then $(ROOTCINT) -f $@ -c $(CPPFLAGS) $(AM_CPPFLAGS) \
115 `for i in $(DEFS);do case $$i in $(foreach def, $(DEFFILTER), $(def) |) -DVERSION*);; *) echo -n " $$i";; esac; done` \
116 $(foreach i, $(DICTINCLUDE), $(i)) \
119 $(DICTDEF): Makefile.am $(PKGDEF)
120 @echo '//automatically generated ROOT DICT definition' > $@
121 @echo '//!!! DO NOT EDIT THIS FILE !!!' >> $@
122 @echo '//add further class definitions to the CLASS_HDRS variable in Makefile.am' >> $@
123 @echo '#ifdef __CINT__' >> $@
124 @echo '#pragma link off all globals;' >> $@
125 @echo '#pragma link off all classes;' >> $@
126 @echo '#pragma link off all functions;' >> $@
127 @$(foreach i, $(DICTHEADERS), \
128 echo "#pragma link C++ class `echo $(i) | sed -e "s|.*/||g" -e "s|\.h.*||"`;" >> $@ ;)
131 $(COMPILE_INFO): $(libAliHLTSample_la_SOURCES) $(pkginclude_HEADERS) $(noinst_HEADERS) Makefile.am
132 @echo '//automatically generated compilation info' > $@
133 @echo '//!!! DO NOT EDIT THIS FILE !!!' >> $@
134 @echo '//add changes in Makefile.am' >> $@
135 @echo 'extern "C" void CompileInfo(const char*& date, const char*& time)' >> $@
136 @echo '{date=__DATE__; time=__TIME__; return;}' >> $@