]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/SampleLib/Makefile.am
documentation
[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                                   tutorial.c
13
14 # include the pkg definition which actually contains the source
15 # file definitions
16 MODDIR                          = $(top_srcdir)
17 PKGDEF                          = $(MODDIR)/libAliHLTSample.pkg
18 include $(top_srcdir)/libAliHLTSample.pkg
19
20 # library definition
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
26
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:
34 #
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
44 #      increment age.
45 #   6. If any interfaces have been removed since the last public release, then
46 #      set age to 0. 
47 LIBRARY_VERSION                 = '1:0:0'
48
49 # library sources
50 # The source files are specified in libAliHLTSample.pkg
51 libAliHLTSample_la_SOURCES      =  $(MODULE_SRCS)
52
53 # library headers
54 # The header files are specified in libAliHLTSample.pkg
55 noinst_HEADERS                  =  $(MODULE_HDRS)
56
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, ROOT and HLT base directories
60 # are the default include directories.
61 AM_CPPFLAGS                     = @HLTBASE_CPPFLAGS@ \
62                                   @ALIROOT_CPPFLAGS@ \
63                                   @ROOTCFLAGS@
64
65 # linking flags of the library
66 # This is the place to add further libraries if you are
67 # using external modules. The AliRoot, ROOT and HLT base libraries
68 # are added by default.
69 # Also the version of the library 
70 libAliHLTSample_la_LDFLAGS      = -L@ROOTLIBDIR@ \
71                                   @ROOTLIBS@ \
72                                   @HLTBASE_LDFLAGS@ \
73                                   @ALIROOT_LDFLAGS@ \
74                                   @ALIROOT_LIBS@ \
75                                   -version-info $(LIBRARY_VERSION)
76
77 # set the file name for the generated root dictionary
78 DICTCPP                         =  AliHLTSample-DICT.cxx
79 nodist_libAliHLTSample_la_SOURCES    =  $(DICTCPP)
80
81 CLEANFILES                      =
82
83 ###############################################################################
84 #
85 # do not change anything below this line
86 #
87 DICTDEF                         =  $(MODULE)-LinkDef.h
88 DICTFILES                       =  $(DICTCPP) $(DICTCPP:.cxx=.h) $(DICTDEF)
89 DICTHEADERS                     =  $(CLASS_HDRS)
90
91 CLEANFILES                      += $(DICTFILES)
92
93
94 $(DICTCPP:.cxx=.h): $(DICTCPP)
95         if test $@ ; then : ; else rm -f $< ; $(MAKE) $(MAKEFLAGS) $< ; fi 
96
97 $(DICTCPP): $(DICTHEADERS:%=$(srcdir)/%) $(DICTDEF)
98         if [ -x $(ROOTCINT) ]; then $(ROOTCINT) -f $@ -c $(CPPFLAGS) $(AM_CPPFLAGS) $(DEFS) $(foreach i, $(DICTINCLUDE), $(i)) $^ ; fi
99 $(DICTDEF): Makefile.am $(PKGDEF)
100         @echo '//automatically generated ROOT DICT definition' > $@
101         @echo '//!!! DO NOT EDIT THIS FILE !!!' >> $@
102         @echo '//add further class definitions to the CLASS_HDRS variable in Makefile.am' >> $@
103         @echo '#ifdef __CINT__' >> $@
104         @echo '#pragma link off all globals;' >> $@
105         @echo '#pragma link off all classes;' >> $@
106         @echo '#pragma link off all functions;' >> $@
107         @$(foreach i, $(DICTHEADERS), \
108            echo "#pragma link C++ class `echo $(i) | sed -e "s|.*/||g" -e "s|\.h.*||"`;" >> $@ ;)
109         @echo '#endif' >> $@