]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/SampleLib/Makefile.am
aliroot integration
[u/mrichter/AliRoot.git] / HLT / SampleLib / Makefile.am
1 # $Id$
2 # Makefile template for the Alice HLT sample library
3
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.
8
9 MODULE                          = AliHLTSample
10
11 EXTRA_DIST                      = AliHLTSampleLinkDef.h
12
13 # include the pkg definition which actually contains the source
14 # file definitions
15 MODDIR                          = $(top_srcdir)
16 PKGDEF                          = $(MODDIR)/libAliHLTSample.pkg
17 include $(top_srcdir)/libAliHLTSample.pkg
18
19 # library definition
20 # The lib_LTLIBRARIES variable is a fixed variable of the autotools build
21 # system. All libraries defined by the Makefile template have to be added
22 # here. Since we aim for separated directories for different libraries
23 # there will be only one library.
24 lib_LTLIBRARIES                 =  libAliHLTSample.la
25
26 # version info for the library
27 # The libtool program is used to created the library, a version number can
28 # be specified by using the -version-info flag. This flag accepts an argument
29 # of the form current[:revision[:age]].
30 # If either revision or age are omitted, they default to 0. Also note that
31 # age must be less than or equal to the current interface number. Here are a
32 # set of rules to help you update your library version information:
33 #
34 #   1. Start with version information of 0:0:0 for each libtool library.
35 #   2. Update the version information only immediately before a public release
36 #      of your software. More frequent updates are unnecessary, and only
37 #      guarantee that the current interface number gets larger faster.
38 #   3. If the library source code has changed at all since the last update,
39 #      then increment revision (c:r:a becomes c:r+1:a).
40 #   4. If any interfaces have been added, removed, or changed since the last
41 #      update, increment current, and set revision to 0.
42 #   5. If any interfaces have been added since the last public release, then
43 #      increment age.
44 #   6. If any interfaces have been removed since the last public release, then
45 #      set age to 0. 
46 LIBRARY_VERSION                 = '1:0:0'
47
48 # library sources
49 # The source files are specified in libAliHLTSample.pkg
50 libAliHLTSample_la_SOURCES      =  $(MODULE_SRCS)
51
52 # library headers
53 # The header files are specified in libAliHLTSample.pkg
54 noinst_HEADERS                  =  $(MODULE_HDRS)
55
56 # compilation flags of the library
57 # This is the place to add further include directories if you are
58 # using external modules. The AliRoot, ROOT and HLT base directories
59 # are the default include directories.
60 AM_CPPFLAGS                     = @HLTBASE_CPPFLAGS@ \
61                                   @ALIROOT_CPPFLAGS@ \
62                                   @ROOTCFLAGS@
63
64 # linking flags of the library
65 # This is the place to add further libraries if you are
66 # using external modules. The AliRoot, ROOT and HLT base libraries
67 # are added by default.
68 # Also the version of the library 
69 libAliHLTSample_la_LDFLAGS      = -L@ROOTLIBDIR@ \
70                                   @ROOTLIBS@ \
71                                   @HLTBASE_LDFLAGS@ \
72                                   @ALIROOT_LDFLAGS@ \
73                                   @ALIROOT_LIBS@ \
74                                   -version-info $(LIBRARY_VERSION)
75
76 # set the file name for the generated root dictionary
77 DICTCPP                         =  AliHLTSample-DICT.cxx
78 nodist_libAliHLTSample_la_SOURCES    =  $(DICTCPP)
79
80 CLEANFILES                      =
81
82 ###############################################################################
83 #
84 # do not change anything below this line
85 #
86 DICTDEF                         =  $(MODULE)-LinkDef.h
87 DICTFILES                       =  $(DICTCPP) $(DICTCPP:.cxx=.h) $(DICTDEF)
88 DICTHEADERS                     =  $(CLASS_HDRS)
89
90 CLEANFILES                      += $(DICTFILES)
91
92
93 $(DICTCPP:.cxx=.h): $(DICTCPP)
94         if test $@ ; then : ; else rm -f $< ; $(MAKE) $(MAKEFLAGS) $< ; fi 
95
96 $(DICTCPP): $(DICTHEADERS:%=$(srcdir)/%) $(DICTDEF)
97         if [ -x $(ROOTCINT) ]; then $(ROOTCINT) -f $@ -c $(CPPFLAGS) $(AM_CPPFLAGS) $(DEFS) $(foreach i, $(DICTINCLUDE), $(i)) $^ ; fi
98 $(DICTDEF): Makefile.am
99         @echo '//automatically generated ROOT DICT definition' > $@
100         @echo '//!!! DO NOT EDIT THIS FILE !!!' >> $@
101         @echo '//add further class definitions to the CLASS_HDRS variable in Makefile.am' >> $@
102         @echo '#ifdef __CINT__' >> $@
103         @echo '#pragma link off all globals;' >> $@
104         @echo '#pragma link off all classes;' >> $@
105         @echo '#pragma link off all functions;' >> $@
106         @$(foreach i, $(DICTHEADERS), \
107            echo "#pragma link C++ class `echo $(i) | sed -e "s|.*/||g" -e "s|\.h.*||"`;" >> $@ ;)
108         @echo '#endif' >> $@