]>
Commit | Line | Data |
---|---|---|
b521659f | 1 | # $Id$ |
2 | # Makefile template for the Alice HLT sample library | |
3 | ||
6c1a9d9e | 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. | |
b22e91eb | 8 | |
b521659f | 9 | MODULE = AliHLTSample |
10 | ||
014e1e83 | 11 | EXTRA_DIST = tutorial.c |
b521659f | 12 | |
6c1a9d9e | 13 | # include the pkg definition which actually contains the source |
14 | # file definitions | |
242bb794 | 15 | MODDIR = $(top_srcdir) |
16 | PKGDEF = $(MODDIR)/libAliHLTSample.pkg | |
2d7ff710 | 17 | include $(top_srcdir)/libAliHLTSample.pkg |
b521659f | 18 | |
34e89120 | 19 | |
b521659f | 20 | # library definition |
6c1a9d9e | 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. | |
b521659f | 25 | lib_LTLIBRARIES = libAliHLTSample.la |
26 | ||
6c1a9d9e | 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 | ||
b521659f | 49 | # library sources |
6c1a9d9e | 50 | # The source files are specified in libAliHLTSample.pkg |
2d7ff710 | 51 | libAliHLTSample_la_SOURCES = $(MODULE_SRCS) |
b521659f | 52 | |
6c1a9d9e | 53 | # library headers |
54 | # The header files are specified in libAliHLTSample.pkg | |
2d7ff710 | 55 | noinst_HEADERS = $(MODULE_HDRS) |
b521659f | 56 | |
6c1a9d9e | 57 | # compilation flags of the library |
58 | # This is the place to add further include directories if you are | |
34e89120 | 59 | # using external modules. The AliRoot/STEER and ROOT directories |
6c1a9d9e | 60 | # are the default include directories. |
34e89120 | 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) \ | |
65 | @HLTBASE_CPPFLAGS@ \ | |
6c1a9d9e | 66 | @ALIROOT_CPPFLAGS@ \ |
34e89120 | 67 | @ROOTCFLAGS@ \ |
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)/|")) | |
6c1a9d9e | 72 | |
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@ \ | |
79 | @ROOTLIBS@ \ | |
80 | @HLTBASE_LDFLAGS@ \ | |
81 | @ALIROOT_LDFLAGS@ \ | |
82 | @ALIROOT_LIBS@ \ | |
83 | -version-info $(LIBRARY_VERSION) | |
b521659f | 84 | |
842fd76a | 85 | # automatic generation of data and time of library build |
86 | COMPILE_INFO = AliHLTSampleCompileInfo.cxx | |
87 | ||
b521659f | 88 | # set the file name for the generated root dictionary |
89 | DICTCPP = AliHLTSample-DICT.cxx | |
842fd76a | 90 | nodist_libAliHLTSample_la_SOURCES= $(COMPILE_INFO) \ |
91 | $(DICTCPP) | |
b521659f | 92 | |
842fd76a | 93 | CLEANFILES = $(COMPILE_INFO) |
b521659f | 94 | |
6c1a9d9e | 95 | ############################################################################### |
96 | # | |
97 | # do not change anything below this line | |
98 | # | |
99 | DICTDEF = $(MODULE)-LinkDef.h | |
100 | DICTFILES = $(DICTCPP) $(DICTCPP:.cxx=.h) $(DICTDEF) | |
101 | DICTHEADERS = $(CLASS_HDRS) | |
102 | ||
103 | CLEANFILES += $(DICTFILES) | |
104 | ||
105 | ||
106 | $(DICTCPP:.cxx=.h): $(DICTCPP) | |
107 | if test $@ ; then : ; else rm -f $< ; $(MAKE) $(MAKEFLAGS) $< ; fi | |
108 | ||
109 | $(DICTCPP): $(DICTHEADERS:%=$(srcdir)/%) $(DICTDEF) | |
bd39cca9 | 110 | if [ -x $(ROOTCINT) ]; then $(ROOTCINT) -f $@ -c $(CPPFLAGS) $(AM_CPPFLAGS) \ |
111 | `for i in $(DEFS);do case $$i in $(foreach def, $(DEFFILTER), $(def) |) -DVERSION*);; *) echo -n " $$i";; esac; done` \ | |
112 | $(foreach i, $(DICTINCLUDE), $(i)) \ | |
113 | $^ ; fi | |
114 | ||
90ebac25 | 115 | $(DICTDEF): Makefile.am $(PKGDEF) |
6c1a9d9e | 116 | @echo '//automatically generated ROOT DICT definition' > $@ |
117 | @echo '//!!! DO NOT EDIT THIS FILE !!!' >> $@ | |
118 | @echo '//add further class definitions to the CLASS_HDRS variable in Makefile.am' >> $@ | |
119 | @echo '#ifdef __CINT__' >> $@ | |
120 | @echo '#pragma link off all globals;' >> $@ | |
121 | @echo '#pragma link off all classes;' >> $@ | |
122 | @echo '#pragma link off all functions;' >> $@ | |
123 | @$(foreach i, $(DICTHEADERS), \ | |
124 | echo "#pragma link C++ class `echo $(i) | sed -e "s|.*/||g" -e "s|\.h.*||"`;" >> $@ ;) | |
125 | @echo '#endif' >> $@ | |
842fd76a | 126 | |
127 | $(COMPILE_INFO): $(libAliHLTSample_la_SOURCES) $(pkginclude_HEADERS) $(noinst_HEADERS) Makefile.am | |
128 | @echo '//automatically generated compilation info' > $@ | |
129 | @echo '//!!! DO NOT EDIT THIS FILE !!!' >> $@ | |
130 | @echo '//add changes in Makefile.am' >> $@ | |
131 | @echo 'extern "C" void CompileInfo( char*& date, char*& time)' >> $@ | |
132 | @echo '{date=__DATE__; time=__TIME__; return;}' >> $@ |