https://github.com/root-project/root
Tip revision: 959287f94d193c766b5d9b523ba1a688b72c6cbf authored by Axel Naumann on 18 November 2015, 09:57:06 UTC
Update ROOT version files to v6.04/10.
Update ROOT version files to v6.04/10.
Tip revision: 959287f
Module.mk
# Module.mk for meta module
# Copyright (c) 2000 Rene Brun and Fons Rademakers
#
# Author: Fons Rademakers, 29/2/2000
MODNAME := meta
MODDIR := $(ROOT_SRCDIR)/core/$(MODNAME)
MODDIRS := $(MODDIR)/src
MODDIRI := $(MODDIR)/inc
METADIR := $(MODDIR)
METADIRS := $(METADIR)/src
METADIRI := $(METADIR)/inc
##### libMeta (part of libCore) #####
METAL := $(MODDIRI)/LinkDef.h
METAH := $(filter-out $(MODDIRI)/LinkDef%,$(wildcard $(MODDIRI)/*.h))
METAS := $(filter-out $(MODDIRS)/G__%,$(wildcard $(MODDIRS)/*.cxx))
METASLLVM := $(MODDIRS)/TCling.cxx \
$(MODDIRS)/TClingBaseClassInfo.cxx \
$(MODDIRS)/TClingCallFunc.cxx \
$(MODDIRS)/TClingCallbacks.cxx \
$(MODDIRS)/TClingClassInfo.cxx \
$(MODDIRS)/TClingDataMemberInfo.cxx \
$(MODDIRS)/TClingMethodArgInfo.cxx \
$(MODDIRS)/TClingMethodInfo.cxx \
$(MODDIRS)/TClingTypeInfo.cxx \
$(MODDIRS)/TClingTypedefInfo.cxx \
$(MODDIRS)/TClingValue.cxx
METADCLINGCXXFLAGS:= -DR__WITH_CLING
METACLINGCXXFLAGS = $(filter-out -fno-exceptions,$(filter-out -fno-rtti,$(CLINGCXXFLAGS)))
ifneq ($(CXX:g++=),$(CXX))
METACLINGCXXFLAGS += -Wno-shadow -Wno-unused-parameter
endif
# exclude this file from the dictionary
METASEL := $(MODDIRI)/RootMetaSelection.h
METADICTH := $(filter-out $(METASEL),$(METAH))
METAO := $(call stripsrc,$(METAS:.cxx=.o))
METADEP := $(METAO:.o=.d) $(METADO:.o=.d)
METAOLLVM := $(call stripsrc,$(METASLLVM:.cxx=.o))
METAO := $(filter-out $(METAOLLVM),$(METAO))
##### libCling #####
CLINGL := $(MODDIRI)/LinkDefCling.h
CLINGDS := $(call stripsrc,$(MODDIRS)/G__Cling.cxx)
#CLINGDO := $(CLINGDS:.cxx=.o)
CLINGDO :=
CLINGDH := $(CLINGDS:.cxx=.h)
CLINGH := $(MODDIRS)/TCling.h
CLINGLIB := $(LPATH)/libCling.$(SOEXT)
CLINGMAP := $(CLINGLIB:.$(SOEXT)=.rootmap)
ALLLIBS += $(CLINGLIB)
ALLMAPS += $(CLINGMAP)
# used in the main Makefile
ALLHDRS += $(patsubst $(MODDIRI)/%.h,include/%.h,$(METAH))
# include all dependency files
INCLUDEFILES += $(METADEP)
##### local rules #####
.PHONY: all-$(MODNAME) clean-$(MODNAME) distclean-$(MODNAME)
include/%.h: $(METADIRI)/%.h
cp $< $@
IOLIB_EARLY = $(LPATH)/libRIO.$(SOEXT)
$(CLINGLIB): $(CLINGO) $(CLINGDO) $(METAOLLVM) $(METAUTILSOLLVM) \
$(METAUTILSTO) $(ORDER_) $(MAINLIBS) $(TCLINGLIBDEPM) $(IOLIB_EARLY)
@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
"$(SOFLAGS)" libCling.$(SOEXT) $@ \
"$(METAOLLVM) $(METAUTILSOLLVM) $(METAUTILSTO) \
$(CLINGO) $(CLINGDO) $(CLINGLIBEXTRA) $(TCLINGLIBEXTRA)" \
""
$(CLINGMAP): $(CLINGL) $(ROOTCLINGSTAGE1DEP) $(LLVMDEP) $(call pcmdep,CLING)
$(MAKEDIR)
@echo "Generating rootmap $@..."
$(ROOTCLINGSTAGE1) -r $(CLINGDS) $(call dictModule,CLING) -c \
$(CLINGH) $(CLINGL)
$(call pcmrule,CLING)
$(noop)
$(CLINGDS): $(CLINGL) $(ROOTCLINGSTAGE1DEP) $(LLVMDEP) $(call pcmdep,CLING)
$(MAKEDIR)
@echo "Generating dictionary $@..."
$(ROOTCLINGSTAGE1) -f $@ $(call dictModule,CLING) -c $(CLINGH) \
$(CLINGL)
all-$(MODNAME): $(METAO) $(METAOLLVM) $(CLINGLIB)
clean-$(MODNAME):
@rm -f $(METAO) $(METAOLLVM) $(GLINGDO)
clean:: clean-$(MODNAME)
distclean-$(MODNAME): clean-$(MODNAME)
@rm -f $(METADEP) $(CLINGDS) $(CLINGDH) $(CLINGLIB) $(CLINGMAP)
distclean:: distclean-$(MODNAME)
# Optimize dictionary with stl containers.
$(call stripsrc,$(patsubst %.cxx,%.o,$(wildcard $(MODDIRS)/TCling*.cxx))): \
$(LLVMDEP)
$(call stripsrc,$(patsubst %.cxx,%.o,$(wildcard $(MODDIRS)/TInterpreter*.cxx))): \
$(LLVMDEP)
$(call stripsrc,$(patsubst %.cxx,%.o,$(wildcard $(MODDIRS)/TCling*.cxx))): \
CXXFLAGS += $(METACLINGCXXFLAGS)
$(call stripsrc,$(patsubst %.cxx,%.o,$(wildcard $(MODDIRS)/TInterpreter*.cxx))): \
CXXFLAGS += $(METACLINGCXXFLAGS)
$(call stripsrc,$(MODDIRS)/TClingCallbacks.o): \
CXXFLAGS += -fno-rtti
ifneq (,$(filter $(ARCH),win32gcc win64gcc))
# for EnumProcessModules():
CORELIBEXTRA += -lpsapi
endif
ifneq ($(CXX:g++=),$(CXX))
METADOCXXFLAGS := -Wno-shadow -Wno-unused-parameter
endif
$(COREDO): CXXFLAGS += -D__CLING__ -Ietc -Ietc/cling $(filter-out -fno-exceptions,$(filter-out -fno-rtti,$(CLINGCXXFLAGS))) $(METADOCXXFLAGS)