Revision 1cb045683bcdd985c49315bbd73eba9d9c7d8969 authored by Helge Voss on 06 April 2016, 16:35:19 UTC, committed by Helge Voss on 06 April 2016, 16:40:36 UTC
1 parent 0c935d4
Module.mk
# Module.mk for utilities for libMeta and rootcint
# Copyright (c) 2002 Rene Brun and Fons Rademakers
#
# Author: Philippe Canal 9/1/2004
MODNAME := metautils
MODDIR := $(ROOT_SRCDIR)/core/$(MODNAME)
MODDIRS := $(MODDIR)/src
MODDIRI := $(MODDIR)/inc
METAUTILSDIR := $(MODDIR)
METAUTILSDIRS := $(METAUTILSDIR)/src
METAUTILSDIRI := $(METAUTILSDIR)/inc
##### $(METAUTILSO) #####
METAUTILSH := $(filter-out $(MODDIRI)/TMetaUtils.%,\
$(filter-out $(MODDIRI)/libcpp_string_view.h,\
$(filter-out $(MODDIRI)/RWrap_libcpp_string_view.h,\
$(filter-out $(MODDIRI)/LinkDef%,$(wildcard $(MODDIRI)/*.h)))))
METAUTILSS := $(filter-out $(MODDIRS)/TMetaUtils.%,\
$(filter-out $(MODDIRS)/G__%,$(wildcard $(MODDIRS)/*.cxx)))
METAUTILSTH += $(MODDIRI)/TMetaUtils.h
METAUTILSTS += $(MODDIRS)/TMetaUtils.cxx
METAUTILSTH += $(MODDIRI)/root_std_complex.h
METAUTILSTH += $(MODDIRI)/libcpp_string_view.h
METAUTILSTH += $(MODDIRI)/RWrap_libcpp_string_view.h
METAUTILSSLLVM := $(MODDIRS)/BaseSelectionRule.cxx \
$(MODDIRS)/ClassSelectionRule.cxx \
$(MODDIRS)/VariableSelectionRule.cxx \
$(MODDIRS)/RStl.cxx \
$(MODDIRS)/Scanner.cxx \
$(MODDIRS)/SelectionRules.cxx \
$(MODDIRS)/XMLReader.cxx
METAUTILSCXXFLAGS = $(filter-out -fno-exceptions,$(filter-out -fno-rtti,$(CLINGCXXFLAGS)))
ifneq ($(CXX:g++=),$(CXX))
METAUTILSCXXFLAGS += -Wno-shadow -Wno-unused-parameter
endif
METAUTILSO := $(call stripsrc,$(METAUTILSS:.cxx=.o))
METAUTILSOLLVM := $(call stripsrc,$(METAUTILSSLLVM:.cxx=.o))
METAUTILSO := $(filter-out $(METAUTILSOLLVM),$(METAUTILSO))
METAUTILSTO := $(call stripsrc,$(METAUTILSTS:.cxx=.o))
METAUTILSL := $(MODDIRI)/LinkDef.h
METAUTILSDEP := $(METAUTILSO:.o=.d) $(METAUTILSTO:.o=.d) $(METAUTILSOLLVM:.o=.d)
# used in the main Makefile
ALLHDRS += $(patsubst $(MODDIRI)/%.h,include/%.h,$(METAUTILSH) $(METAUTILSTH))
# include all dependency files
INCLUDEFILES += $(METAUTILSDEP)
#### STL dictionary (replacement for cintdlls)
STLDICTS =
STLDICTS += lib/libvectorDict.$(SOEXT)
STLDICTS += lib/liblistDict.$(SOEXT)
STLDICTS += lib/libforward_listDict.$(SOEXT)
STLDICTS += lib/libdequeDict.$(SOEXT)
STLDICTS += lib/libmapDict.$(SOEXT)
STLDICTS += lib/libmap2Dict.$(SOEXT)
STLDICTS += lib/libsetDict.$(SOEXT)
STLDICTS += lib/libunordered_setDict.$(SOEXT)
STLDICTS += lib/libunordered_multisetDict.$(SOEXT)
STLDICTS += lib/libunordered_mapDict.$(SOEXT)
STLDICTS += lib/libunordered_multimapDict.$(SOEXT)
STLDICTS += lib/libmultimapDict.$(SOEXT)
STLDICTS += lib/libmultimap2Dict.$(SOEXT)
STLDICTS += lib/libmultisetDict.$(SOEXT)
STLDICTS += lib/libcomplexDict.$(SOEXT)
ifneq ($(PLATFORM),win32)
STLDICTS += lib/libvalarrayDict.$(SOEXT)
endif
STLDICTS_SRC := $(call stripsrc,$(patsubst lib/lib%Dict.$(SOEXT),$(METAUTILSDIRS)/G__std__%.cxx,$(STLDICTS)))
STLDICTS_HDR := $(call stripsrc,$(patsubst lib/lib%Dict.$(SOEXT),$(METAUTILSDIRS)/G__std__%.h,$(STLDICTS)))
STLDICTS_OBJ := $(patsubst %.cxx,%.o,$(STLDICTS_SRC))
STLDICTS_DEP := $(patsubst %.cxx,%.d,$(STLDICTS_SRC))
$(call stripsrc,$(METAUTILSDIRS)/G__std__%.cxx): $(METAUTILSDIRS)/%Linkdef.h $(ROOTCLINGSTAGE1DEP)
$(ROOTCLINGSTAGE1) -f $@ -s lib/lib$*Dict.pcm -m lib/libCore.pcm $(call rootmapModule, lib/lib$*Dict.$(SOEXT)) -c $(subst multi,,${*:2=}) $(ROOT_SRCDIR)/core/metautils/src/$*Linkdef.h
$(STLDICTS): lib/lib%Dict.$(SOEXT): $(call stripsrc,$(METAUTILSDIRS)/G__std__%.o) $(ORDER_) $(MAINLIBS)
@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" "$(SOFLAGS)" $(notdir $@) $@ "$(filter-out $(MAINLIBS),$^)" ""
lib/lib%Dict.rootmap: $(METAUTILSDIRS)/%Linkdef.h $(ROOTCLINGSTAGE1DEP)
$(ROOTCLINGSTAGE1) -r $(METAUTILSDIRS)/G__std__%.cxx -s lib/lib$*Dict.pcm -m lib/libCore.pcm $(call rootmapModule, lib/lib$*Dict.$(SOEXT))\
-c $(subst multi,,${*:2=}) \
$(ROOT_SRCDIR)/core/metautils/src/$*Linkdef.h
METAUTILSDEP += $(STLDICTS_DEP)
STLDICTSMAPS = $(STLDICTS:.$(SOEXT)=.rootmap)
.PRECIOUS: $(STLDICTS_SRC)
# used in the main Makefile
ALLLIBS += $(STLDICTS)
ALLMAPS += $(STLDICTSMAPS)
##### local rules #####
.PHONY: all-$(MODNAME) clean-$(MODNAME) distclean-$(MODNAME)
include/%.h: $(METAUTILSDIRI)/%.h
cp $< $@
all-$(MODNAME): $(METAUTILSO) $(STLDICTS)
clean-$(MODNAME):
@rm -f $(METAUTILSO) $(STLDICTS_OBJ) \
$(STLDICTS_DEP)
clean:: clean-$(MODNAME)
distclean-$(MODNAME): clean-$(MODNAME)
@rm -f $(METAUTILSDEP) \
$(STLDICTS_OBJ) $(STLDICTS_DEP) $(STLDICTS_SRC) \
$(STLDICTS_HDR) $(STLDICTSMAPS)
distclean:: distclean-$(MODNAME)
##### extra rules ######
$(METAUTILSOLLVM): CXXFLAGS += $(METAUTILSCXXFLAGS)
$(METAUTILSOLLVM): $(LLVMDEP)
$(METAUTILSTO): CXXFLAGS += $(METAUTILSCXXFLAGS)
$(METAUTILSTO): $(LLVMDEP)
Computing file changes ...