PROJECT_NAME = tileset # VERSION_MAJOR, VERSION_MINOR, and VERSION_TWEAK are available as preprocessor macros for all source files in the project VERSION_MAJOR = 0 VERSION_MINOR = 0 VERSION_TWEAK = 0 PROJECT_VERSION = ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_TWEAK} LIBRARY_TARGETS = library EXECUTABLE_TARGETS = unittest stripEditData tileMapBundler # 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_stripEditData = linux windows macosx PLATFORMS_tileMapBundler = linux windows macosx TARGET_PLATFORMS_stripEditData = ${filter ${TARGET_PLATFORMS},${PLATFORMS_stripEditData}} TARGET_PLATFORMS_tileMapBundler = ${filter ${TARGET_PLATFORMS},${PLATFORMS_tileMapBundler}} CONFIGURATIONS_library = ${sort ${CONFIGURATIONS} profile} CONFIGURATIONS_stripEditData = ${sort ${CONFIGURATIONS} profile} CONFIGURATIONS_tileMapBundler = ${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_${target}_${platform}_${arch}, CCFLAGS_${configuration}_${platform}_${arch}, CCFLAGS_${target}_${configuration}_${platform}_${arch} CCFLAGS = -Wno-unused-result # Patterns: LINKFLAGS, LINKFLAGS_${target}, LINKFLAGS_${configuration}, LINKFLAGS_${platform}, LINKFLAGS_${target}_${configuration}, LINKFLAGS_${target}_${platform}, LINKFLAGS_${configuration}_${platform}, LINKFLAGS_${target}_${configuration}_${platform}, LINKFLAGS_${platform}_${arch}, LINKFLAGS_${target}_${platform}_${arch}, LINKFLAGS_${configuration}_${platform}_${arch}, LINKFLAGS_${target}_${configuration}_${platform}_${arch} LINKFLAGS = # 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_unittest = library PROJECT_LIBRARY_DEPENDENCIES_stripEditData = library PROJECT_LIBRARY_DEPENDENCIES_tileMapBundler = 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 = \ 3dmodelio/latest \ dynamictypes/latest \ gamemath/latest \ serialization/latest \ stemobject/latest \ utilities/latest STEM_LIBRARY_DEPENDENCIES_unittest = unittest/latest STEM_LIBRARY_DEPENDENCIES_stripEditData = \ binaryserialization/latest \ font/latest \ jsonio/latest STEM_LIBRARY_DEPENDENCIES_tileMapBundler = \ binaryserialization/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}/ImageCollection.c \ source/${PROJECT_NAME}/LayeredTileMap.c \ source/${PROJECT_NAME}/SpriteCollection.c \ source/${PROJECT_NAME}/TileAdjacencyBehavior.c \ source/${PROJECT_NAME}/TileAdjacencyBehaviorSet.c \ source/${PROJECT_NAME}/TileInstanceGridDiff.c \ source/${PROJECT_NAME}/TileMap.c \ source/${PROJECT_NAME}/TileMapDiff.c \ source/${PROJECT_NAME}/TileMapEditData.c \ source/${PROJECT_NAME}/TileMapVisual.c \ source/${PROJECT_NAME}/Tileset.c \ source/${PROJECT_NAME}/TilesetAdjacencyBlendMap.c \ source/${PROJECT_NAME}/TilesetEditData.c \ source/${PROJECT_NAME}/TileZoneMap.c SOURCES_stripEditData = \ source/${PROJECT_NAME}/stripEditData.c SOURCES_tileMapBundler = \ source/${PROJECT_NAME}/tileMapBundler.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_suites = \ source/unittest/TileAdjacencyBehaviorTest.c \ source/unittest/TileAdjacencyBehaviorSetTest.c \ source/unittest/TileMapTest.c # Public-facing include files to be distributed with the library, if any INCLUDES = \ source/${PROJECT_NAME}/ImageCollection.h \ source/${PROJECT_NAME}/LayeredTileMap.h \ source/${PROJECT_NAME}/SpriteCollection.h \ source/${PROJECT_NAME}/TileAdjacencyBehavior.h \ source/${PROJECT_NAME}/TileAdjacencyBehaviorSet.h \ source/${PROJECT_NAME}/TileInstanceGridDiff.h \ source/${PROJECT_NAME}/TileMap.h \ source/${PROJECT_NAME}/TileMapDiff.h \ source/${PROJECT_NAME}/TileMapEditData.h \ source/${PROJECT_NAME}/TileMapVisual.h \ source/${PROJECT_NAME}/Tileset.h \ source/${PROJECT_NAME}/TilesetAdjacencyBlendMap.h \ source/${PROJECT_NAME}/TilesetEditData.h \ source/${PROJECT_NAME}/TileZoneMap.h # Patterns: RESOURCES, RESOURCES_${target}, RESOURCES_${platform}, RESOURCES_${target}_${platform} RESOURCES = INSTALLED_TARGETS = library stripEditData tileMapBundler # 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