]>
Commit | Line | Data |
---|---|---|
b521659f | 1 | # Makefile template for ROOT dictionary generation |
2 | # | |
3 | # usage: | |
4 | # 1. set variable CLASS_HDRS to the class header files | |
5 | # 2. set DICTCPP variable to dictionary c++ file name | |
4a6b4894 | 6 | # e.g. <module>-DICT.cxx (<module> replaced by your module name) |
b521659f | 7 | # 3. add the source file name to the list of generated sources |
8 | # nodist_lib<module>_la_SOURCES = $(DICTCPP) | |
4a6b4894 | 9 | # 4. add additional include files which are necessary for the compilation |
10 | # of the dictionary files and which are not part of the CLASS_HDRS to | |
11 | # the DICTINCLUDE variable | |
12 | # 5. include this file from your Makefile(.am) | |
b521659f | 13 | # e.g. include ../make.dict |
14 | # | |
15 | # Author: Matthias.Richter@ift.uib.no | |
16 | # | |
17 | DICTDEF = $(MODULE)-LinkDef.h | |
18 | DICTFILES = $(DICTCPP) $(DICTCPP:.cxx=.h) $(DICTDEF) | |
19 | DICTHEADERS = $(CLASS_HDRS) | |
20 | ||
21 | CLEANFILES += $(DICTFILES) | |
22 | ||
23 | ||
24 | $(DICTCPP:.cxx=.h): $(DICTCPP) | |
25 | if test $@ ; then : ; else rm -f $< ; $(MAKE) $(MAKEFLAGS) $< ; fi | |
26 | ||
27 | $(DICTCPP): $(DICTHEADERS:%=$(srcdir)/%) $(DICTDEF) | |
4a6b4894 | 28 | if [ -x $(ROOTCINT) ]; then $(ROOTCINT) -f $@ -c $(CPPFLAGS) $(AM_CPPFLAGS) $(DEFS) $(foreach i, $(DICTINCLUDE), $(i)) $^ ; fi |
3cde846d | 29 | $(DICTDEF): Makefile.am $(PKGDEF) |
b521659f | 30 | @echo '//automatically generated ROOT DICT definition' > $@ |
31 | @echo '//!!! DO NOT EDIT THIS FILE !!!' >> $@ | |
fa760045 | 32 | @echo '//add further class definitions to the CLASS_HDRS variable in Makefile.am' >> $@ |
b521659f | 33 | @echo '#ifdef __CINT__' >> $@ |
34 | @echo '#pragma link off all globals;' >> $@ | |
35 | @echo '#pragma link off all classes;' >> $@ | |
36 | @echo '#pragma link off all functions;' >> $@ | |
a54f35f5 | 37 | $(foreach i, $(DICTHEADERS:.h=), \ |
38 | echo "#pragma link C++ class "`echo $(i)| sed -e 's|.*/||'`";" >> $@ ;) | |
b521659f | 39 | @echo '#endif' >> $@ |