if BUILD_WITH_THREADS
RegularSources = \
	common.cpp \
	thread.cpp \
	mutex.cpp \
	rwmutex.cpp \
	storage.cpp \
	condvar.cpp \
	worker.cpp \
	wpool.cpp \
	recmutex.cpp \
	sched.cpp \
	sync.cpp \
	fifo.cpp \
	barrier.cpp
else
RegularSources = \
	common.cpp \
	storage.cpp
endif

LinkHackSources = \
	all-threads-cpp.cpp

PublicHeaders =

PrivateHeaders = \
	barrierp.h \
	condvarp.h \
	fifop.h \
	mutexp.h \
	recmutexp.h \
	rwmutexp.h \
	schedp.h \
	storagep.h \
	syncp.h \
	threadp.h \
	threadsutilp.h \
	workerp.h \
	wpoolp.h \
	condvar_pthread.icc \
	condvar_win32.icc \
	mutex_pthread.icc \
	mutex_win32cs.icc \
	mutex_win32mutex.icc \
	thread_pthread.icc \
	thread_win32.icc \
	wrappers.cpp

ObsoleteHeaders =

# **************************************************************************

if BUILD_WITH_MSVC
# win32 isn't able to link wrappers without including all dependencies
else
# also disabled for other platforms since there were also problems
# with IRIX CC
#noinst_PROGRAMS = wrappers
#wrappers_SOURCES = wrappers.cpp
#wrappers_LDADD = libthreads.la
endif

##$ BEGIN TEMPLATE Make-Common(threads, threads)
# **************************************************************************
# This template depends on the following variables having been set up before
# its invokation.
#
# PublicHeaders    - header files that should be installed
# PrivateHeaders   - source files that should be distributed, but not
#                    installed - including source-included source files.
# RegularSources   - source files compiled in this directory
# LinkHackSources  - alternative source files used on -enable-compact compilation
# ObsoletedHeaders - header files that should be removed upon installation

# Everything below is autogenerated from a macro, so don't modify
# within the Makefile.am itself. 19991201 mortene.

DISTCLEANFILES = \
	ii_files/*.ii

if HACKING_COMPACT_BUILD
BuildSources = $(LinkHackSources)
ExtraSources = $(RegularSources)
else
BuildSources = $(RegularSources)
ExtraSources = $(LinkHackSources)
endif

if BUILD_WITH_MSVC
noinst_LIBRARIES = threads.lst
else
if HACKING_DYNAMIC_MODULES
lib_LTLIBRARIES = libthreads@SUFFIX@LINKHACK.la
else
noinst_LTLIBRARIES = libthreads.la
endif
endif

# Remove any linklibraries detected by configure, as they are not
# needed in the submodules -- only in the toplevel libCoin build.
LIBS = 

DEFAULT_INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include $(ExtraIncludeDirs) -I$(top_builddir)/src -I$(top_srcdir)/src

# header installation
if MAC_FRAMEWORK
libthreadsincdir = $(MAC_FRAMEWORK_PREFIX)/$(MAC_FRAMEWORK_NAME).framework/Versions/$(MAC_FRAMEWORK_VERSION)/Headers/threads
# hack to change libdir value when installing Mac OS X compiler framework
lib@nop@dir = $(MAC_FRAMEWORK_PREFIX)/$(MAC_FRAMEWORK_NAME).framework/Versions/$(MAC_FRAMEWORK_VERSION)/Libraries
else
libthreadsincdir = $(includedir)/Inventor/threads
endif
libthreadsinc_HEADERS = $(PublicHeaders)

libthreads_la_SOURCES = $(BuildSources)
EXTRA_libthreads_la_SOURCES = \
	$(PublicHeaders) $(PrivateHeaders) $(ExtraSources)

libthreads@SUFFIX@LINKHACK_la_SOURCES = $(BuildSources)
EXTRA_libthreads@SUFFIX@LINKHACK_la_SOURCES = \
	$(PublicHeaders) $(PrivateHeaders) $(ExtraSources)

threads_lst_SOURCES = $(BuildSources)
EXTRA_threads_lst_SOURCES = \
	$(PublicHeaders) $(PrivateHeaders) $(ExtraSources)

# this rule causes a make warning, so we remove it when it is not in use
threads.lst: Makefile $(threads_lst_OBJECTS)
	@echo "Linking threads.lst..."; \
	rm -f $@; touch $@; \
	for i in $(threads_lst_OBJECTS); do echo $$i >>$@; done

install-libthreadsincHEADERS: $(libthreadsinc_HEADERS)
	@$(NORMAL_INSTALL)
	@if test x"$(libthreadsinc_HEADERS)" = x""; then :; else \
	  echo " $(mkinstalldirs) $(DESTDIR)$(libthreadsincdir)"; \
	  $(mkinstalldirs) $(DESTDIR)$(libthreadsincdir); \
	fi
	@list='$(libthreadsinc_HEADERS)'; for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  f="`echo $$p | sed -e 's|^.*/||'`"; \
	  src="$$d$$p"; dst="$(DESTDIR)$(libthreadsincdir)/$$f"; \
	  if cmp -s "$$src" "$$dst"; then :; else \
	    echo " $(INSTALL_HEADER) $$src $$dst"; \
	    $(INSTALL_HEADER) "$$src" "$$dst" || exit 1; \
	  fi \
	done
	@list='$(ObsoletedHeaders)'; for f in $$list; do \
	  file="$(DESTDIR)$(libthreadsincdir)/$$f"; \
	  if test -x "$$file"; then \
	    echo " rm -f $$file"; \
	    rm -f "$$file"; \
	  fi \
	done; \
	:

if MACOSX
# When using --enable-hacking, the user tends to manually replace some 
# of the installed libraries by symlinks back to the build directory. 
# But Mac OS X's install program refuses to overwrite symlinks => we 
# have to explicitly remove existing symlinks before installation.
install-exec-local:
	@for file in $(DESTDIR)$(lib@nop@dir)/libthreads@SUFFIX@LINKHACK*.dylib; do \
	  if test -L "$$file"; then \
	    rm -f "$$file"; \
	  fi \
	done; 
else 
install-exec-local:
endif

install-symlinks:
	@echo "Creating symlink to libthreads@SUFFIX@LINKHACK*@LIBEXT@*"; \
        for dir in $(SUBDIRS) ; do \
          (cd $$dir; $(MAKE) install-symlinks;) \
        done ; \
        here=`pwd`; \
	(cd $(DESTDIR)$(lib@nop@dir); \
	for file in libthreads@SUFFIX@LINKHACK*@LIBEXT@*; do \
	  ln -sf "$$here/.libs/$$file" "$$file"; \
	done; \
        cd -; )
##$ END TEMPLATE Make-Common

