PROJECT_NAME = watertowerclassic # VERSION_MAJOR, VERSION_MINOR, and VERSION_TWEAK are available as preprocessor macros for all source files in the project include version 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 = Water\ Tower\ Classic # Patterns: PLATFORMS, PLATFORMS_${target} PLATFORMS = macosx linux windows # Patterns: CCFLAGS, CCFLAGS_${target}, CCFLAGS_${configuration}, CCFLAGS_${platform}, CCFLAGS_${target}_${configuration}, CCFLAGS_${target}_${platform}, CCFLAGS_${configuration}_${platform}, CCFLAGS_${target}_${configuration}_${platform} CCFLAGS_mainapp = # Patterns: LINKFLAGS, LINKFLAGS_${target}, LINKFLAGS_${configuration}, LINKFLAGS_${platform}, LINKFLAGS_${target}_${configuration}, LINKFLAGS_${target}_${platform}, LINKFLAGS_${configuration}_${platform} LINKFLAGS = # 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 = \ audioplayer/latest \ gamemath/latest \ bitmapimage/latest \ dynamictypes/latest \ font/latest \ inputcontroller/latest \ jsonio/latest \ jsonserialization/latest \ pcmaudio/latest \ imageio/latest \ preferences/latest \ renderer/latest \ serialization/latest \ shadercollection/latest \ stemobject/latest \ utilities/latest \ shell/latest \ vorbisaudioio/latest STEM_LIBRARY_DEPENDENCIES_mainapp = \ gamepad/latest \ screenmanager/latest STEM_LIBRARY_DEPENDENCIES_unittest = \ stubshell/latest \ unittest/latest STEM_LIBRARY_DEPENDENCIES_mainapp_macosx = nsopenglshell/latest STEM_LIBRARY_DEPENDENCIES_mainapp_windows = wglshell/latest STEM_LIBRARY_DEPENDENCIES_mainapp_linux = glxshell/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 = SOURCES_mainapp = \ source/${PROJECT_NAME}/AboutScreen.c \ source/${PROJECT_NAME}/Atoms.c \ source/${PROJECT_NAME}/ControlsScreen.c \ source/${PROJECT_NAME}/Drawing.c \ source/${PROJECT_NAME}/GameplayScreen.c \ source/${PROJECT_NAME}/GameplayView.c \ source/${PROJECT_NAME}/GameSession.c \ source/${PROJECT_NAME}/Globals.c \ source/${PROJECT_NAME}/LevelEditorInspectorView.c \ source/${PROJECT_NAME}/LevelEditorScreen.c \ source/${PROJECT_NAME}/LevelEditorView.c \ source/${PROJECT_NAME}/LevelFileIO.c \ source/${PROJECT_NAME}/LevelModel.c \ source/${PROJECT_NAME}/LevelSetModel.c \ source/${PROJECT_NAME}/main.c \ source/${PROJECT_NAME}/MainMenuScreen.c \ source/${PROJECT_NAME}/ManageLevelsScreen.c \ source/${PROJECT_NAME}/Music.c \ source/${PROJECT_NAME}/PhysicsFunctions.c \ source/${PROJECT_NAME}/PlayerModel.c \ source/${PROJECT_NAME}/SettingsScreen.c \ source/${PROJECT_NAME}/Sounds.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/main_atlas.png \ build/generated/main.atlas \ resources/advanced.lvl \ resources/air_bubble.frag \ resources/air_bubble.vert \ resources/easy.lvl \ resources/intermediate.lvl \ resources/music.ogg \ resources/sounds/block_toggle.ogg \ resources/sounds/breath.ogg \ resources/sounds/crumble.ogg \ resources/sounds/die.ogg \ resources/sounds/finish_level.ogg \ resources/sounds/finish_level_set.ogg \ resources/sounds/game_over.ogg \ resources/sounds/gem.ogg \ resources/sounds/heart.ogg \ resources/sounds/ice_block_melt.ogg \ resources/sounds/key.ogg \ resources/sounds/land.ogg \ resources/sounds/open_door.ogg \ resources/sounds/phase.ogg \ resources/sounds/switch.ogg \ resources/sounds/teleport.ogg \ resources/sounds/trampoline.ogg \ resources/tutorial.lvl \ resources/watertowerfont.bitmapfont2 \ resources/InputMapSchema.bin # Patterns: RESOURCES, RESOURCES_${target}, RESOURCES_${platform}, RESOURCES_${target}_${platform} RESOURCES_mainapp = RESOURCES_mainapp_macosx = \ resources/Icon.icns GENERATED_TEXTURE_ATLASES = \ resources/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 # Pattern: PLIST_FILE_${target}_${platform} (required for application targets on macosx, iphoneos, and iphonesimulator) PLIST_FILE_mainapp_macosx = resources/Info_mainapp_macosx.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/version.h: version | build/generated ${shell ${STEM_SHARED_DIR}/stemconfig --generate-definition-file $@ VERSION_MAJOR=${VERSION_MAJOR} VERSION_MINOR=${VERSION_MINOR} VERSION_TWEAK=${VERSION_TWEAK} VERSION_SUFFIX=${VERSION_SUFFIX}}