https://github.com/root-project/root
Tip revision: 16b68872c83aff8898e73ba6065fac3b29bbde87 authored by Rene Brun on 11 February 2010, 13:16:37 UTC
Re-tag patch release v5-26-00b
Re-tag patch release v5-26-00b
Tip revision: 16b6887
Module.mk
# Module.mk for thread module
# Copyright (c) 2000 Rene Brun and Fons Rademakers
#
# Author: Fons Rademakers, 29/2/2000
MODNAME := thread
MODDIR := core/$(MODNAME)
MODDIRS := $(MODDIR)/src
MODDIRI := $(MODDIR)/inc
THREADDIR := $(MODDIR)
THREADDIRS := $(THREADDIR)/src
THREADDIRI := $(THREADDIR)/inc
##### libThread #####
THREADL := $(MODDIRI)/LinkDef.h
THREADDS := $(MODDIRS)/G__Thread.cxx
THREADDO := $(THREADDS:.cxx=.o)
THREADDH := $(THREADDS:.cxx=.h)
THREADH := $(MODDIRI)/TCondition.h $(MODDIRI)/TConditionImp.h \
$(MODDIRI)/TMutex.h $(MODDIRI)/TMutexImp.h \
$(MODDIRI)/TRWLock.h $(MODDIRI)/TSemaphore.h \
$(MODDIRI)/TThread.h $(MODDIRI)/TThreadFactory.h \
$(MODDIRI)/TThreadImp.h $(MODDIRI)/TAtomicCount.h \
$(MODDIRI)/TLockFile.h
ifneq ($(ARCH),win32)
THREADH += $(MODDIRI)/TPosixCondition.h $(MODDIRI)/TPosixMutex.h \
$(MODDIRI)/TPosixThread.h $(MODDIRI)/TPosixThreadFactory.h \
$(MODDIRI)/PosixThreadInc.h
# Headers that should be copied to $ROOTSYS/include but should not be
# passed directly to rootcint
THREADH_EXT += $(MODDIRI)/TAtomicCountGcc.h $(MODDIRI)/TAtomicCountPthread.h
else
THREADH += $(MODDIRI)/TWin32Condition.h $(MODDIRI)/TWin32Mutex.h \
$(MODDIRI)/TWin32Thread.h $(MODDIRI)/TWin32ThreadFactory.h
THREADH_EXT += $(MODDIRI)/TAtomicCountWin32.h
endif
THREADS := $(MODDIRS)/TCondition.cxx $(MODDIRS)/TConditionImp.cxx \
$(MODDIRS)/TMutex.cxx $(MODDIRS)/TMutexImp.cxx \
$(MODDIRS)/TRWLock.cxx $(MODDIRS)/TSemaphore.cxx \
$(MODDIRS)/TThread.cxx $(MODDIRS)/TThreadFactory.cxx \
$(MODDIRS)/TThreadImp.cxx $(MODDIRS)/TLockFile.cxx
ifneq ($(ARCH),win32)
THREADS += $(MODDIRS)/TPosixCondition.cxx $(MODDIRS)/TPosixMutex.cxx \
$(MODDIRS)/TPosixThread.cxx $(MODDIRS)/TPosixThreadFactory.cxx
else
THREADS += $(MODDIRS)/TWin32Condition.cxx $(MODDIRS)/TWin32Mutex.cxx \
$(MODDIRS)/TWin32Thread.cxx $(MODDIRS)/TWin32ThreadFactory.cxx
endif
THREADO := $(THREADS:.cxx=.o)
THREADDEP := $(THREADO:.o=.d) $(THREADDO:.o=.d)
THREADLIB := $(LPATH)/libThread.$(SOEXT)
THREADMAP := $(THREADLIB:.$(SOEXT)=.rootmap)
# used in the main Makefile
ALLHDRS += $(patsubst $(MODDIRI)/%.h,include/%.h,$(THREADH) $(THREADH_EXT))
ALLLIBS += $(THREADLIB)
ALLMAPS += $(THREADMAP)
CXXFLAGS += $(OSTHREADFLAG)
CFLAGS += $(OSTHREADFLAG)
CINTCXXFLAGS += $(OSTHREADFLAG)
CINTCFLAGS += $(OSTHREADFLAG)
# include all dependency files
INCLUDEFILES += $(THREADDEP)
##### local rules #####
.PHONY: all-$(MODNAME) clean-$(MODNAME) distclean-$(MODNAME)
include/%.h: $(THREADDIRI)/%.h
cp $< $@
$(THREADLIB): $(THREADO) $(THREADDO) $(ORDER_) $(MAINLIBS) $(THREADLIBDEP)
@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
"$(SOFLAGS)" libThread.$(SOEXT) $@ "$(THREADO) $(THREADDO)" \
"$(THREADLIBEXTRA) $(OSTHREADLIBDIR) $(OSTHREADLIB)"
$(THREADDS): $(THREADH) $(THREADL) $(ROOTCINTTMPDEP)
@echo "Generating dictionary $@..."
$(ROOTCINTTMP) -f $@ -c $(THREADH) $(THREADL)
$(THREADMAP): $(RLIBMAP) $(MAKEFILEDEP) $(THREADL)
$(RLIBMAP) -o $(THREADMAP) -l $(THREADLIB) \
-d $(THREADLIBDEPM) -c $(THREADL)
all-$(MODNAME): $(THREADLIB) $(THREADMAP)
clean-$(MODNAME):
@rm -f $(THREADO) $(THREADDO)
clean:: clean-$(MODNAME)
distclean-$(MODNAME): clean-$(MODNAME)
@rm -f $(THREADDEP) $(THREADDS) $(THREADDH) $(THREADLIB) $(THREADMAP)
distclean:: distclean-$(MODNAME)
##### cintdlls ######
ifneq ($(ARCH),win32)
$(CINTDIRDLLS)/pthread.dll: cint/cint/lib/pthread/pthd.h $(ROOTCINTTMPDEP) $(CINTTMP)
@$(MAKECINTDLL) $(PLATFORM) C pthread pthread pthd.h \
"$(CINTTMP)" "$(ROOTCINTTMP)" \
"$(MAKELIB)" "$(CXX)" "$(CC)" "$(LD)" "$(OPT)" "$(CINTCXXFLAGS)" \
"$(CINTCFLAGS)" "$(LDFLAGS)" "$(SOFLAGS)" "$(SOEXT)" "$(COMPILER)" \
"$(CXXOUT)"
endif