# -*- mode: makefile -*- # # Makefile definitions included by the top Makefile # The macro below is expanded when 'realpath' is not built-in. # Built-in 'realpath' is available on GNU Make 3.81. realpath = $(shell cd $(1); pwd) ROOT_SRCDIR := $(call realpath, @top_srcdir@) ROOT_OBJDIR := $(call realpath, @top_builddir@) ifndef ROOT_SRCDIR $(error Error determining ROOT_SRCDIR) endif ifndef ROOT_OBJDIR $(error Error determining ROOT_OBJDIR) endif # The macro below strips off the source dir path to make a relative path name stripsrc = $(subst $(ROOT_SRCDIR)/,,$(1)) # This macro creates the list of pcm files to be passed to a library # dictionary generation step, something like # $(call pcm_rootcling_opt,$(TREELIBDEPM)) pcm_rootcling_opt = -m lib/libCore_rdict.pcm $(addprefix -m ,$(subst $(SOEXT),_rdict.pcm,$1)) # This macro returns the name of the pcm corresponding to a library # $(call pcmname,$(TREELIB)) pcmname = $(subst .$(SOEXT),_rdict.pcm,$1) # This macro returns the list of pcm's that are needed for a package # $(call pcmdep,TREE) # the argument is the upper case name of the library (see the Module.mk) pcmdep = lib/libCore_rdict.pcm $(subst .$(SOEXT),_rdict.pcm,$($1LIBDEPM)) # This macro builds the rootmap name starting from the library full path # $(call rmfName, TREELIB) # the argument is the upper case name of the library (see the Module.mk) rmfName = $(dir $1)$(subst .$(SOEXT),.rootmap,$(notdir $1)) # This macro returns the arguments to be passed to rootcling to properly # generate the rootmap file # $(call rootmapModule, TREELIB) # the argument is the upper case name of the library (see the Module.mk) rootmapModule = -rml $(notdir $1) -rmf $(call rmfName, $1) # This macro returns the argument to be passed to rootcling to # properly setup the pcm # $(call dictModule,TREE) # the argument is the upper case name of the library (see the Module.mk) dictModule = -s $($1LIB) $(call rootmapModule, $($1LIB)) $(call pcm_rootcling_opt, $($1LIBDEPM)) # This macro is used to setup the rule where the pcm depends on the # dictionary and the library's dependent pcm's # $(call pcmrule,TREE) # the argument is the upper case name of the library (see the Module.mk) pcmrule = $(call pcmname, $($1LIB)): $(call pcmdep, $1) $($1DS) noop = @true # "Do nothing really, this is just to make the rule stick" ARCH := @architecture@ HOST := @host@ @rootbuild@ USECONFIG := @useconfig@ MKLIBOPTIONS := @mkliboption@ EXTRA_CFLAGS := -Iinclude @cflags@ USERCONF_CFLAGS:= @usercflags@ EXTRA_CXXFLAGS := -Iinclude @cflags@ USERCONF_CXXFLAGS:= @usercxxflags@ EXTRA_LDFLAGS := @ldflags@ WERROR := @werror@ WINRTDEBUG := @winrtdebug@ CTORSINITARRAY := @ctorsinitarray@ CXXMKDEPFLAGS := @cxxmkdepflags@ BINDIR := @bindir@ LIBDIR := @libdir@ INCDIR := @incdir@ ETCDIR := @etcdir@ MANDIR := @mandir@ DATADIR := @datadir@ ELISPDIR := @elispdir@ TTFFONTDIR := @ttffontdir@ MACRODIR := @macrodir@ SRCDIR := @srcdir@ ICONPATH := @iconpath@ DOCDIR := @docdir@ TUTDIR := @tutdir@ BUILDX11 := @buildx11@ X11INCDIR := $(filter-out /usr/include, @x11incdir@) X11LIBDIR := @x11libdir@ XPMLIBDIR := @xpmlibdir@ XPMLIB := @xpmlib@ BUILDCOCOA := @buildcocoa@ MACOSXVERS := @macosxvers@ OSXSDK := @osxsdk@ IOSVERS := @iosvers@ IOSSDK := @iossdk@ CXX11 := @c++11@ CXX14 := @c++14@ CXXMODULES := @cxxmodules@ LIBCXX := @libc++@ ENABLETHREAD := @enable_thread@ OSTHREADFLAG := @threadflag@ OSTHREADLIBDIR := @threadlibdir@ OSTHREADLIB := @threadlib@ BUILTINFREETYPE:= @builtinfreetype@ BUILTINPCRE := @builtinpcre@ BUILTINUNURAN := @builtinunuran@ UNURANLIBDIR := @unuranlibdir@ UNURANLIBEXT := @unuranlib@ UNURANLIB := @unuranlib@ UNURANINCDIR := $(filter-out /usr/include, @unuranincdir@) BUILTINZLIB := @builtinzlib@ ZLIBLIBDIR := @zliblibdir@ ZLIBCLILIB := @zliblib@ ZLIBINCDIR := $(filter-out /usr/include, @zlibincdir@) BUILTINLZMA := @builtinlzma@ LZMALIBDIR := @lzmalibdir@ LZMACLILIB := @lzmalib@ LZMAINCDIR := $(filter-out /usr/include, @lzmaincdir@) BUILTINLZ4 := @builtinlz4@ LZ4LIBDIR := @lz4libdir@ LZ4CLILIB := @lz4lib@ LZ4INCDIR := $(filter-out /usr/include, @lz4incdir@) BUILDGL := @buildgl@ OPENGLLIBDIR := @opengllibdir@ OPENGLULIB := @openglulib@ OPENGLLIB := @opengllib@ OPENGLINCDIR := $(filter-out /usr/include, @openglincdir@) BUILTINGL2PS := @builtingl2ps@ GL2PSLIBDIR := @gl2pslibdir@ GL2PSLIB := @gl2pslib@ GL2PSINCDIR := $(filter-out /usr/include, @gl2psincdir@) BUILDMYSQL := @buildmysql@ MYSQLLIBDIR := @mysqllibdir@ MYSQLCLILIB := @mysqllib@ MYSQLINCDIR := $(filter-out /usr/include, @mysqlincdir@) BUILDORACLE := @buildoracle@ ORACLELIBDIR := @oraclelibdir@ ORACLECLILIB := @oraclelib@ ORACLEINCDIR := $(filter-out /usr/include, @oracleincdir@) BUILDPGSQL := @buildpgsql@ PGSQLLIBDIR := @pgsqllibdir@ PGSQLCLILIB := @pgsqllib@ PGSQLINCDIR := $(filter-out /usr/include, @pgsqlincdir@) BUILDSQLITE := @buildsqlite@ SQLITELIBDIR := @sqlitelibdir@ SQLITECLILIB := @sqlitelib@ SQLITEINCDIR := $(filter-out /usr/include, @sqliteincdir@) BUILDODBC := @buildodbc@ ODBCLIBDIR := @odbclibdir@ ODBCCLILIB := @odbclib@ ODBCINCDIR := $(filter-out /usr/include, @odbcincdir@) BUILDDAVIX := @builddavix@ DAVIXLIBDIR := @davixlibdir@ DAVIXCLILIB := @davixlib@ DAVIXINCDIR := $(filter-out /usr/include, @davixincdir@) BUILDDCAP := @builddcap@ DCAPLIBDIR := @dcaplibdir@ DCAPLIB := @dcaplib@ DCAPINCDIR := $(filter-out /usr/include, @dcapincdir@) BUILDFTGL := @buildftgl@ FTGLLIBDIR := @ftgllibdir@ FTGLLIBS := @ftgllibs@ FTGLINCDIR := $(filter-out /usr/include, @ftglincdir@) ifeq ($(BUILDFTGL), yes) FTGLCPPFLAGS := -DBUILTIN_FTGL endif BUILDGLEW := @buildglew@ GLEWLIBDIR := @glewlibdir@ GLEWLIBS := @glewlibs@ GLEWINCDIR := $(filter-out /usr/include, @glewincdir@) ifeq ($(BUILDGLEW), yes) GLEWCPPFLAGS := -DBUILTIN_GLEW endif BUILDGFAL := @buildgfal@ GFALLIBDIR := @gfallibdir@ GFALCLILIB := @gfallib@ GFALINCDIR := $(filter-out /usr/include, @gfalincdir@) SRMIFCEINCDIR := $(filter-out /usr/include, @srmifceincdir@) GLIB2INCDIR := $(filter-out /usr/include, @glib2incdir@) BUILDMEMSTAT := @buildmemstat@ BUILDALIEN := @buildalien@ ALIENLIBDIR := @alienlibdir@ ALIENCLILIB := @alienlib@ ALIENINCDIR := $(filter-out /usr/include, @alienincdir@) BUILDASIMAGE := @buildasimage@ BUILTINASIMAGE := @builtinafterimage@ ASEXTRALIB := @asextralib@ ASEXTRALIBDIR := @asextralibdir@ ASJPEGINCDIR := $(filter-out /usr/include, @asjpegincdir@) ASPNGINCDIR := $(filter-out /usr/include, @aspngincdir@) ASTIFFINCDIR := $(filter-out /usr/include, @astiffincdir@) ASINCDIR := $(filter-out /usr/include, @asimageincdir@) ASLIB := @asimagelib@ ASLIBDIR := @asimagelibdir@ BUILDFPYTHIA6 := @buildpythia6@ FPYTHIA6LIBDIR := @pythia6libdir@ FPYTHIA6LIB := @pythia6lib@ FPYTHIA6CPPFLAGS := @pythia6cppflags@ BUILDFPYTHIA8 := @buildpythia8@ FPYTHIA8INCDIR := $(filter-out /usr/include, @pythia8incdir@) FPYTHIA8LIBDIR := @pythia8libdir@ FPYTHIA8LIB := @pythia8lib@ BUILDFFTW3 := @buildfftw3@ FFTW3LIBDIR := @fftw3libdir@ FFTW3LIB := @fftw3lib@ FFTW3INCDIR := $(filter-out /usr/include, @fftw3incdir@) BUILDFITSIO := @buildfitsio@ CFITSIOLIBDIR := @cfitsiolibdir@ CFITSIOLIB := @cfitsiolib@ CFITSIOINCDIR := $(filter-out /usr/include, @cfitsioincdir@) BUILDGVIZ := @buildgviz@ GRAPHVIZLIBDIR := @gvizlibdir@ GRAPHVIZLIB := @gvizlib@ GRAPHVIZINCDIR := $(filter-out /usr/include, @gvizincdir@) GRAPHVIZCFLAGS := @gvizcflags@ BUILDPYTHON := @buildpython@ PYTHONLIBDIR := @pythonlibdir@ PYTHONLIB := @pythonlib@ PYTHONINCDIR := $(filter-out /usr/include, @pythonincdir@) PYTHONLIBFLAGS := @pythonlibflags@ PYTHONEXE := @pythonexe@ BUILDRUBY := @buildruby@ RUBYLIBDIR := @rubylibdir@ RUBYLIB := @rubylib@ RUBYINCDIR := $(filter-out /usr/include, @rubyincdir@) BUILDXML := @buildxml@ XMLLIBDIR := @xmllibdir@ XMLCLILIB := @xmllib@ XMLINCDIR := $(filter-out /usr/include, @xmlincdir@) HASXRD := @hasxrd@ XRDINCDIR := @xrdincdir@ XRDLIBDIR := @xrdlibdir@ EXTRA_XRDFLAGS := @extraxrdflags@ XRDVERSION := @xrdversion@ HASXRDUTILS := @hasxrdutils@ XRDINCPRIVATE := @xrdincprivate@ BUILDNETXNG := @buildnetxng@ BUILDXPROOFD := @buildxproofd@ BUILDXRDCLT := @buildxrdclt@ ALLOCLIB := @alloclib@ ALLOCLIBDIR := @alloclibdir@ BUILDMONALISA := @buildmonalisa@ MONALISALIBDIR := @monalisalibdir@ MONALISACLILIB := @monalisalib@ MONALISAINCDIR := $(filter-out /usr/include, @monalisaincdir@) BUILDTBB := @buildtbb@ TBBLIBDIR := @tbblibdir@ TBBLIB := @tbblib@ TBBINCDIR := $(filter-out /usr/include, @tbbincdir@) SSLLIB := @ssllib@ SSLLIBDIR := @ssllibdir@ SSLINCDIR := $(filter-out /usr/include, @sslincdir@) SSLSHARED := @sslshared@ BUILTINLZMA := @builtinlzma@ LZMALIBDIR := @lzmalibdir@ LZMACLILIB := @lzmalib@ LZMAINCDIR := $(filter-out /usr/include, @lzmaincdir@) SHADOWFLAGS := @shadowpw@ SHADOWLIB := SHADOWLIBDIR := BUILDMATHMORE := @buildmathmore@ GSLFLAGS := $(filter-out -I/usr/include, @gslflags@) GSLLIBDIR := @gsllibdir@ GSLLIBS := @gsllibs@ GSLVERSION := @gslversion@ BUILTINLLVM := @builtinllvm@ LLVMCONFIG := @llvmconfig@ BUILDROOFIT := @buildroofit@ BUILDMINUIT2 := @buildminuit2@ BUILDUNURAN := @buildunuran@ BUILDVC := @buildvc@ BUILDVDT := @buildvdt@ AVXCXXFLAG := @avxcxxflag@ SIMDCXXFLAGS := @avxcxxflag@ @ssecxxflags@ VCFLAGS := @abiversioncxxflag@ @vcflags@ BUILDGDML := @buildgdml@ BUILDTABLE := @buildtable@ BUILDTMVA := @buildtmva@ BUILDHTTP := @buildhttp@ USEFASTCGI := @usefastcgi@ FASTCGIINCDIR := @fastcgiincdir@ ifeq ($(USEFASTCGI), no) FASTCGIFLAGS := -DHTTP_WITHOUT_FASTCGI endif CPPUNIT := @cppunit@ GCCXML := @gccxml@ INSTALL := cp -dpR INSTALLDATA := cp -dpR INSTALLDIR := mkdir -p RSYNC := rsync -au BUILDR := @buildr@ RLIBS := @rlibs@ RFLAGS := @rflags@ ROOTDRPMREL := 1