Revision 3cda517b9cdcd7da8824b18e947b973595c1aea7 authored by Philippe Canal on 19 April 2016, 15:45:18 UTC, committed by Philippe Canal on 28 April 2016, 16:59:26 UTC
1 parent afab100
Raw File
Module.mk
# Module.mk for foam module
# Copyright (c) 2000 Rene Brun and Fons Rademakers
#
# Author: Fons Rademakers, 29/2/2000

MODNAME      := foam
MODDIR       := $(ROOT_SRCDIR)/math/$(MODNAME)
MODDIRS      := $(MODDIR)/src
MODDIRI      := $(MODDIR)/inc

FOAMDIR      := $(MODDIR)
FOAMDIRS     := $(FOAMDIR)/src
FOAMDIRI     := $(FOAMDIR)/inc

##### libFoam.so #####
FOAML      := $(MODDIRI)/LinkDef.h
FOAMDS     := $(call stripsrc,$(MODDIRS)/G__Foam.cxx)
FOAMDO     := $(FOAMDS:.cxx=.o)
FOAMDH     := $(FOAMDS:.cxx=.h)

FOAMH      := $(filter-out $(MODDIRI)/LinkDef%,$(wildcard $(MODDIRI)/*.h))
FOAMS      := $(filter-out $(MODDIRS)/G__%,$(wildcard $(MODDIRS)/*.cxx))
FOAMO      := $(call stripsrc,$(FOAMS:.cxx=.o))

FOAMDEP    := $(FOAMO:.o=.d) $(FOAMDO:.o=.d)

FOAMLIB    := $(LPATH)/libFoam.$(SOEXT)
FOAMMAP    := $(FOAMLIB:.$(SOEXT)=.rootmap)

# used in the main Makefile
ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(FOAMH))
ALLLIBS     += $(FOAMLIB)
ALLMAPS     += $(FOAMMAP)

# include all dependency files
INCLUDEFILES += $(FOAMDEP)

##### local rules #####
.PHONY:         all-$(MODNAME) clean-$(MODNAME) distclean-$(MODNAME)

include/%.h:    $(FOAMDIRI)/%.h
		cp $< $@

$(FOAMLIB):     $(FOAMO) $(FOAMDO) $(ORDER_) $(MAINLIBS) $(FOAMLIBDEP)
		@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
		   "$(SOFLAGS)" libFoam.$(SOEXT) $@ "$(FOAMO) $(FOAMDO)" \
		   "$(FOAMLIBEXTRA)"

$(call pcmrule,FOAM)
	$(noop)

$(FOAMDS):      $(FOAMH) $(FOAML) $(ROOTCLINGEXE) $(call pcmdep,FOAM)
		$(MAKEDIR)
		@echo "Generating dictionary $@..."
		$(ROOTCLINGSTAGE2) -f $@ $(call dictModule,FOAM) -c $(FOAMH) $(FOAML)

$(FOAMMAP):     $(FOAMH) $(FOAML) $(ROOTCLINGEXE) $(call pcmdep,FOAM)
		$(MAKEDIR)
		@echo "Generating rootmap $@..."
		$(ROOTCLINGSTAGE2) -r $(FOAMDS) $(call dictModule,FOAM) -c $(FOAMH) $(FOAML)

all-$(MODNAME): $(FOAMLIB)

clean-$(MODNAME):
		@rm -f $(FOAMO) $(FOAMDO)

clean::         clean-$(MODNAME)

distclean-$(MODNAME): clean-$(MODNAME)
		@rm -f $(FOAMDEP) $(FOAMDS) $(FOAMDH) $(FOAMLIB) $(FOAMMAP)

distclean::     distclean-$(MODNAME)
back to top