SUBDIRS = . test

ACLOCAL_AMFLAGS = -I m4

CLEANFILES =

noinst_LTLIBRARIES = \
	libfollybase.la

lib_LTLIBRARIES = \
	libfolly.la \
	libfollybenchmark.la

follyincludedir = $(includedir)/folly

nobase_follyinclude_HEADERS = \
	ApplyTuple.h \
	AtomicStruct.h \
	Baton.h \
	Benchmark.h \
	Bits.h \
	Cancellation.h \
	Conv.h \
	CPortability.h \
	detail/BitIteratorDetail.h \
	detail/BitsDetail.h \
	detail/CacheLocality.h \
	detail/CancellationDetail.h \
	detail/Clock.h \
	detail/ExceptionWrapper.h \
	detail/FileUtilDetail.h \
	detail/FunctionalExcept.h \
	detail/Futex.h \
	detail/Malloc.h \
	detail/MemoryIdler.h \
	detail/Sleeper.h \
	detail/Stats.h \
	detail/ThreadLocalDetail.h \
	detail/TurnSequencer.h \
	detail/UncaughtExceptionCounter.h \
	Demangle.h \
	DynamicConverter.h \
	dynamic.h \
	dynamic-inl.h \
	Exception.h \
	ExceptionWrapper.h \
	Executor.h \
	ExecutorWithCancellation.h \
	FBString.h \
	FBVector.h \
	File.h \
	FileUtil.h \
	folly-config.h \
	Foreach.h \
	FormatArg.h \
	FormatTraits.h \
	Format.h \
	Format-inl.h \
	futures/Barrier.h \
	futures/ThreadedExecutor.h \
	futures/DrivableExecutor.h \
	futures/Future-pre.h \
	futures/helpers.h \
	futures/Future.h \
	futures/Future-inl.h \
	futures/FutureException.h \
	futures/InlineExecutor.h \
	futures/ManualExecutor.h \
	futures/OpaqueCallbackShunt.h \
	futures/Promise-inl.h \
	futures/Promise.h \
	futures/QueuedImmediateExecutor.h \
	futures/ScheduledExecutor.h \
	futures/SharedPromise.h \
	futures/SharedPromise-inl.h \
	futures/Timekeeper.h \
	futures/Try-inl.h \
	futures/Try.h \
	futures/Unit.h \
	futures/detail/Core.h \
	futures/detail/FSM.h \
	futures/detail/ThreadWheelTimekeeper.h \
	futures/detail/TimerMap.h \
	futures/detail/Types.h \
	Hash.h \
	IndexedMemPool.h \
	io/Cursor.h \
	io/IOBuf.h \
	io/IOBufQueue.h \
	Lazy.h \
	LifoSem.h \
	Likely.h \
	Logging.h \
	Malloc.h \
	MapUtil.h \
	Memory.h \
	MicroSpinLock.h \
	MoveWrapper.h \
	MPMCQueue.h \
	Optional.h \
	Portability.h \
	Preprocessor.h \
	Random.h \
	Random-inl.h \
	Range.h \
	ScopeGuard.h \
	SpookyHashV1.h \
	SpookyHashV2.h \
	stats/BucketedTimeSeries-defs.h \
	stats/BucketedTimeSeries.h \
	stats/Histogram-defs.h \
	stats/Histogram.h \
	stats/MultiLevelTimeSeries-defs.h \
	stats/MultiLevelTimeSeries.h \
	String.h \
	String-inl.h \
	test/FBStringTestBenchmarks.cpp.h \
	test/FBVectorTestBenchmarks.cpp.h \
	test/function_benchmark/benchmark_impl.h \
	test/function_benchmark/test_functions.h \
	ThreadCachedInt.h \
	ThreadLocal.h \
	Traits.h \
	Varint.h \
	VersionCheck.h

FormatTables.cpp: build/generate_format_tables.py
	$(PYTHON) build/generate_format_tables.py
CLEANFILES += FormatTables.cpp

EscapeTables.cpp: build/generate_escape_tables.py
	$(PYTHON) build/generate_escape_tables.py
CLEANFILES += EscapeTables.cpp

libfollybase_la_SOURCES = \
	Conv.cpp \
	Demangle.cpp \
	EscapeTables.cpp \
	Format.cpp \
	FormatTables.cpp \
	Malloc.cpp \
	Range.cpp \
	StringBase.cpp \
	String.cpp

libfolly_la_SOURCES = \
	detail/CacheLocality.cpp \
	dynamic.cpp \
	File.cpp \
	FileUtil.cpp \
	futures/detail/ThreadWheelTimekeeper.cpp \
	futures/detail/TimerMap.cpp \
	futures/Barrier.cpp \
	futures/ThreadedExecutor.cpp \
	futures/Future.cpp \
	futures/InlineExecutor.cpp \
	futures/ManualExecutor.cpp \
	futures/QueuedImmediateExecutor.cpp \
	futures/ScheduledExecutor.cpp \
	detail/Futex.cpp \
	LifoSem.cpp \
	io/IOBuf.cpp \
	io/IOBufQueue.cpp \
	detail/MemoryIdler.cpp \
	Random.cpp \
	SpookyHashV1.cpp \
	SpookyHashV2.cpp \
	stats/Instantiations.cpp \
	Version.cpp

if !HAVE_LINUX
libfollybase_la_SOURCES += detail/Clock.cpp
endif

if !HAVE_WEAK_SYMBOLS
libfollybase_la_SOURCES += detail/MallocImpl.cpp
endif

if !HAVE_BITS_FUNCTEXCEPT
libfollybase_la_SOURCES += detail/FunctionalExcept.cpp
endif

libfollybase_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LT_VERSION)

libfolly_la_LIBADD = libfollybase.la
libfolly_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LT_VERSION)

libfollybenchmark_la_SOURCES = Benchmark.cpp
libfollybenchmark_la_LIBADD = libfolly.la
libfollybenchmark_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LT_VERSION)
