PROJECT_NAME = utilities # VERSION_MAJOR, VERSION_MINOR, and VERSION_TWEAK are available as preprocessor macros for all source files in the project VERSION_MAJOR = 1 VERSION_MINOR = 10 VERSION_TWEAK = 0 PROJECT_VERSION = ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_TWEAK} LIBRARY_TARGETS = library EXECUTABLE_TARGETS = filebundler unittest testharness APPLICATION_TARGETS = # TARGET_NAME_${target} required for each target of any type; HUMAN_READABLE_TARGET_NAME_${target} required for each application target. Default values for TARGET_NAME_* shown below. #TARGET_NAME_library = libstem_${PROJECT_NAME} #TARGET_NAME_unittest = ${PROJECT_NAME}_unittest #TARGET_NAME_testharness = ${PROJECT_NAME}_testharness # Patterns: PLATFORMS, PLATFORMS_${target} PLATFORMS = macosx linux windows android iphonesimulator iphoneos PLATFORMS_filebundler = macosx linux windows PLATFORMS_unittest = macosx linux windows iphonesimulator PLATFORMS_testharness = macosx linux windows iphonesimulator CONFIGURATIONS_library = ${sort ${CONFIGURATIONS} profile} CONFIGURATIONS_filebundler = ${sort ${CONFIGURATIONS} profile} # Patterns: CCFLAGS, CCFLAGS_${target}, CCFLAGS_${configuration}, CCFLAGS_${platform}, CCFLAGS_${target}_${configuration}, CCFLAGS_${target}_${platform}, CCFLAGS_${configuration}_${platform}, CCFLAGS_${target}_${configuration}_${platform} CCFLAGS = -Wno-implicit-fallthrough # Patterns: LINKFLAGS, LINKFLAGS_${target}, LINKFLAGS_${platform}, LINKFLAGS_${target}_${platform} LINKFLAGS_linux = -lm -lrt # PROJECT_LIBRARY_DEPENDENCIES_* refers to entries in LIBRARY_TARGETS to be linked when building the specified target # Patterns: PROJECT_LIBRARY_DEPENDENCIES_${target}, PROJECT_LIBRARY_DEPENDENCIES_${target}_${platform} PROJECT_LIBRARY_DEPENDENCIES_filebundler = library PROJECT_LIBRARY_DEPENDENCIES_unittest = library PROJECT_LIBRARY_DEPENDENCIES_testharness = library # STEM_LIBRARY_DEPENDENCIES is specified as ${PROJECT_NAME}/${PROJECT_VERSION} for each stem library to be linked when building # Patterns: STEM_LIBRARY_DEPENDENCIES, STEM_LIBRARY_DEPENDENCIES_${target}, STEM_LIBRARY_DEPENDENCIES_${platform}, STEM_LIBRARY_DEPENDENCIES_${target}_${platform} STEM_LIBRARY_DEPENDENCIES = \ shell/latest \ stemobject/latest STEM_LIBRARY_DEPENDENCIES_unittest = unittest/latest # THIRDPARTY_LIBRARY_DEPENDENCIES is specified as ${PROJECT_NAME}/${PROJECT_VERSION} for each thirdparty library to be linked when building # Patterns: THIRDPARTY_LIBRARY_DEPENDENCIES, THIRDPARTY_LIBRARY_DEPENDENCIES_${target}, THIRDPARTY_LIBRARY_DEPENDENCIES_${platform}, THIRDPARTY_LIBRARY_DEPENDENCIES_${target}_${platform} THIRDPARTY_LIBRARY_DEPENDENCIES = # Additional build prerequisites per target # Patterns: PREREQS, PREREQS_${target} PREREQS = SOURCES_library = \ source/${PROJECT_NAME}/AsyncTaskQueue.c \ source/${PROJECT_NAME}/Atom.c \ source/${PROJECT_NAME}/AutoFreePool.c \ source/${PROJECT_NAME}/Base64.c \ source/${PROJECT_NAME}/ChunkArray.c \ source/${PROJECT_NAME}/EventDispatcher.c \ source/${PROJECT_NAME}/FileBundle.c \ source/${PROJECT_NAME}/FixedIntervalRunLoop.c \ source/${PROJECT_NAME}/HashTable.c \ source/${PROJECT_NAME}/HashTableObjectKey.c \ source/${PROJECT_NAME}/IndexPairSelection.c \ source/${PROJECT_NAME}/IndexSelection.c \ source/${PROJECT_NAME}/IndexSubindexSelection.c \ source/${PROJECT_NAME}/IOUtilities.c \ source/${PROJECT_NAME}/lookup3.c \ source/${PROJECT_NAME}/Queue.c \ source/${PROJECT_NAME}/Ranrot.c \ source/${PROJECT_NAME}/ReferenceCount.c \ source/${PROJECT_NAME}/ReverseIndexLookup.c \ source/${PROJECT_NAME}/StrideArray.c \ source/${PROJECT_NAME}/StringDiff.c \ source/${PROJECT_NAME}/UndoStack.c \ source/${PROJECT_NAME}/UndoStateDelta.c \ source/${PROJECT_NAME}/UndoTree.c \ source/${PROJECT_NAME}/UndoUtilities.c \ source/${PROJECT_NAME}/UTFUtilities.c SOURCES_filebundler = \ source/${PROJECT_NAME}/filebundler.c # Executable targets named "unittest" should usually specify only SOURCES_unittest_suites, which must contain only test suite files. # If files other than test suites are required, specify SOURCES_unittest. SOURCES_unittest = \ source/unittest/TestUndoStateDelta.c SOURCES_unittest_suites = \ source/unittest/AtomTest.c \ source/unittest/AutoFreePoolTest.c \ source/unittest/Base64Test.c \ source/unittest/ChunkArrayTest.c \ source/unittest/EventDispatcherTest.c \ source/unittest/FileBundleTest.c \ source/unittest/FixedIntervalRunLoopTest.c \ source/unittest/HashTableTest.c \ source/unittest/IndexPairSelectionTest.c \ source/unittest/IndexSelectionTest.c \ source/unittest/IndexSubindexSelectionTest.c \ source/unittest/IOUtilitiesTest.c \ source/unittest/QueueTest.c \ source/unittest/RanrotTest.c \ source/unittest/ReferenceCountTest.c \ source/unittest/ReverseIndexLookupTest.c \ source/unittest/StrideArrayTest.c \ source/unittest/StringDiffTest.c \ source/unittest/UndoStackTest.c \ source/unittest/UndoTreeTest.c \ source/unittest/UndoUtilitiesTest.c \ source/unittest/UTFUtilitiesTest.c SOURCES_testharness = \ source/testharness/TestHarness_main.c # Public-facing include files to be distributed with the library, if any INCLUDES = \ source/${PROJECT_NAME}/AsyncTaskQueue.h \ source/${PROJECT_NAME}/Atom.h \ source/${PROJECT_NAME}/AutoFreePool.h \ source/${PROJECT_NAME}/Base64.h \ source/${PROJECT_NAME}/ChunkArray.h \ source/${PROJECT_NAME}/EventDispatcher.h \ source/${PROJECT_NAME}/FileBundle.h \ source/${PROJECT_NAME}/FixedIntervalRunLoop.h \ source/${PROJECT_NAME}/HashTable.h \ source/${PROJECT_NAME}/HashTableObjectKey.h \ source/${PROJECT_NAME}/IndexPairSelection.h \ source/${PROJECT_NAME}/IndexSelection.h \ source/${PROJECT_NAME}/IndexSubindexSelection.h \ source/${PROJECT_NAME}/IOUtilities.h \ source/${PROJECT_NAME}/lookup3.h \ source/${PROJECT_NAME}/printfFormats.h \ source/${PROJECT_NAME}/Queue.h \ source/${PROJECT_NAME}/Ranrot.h \ source/${PROJECT_NAME}/ReferenceCount.h \ source/${PROJECT_NAME}/ReverseIndexLookup.h \ source/${PROJECT_NAME}/StrideArray.h \ source/${PROJECT_NAME}/StringDiff.h \ source/${PROJECT_NAME}/UndoStack.h \ source/${PROJECT_NAME}/UndoStateDelta.h \ source/${PROJECT_NAME}/UndoTree.h \ source/${PROJECT_NAME}/UndoUtilities.h \ source/${PROJECT_NAME}/UTFUtilities.h # Patterns: RESOURCES, RESOURCES_${target}, RESOURCES_${platform}, RESOURCES_${target}_${platform} RESOURCES = # Pattern: ANALYZER_EXCLUDE_SOURCES_${analyzer} ANALYZER_EXCLUDE_SOURCES_clang = ANALYZER_EXCLUDE_SOURCES_splint = ${SOURCES_unittest_suites} # Pattern: PLIST_FILE_${target}_${platform} INSTALLED_TARGETS = library testharness filebundler # Postamble to invoke stemconfig makefile. Do not modify. UNAME = ${shell uname} ifeq (${UNAME},Linux) STEM_SHARED_DIR ?= /usr/local/stem else ifeq (${UNAME},Darwin) STEM_SHARED_DIR ?= /usr/local/stem else STEM_SHARED_DIR ?= C:/stem endif include ${STEM_SHARED_DIR}/Makefile.global