PROJECT_NAME = PROJECT_NAME # 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} EXECUTABLE_TARGETS = unittest APPLICATION_TARGETS = mainapp # 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 #TARGET_NAME_mainapp = ${PROJECT_NAME} HUMAN_READABLE_TARGET_NAME_mainapp = PROJECT\ NAME # Patterns: PLATFORMS, PLATFORMS_${target} PLATFORMS_mainapp = macosx linux windows android iphonesimulator iphoneos # Patterns: CCFLAGS, CCFLAGS_${target}, CCFLAGS_${configuration}, CCFLAGS_${platform}, CCFLAGS_${target}_${configuration}, CCFLAGS_${target}_${platform}, CCFLAGS_${configuration}_${platform}, CCFLAGS_${target}_${configuration}_${platform} CCFLAGS_mainapp = -I build/generated CCFLAGS_profile_linux = -pg -fprofile-arcs # Patterns: LINKFLAGS, LINKFLAGS_${target}, LINKFLAGS_${configuration}, LINKFLAGS_${platform}, LINKFLAGS_${target}_${configuration}, LINKFLAGS_${target}_${platform}, LINKFLAGS_${configuration}_${platform} LINKFLAGS = LINKFLAGS_profile_linux = -pg -fprofile-arcs # 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_mainapp = \ 3dmodelio/latest \ audioplayer/latest \ binaryserialization/latest \ dynamictypes/latest \ font/latest \ gamemath/latest \ gamepad/latest \ imageio/latest \ inputcontroller/latest \ jsonserialization/latest \ pcmaudio/latest \ preferences/latest \ renderer/latest \ screenmanager/latest \ serialization/latest \ shadercollection/latest \ shell/latest \ stemobject/latest \ tileset/latest \ uitoolkit/latest \ utilities/latest STEM_LIBRARY_DEPENDENCIES_mainapp_macosx = nsopenglshell/latest STEM_LIBRARY_DEPENDENCIES_mainapp_iphonesimulator = eaglshell/latest STEM_LIBRARY_DEPENDENCIES_mainapp_iphoneos = eaglshell/latest STEM_LIBRARY_DEPENDENCIES_mainapp_windows = wglshell/latest STEM_LIBRARY_DEPENDENCIES_mainapp_linux = glxshell/latest STEM_LIBRARY_DEPENDENCIES_mainapp_android = eglshell/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_mainapp = # Additional build prerequisites per target # Patterns: PREREQS, PREREQS_${target} PREREQS = build/generated/MetadataKeys.h SOURCES_mainapp = \ source/${PROJECT_NAME}/Atoms.c \ source/${PROJECT_NAME}/Drawing.c \ source/${PROJECT_NAME}/EntityComponent_attack.c \ source/${PROJECT_NAME}/EntityComponent_collidable.c \ source/${PROJECT_NAME}/EntityComponent_facing.c \ source/${PROJECT_NAME}/EntityComponent_facingSteering.c \ source/${PROJECT_NAME}/EntityComponent_movement.c \ source/${PROJECT_NAME}/EntityComponent_pickup.c \ source/${PROJECT_NAME}/EntityComponent_playerSteering.c \ source/${PROJECT_NAME}/EntityComponent_position.c \ source/${PROJECT_NAME}/EntityComponent_pushable.c \ source/${PROJECT_NAME}/EntityComponent_pusher.c \ source/${PROJECT_NAME}/EntityComponent_sprite.c \ source/${PROJECT_NAME}/EntityComponent_steering.c \ source/${PROJECT_NAME}/EntityDestructibleTile.c \ source/${PROJECT_NAME}/EntityPlayer.c \ source/${PROJECT_NAME}/EntityPushBlock.c \ source/${PROJECT_NAME}/EntityToken.c \ source/${PROJECT_NAME}/EntityWallCrawler.c \ source/${PROJECT_NAME}/FileUtilities.c \ source/${PROJECT_NAME}/GameData.c \ source/${PROJECT_NAME}/GameEntities.c \ source/${PROJECT_NAME}/GameEntity.c \ source/${PROJECT_NAME}/GameEntityComponent.c \ source/${PROJECT_NAME}/GameplayScreen.c \ source/${PROJECT_NAME}/GameSavedState.c \ source/${PROJECT_NAME}/GameScreen.c \ source/${PROJECT_NAME}/GameSession.c \ source/${PROJECT_NAME}/GameState.c \ source/${PROJECT_NAME}/GameView.c \ source/${PROJECT_NAME}/Globals.c \ source/${PROJECT_NAME}/InputMapDefaults.c \ source/${PROJECT_NAME}/main.c \ source/${PROJECT_NAME}/Music.c \ source/${PROJECT_NAME}/RoomSavedState.c \ source/${PROJECT_NAME}/RoomState.c \ source/${PROJECT_NAME}/RoomStateUndoStateDelta.c \ source/${PROJECT_NAME}/RoomTransition.c \ source/${PROJECT_NAME}/RoomVisual.c \ source/${PROJECT_NAME}/ShaderConfigurationRoom.c \ source/${PROJECT_NAME}/Shaders.c \ source/${PROJECT_NAME}/Sounds.c \ source/${PROJECT_NAME}/Utilities.c \ source/${PROJECT_NAME}/VisualEffect.c \ source/${PROJECT_NAME}/VisualEffect_sparkle.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 = EMBEDFILES_mainapp = \ build/generated/17pt.bitmapfont2 \ build/generated/appearance_atlas.png \ build/generated/appearance.atlas \ build/generated/main.imagecollection \ build/generated/main.spritecollection \ build/generated/main.tileset_adjacency \ build/generated/main.tileset_edit \ build/generated/tilemaps.tilemap_bundle \ build/generated/world.zonemap \ resources/music/music1.stemmusic \ resources/sounds/bump.stemaudio \ resources/sounds/checkpoint.stemaudio \ resources/sounds/enemy_death.stemaudio \ resources/sounds/move.stemaudio \ resources/sounds/move_fail.stemaudio \ resources/sounds/pickup.stemaudio \ resources/sounds/player_death.stemaudio \ resources/sounds/push.stemaudio \ resources/sounds/redo.stemaudio \ resources/sounds/reset.stemaudio \ resources/sounds/wall_break.stemaudio \ resources/sounds/undo.stemaudio \ resources/InputMapSchema.bin \ source/shader/glsl_150/room.vert \ source/shader/glsl_150/room.frag TPROJECT_FILE = resources/game.tproject STRIPPED_FILES = \ build/intermediate/tilemaps.tilemap_bundle \ resources/17pt.atlas \ resources/17pt.bitmapfont2 \ resources/main.imagecollection \ resources/main.spritecollection \ resources/main.tileset_adjacency \ resources/main.tileset_edit \ resources/world.zonemap # Patterns: RESOURCES, RESOURCES_${target}, RESOURCES_${platform}, RESOURCES_${target}_${platform} RESOURCES_mainapp = RESOURCES_mainapp_macosx = \ resources/Icon.icns RESOURCES_mainapp_iphoneos = \ resources/Icon-72.png \ resources/Icon-72@2x.png \ resources/Icon.png \ resources/Icon@2x.png RESOURCES_mainapp_iphonesimulator = ${RESOURCES_mainapp_iphoneos} GENERATED_TEXTURE_ATLASES = \ resources/atlas_data/texturepacker_config.json GENERATED_ICON_linux = \ resources/Icon_256x256.png # Patterns: LINKFILES, LINKFILES_${target}, LINKFILES_${platform}, LINKFILES_${target}_${platform} LINKFILES_mainapp_windows_i386 = \ build/intermediate/icon_win32.coff LINKFILES_mainapp_windows_x86_64 = \ build/intermediate/icon_win64.coff STEM_JAR_DEPENDENCIES_mainapp = \ eglshell/latest GENERATE_ANDROID_PACKAGE_NAME_mainapp = com.ludobloom.${PROJECT_NAME} GENERATE_ANDROID_CLASS_NAME_mainapp = ${PROJECT_NAME}MainActivity USE_DEFAULT_ICONS_mainapp = true # Pattern: PLIST_FILE_${target}_${platform} (required for application targets on macosx, iphoneos, and iphonesimulator) PLIST_FILE_mainapp_macosx = resources/Info_mainapp_macosx.plist PLIST_FILE_mainapp_iphonesimulator = resources/Info_mainapp_iphone.plist PLIST_FILE_mainapp_iphoneos = resources/Info_mainapp_iphone.plist # 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 build/generated/metadata_subst.json: resources/main.tileset_edit ${STRIPEDITDATA} | build/generated ${STRIPEDITDATA} --generate-substitutions -i $< -o $@ build/generated/atlas_subst.json: resources/main.imagecollection ${STRIPEDITDATA} | build/generated ${STRIPEDITDATA} --generate-substitutions -i $< -o $@ build/generated/MetadataKeys.h: build/generated/metadata_subst.json ${STRIPEDITDATA} | build/generated ${STRIPEDITDATA} --generate-metadata-header --substitutions $< -o $@ build/intermediate/tilemaps.tilemap_bundle: ${TPROJECT_FILE} ${TILEMAPBUNDLER} ${shell ${TILEMAPBUNDLER} --prereqs ${TPROJECT_FILE}} | build/intermediate ${TILEMAPBUNDLER} --bundle-all $< $@ define stripped_file_template #(resource_file) build/generated/${notdir $1}: $1 ${STRIPEDITDATA} build/generated/metadata_subst.json build/generated/atlas_subst.json | build/generated ${STRIPEDITDATA} --strip=DNS --substitutions build/generated/metadata_subst.json --substitutions build/generated/atlas_subst.json -i $$< -o $$@ endef ${foreach file,${STRIPPED_FILES}, \ ${eval ${call stripped_file_template,${file}}} \ }