Revision a798bca4da7e7a628c18c7cae2a969cce53edfc2 authored by Fons Rademakers on 20 September 2006, 12:23:07 UTC, committed by Fons Rademakers on 20 September 2006, 12:23:07 UTC

git-svn-id: http://root.cern.ch/svn/root/trunk@16303 27541ba8-7e3a-0410-8455-c3a389f83636
1 parent 01911da
Raw File
Module.mk
# Module.mk for gfal module
# Copyright (c) 2005 Rene Brun and Fons Rademakers
#
# Author: Fons Rademakers, 9/12/2005

MODDIR       := gfal
MODDIRS      := $(MODDIR)/src
MODDIRI      := $(MODDIR)/inc

GFALDIR      := $(MODDIR)
GFALDIRS     := $(GFALDIR)/src
GFALDIRI     := $(GFALDIR)/inc

##### libGFAL #####
GFALL        := $(MODDIRI)/LinkDef.h
GFALDS       := $(MODDIRS)/G__GFAL.cxx
GFALDO       := $(GFALDS:.cxx=.o)
GFALDH       := $(GFALDS:.cxx=.h)

GFALH        := $(filter-out $(MODDIRI)/LinkDef%,$(wildcard $(MODDIRI)/*.h))
GFALS        := $(filter-out $(MODDIRS)/G__%,$(wildcard $(MODDIRS)/*.cxx))
GFALO        := $(GFALS:.cxx=.o)

GFALDEP      := $(GFALO:.o=.d) $(GFALDO:.o=.d)

GFALLIB      := $(LPATH)/libGFAL.$(SOEXT)

# used in the main Makefile
ALLHDRS     += $(patsubst $(MODDIRI)/%.h,include/%.h,$(GFALH))
ALLLIBS     += $(GFALLIB)

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

##### local rules #####
include/%.h:    $(GFALDIRI)/%.h
		cp $< $@

$(GFALLIB):     $(GFALO) $(GFALDO) $(ORDER_) $(MAINLIBS)
		@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
		   "$(SOFLAGS)" libGFAL.$(SOEXT) $@ "$(GFALO) $(GFALDO)" \
		   "$(GFALLIBEXTRA) $(GFALLIBDIR) $(GFALCLILIB)"

$(GFALDS):      $(GFALH) $(GFALL) $(ROOTCINTTMPEXE)
		@echo "Generating dictionary $@..."
		$(ROOTCINTTMP) -f $@ -c $(GFALH) $(GFALL)

all-gfal:       $(GFALLIB)

map-gfal:       $(RLIBMAP)
		$(RLIBMAP) -r $(ROOTMAP) -l $(GFALLIB) \
		   -d $(GFALLIBDEP) -c $(GFALL)

map::           map-gfal

clean-gfal:
		@rm -f $(GFALO) $(GFALDO)

clean::         clean-gfal

distclean-gfal: clean-gfal
		@rm -f $(GFALDEP) $(GFALDS) $(GFALDH) $(GFALLIB)

distclean::     distclean-gfal

##### extra rules ######
$(GFALO): CXXFLAGS += $(GFALINCDIR:%=-I%)
back to top