PROJECT_NAME = convergence # VERSION_MAJOR, VERSION_MINOR, and VERSION_TWEAK are available as preprocessor macros for all source files in the project VERSION_MAJOR = 1 VERSION_MINOR = 3 VERSION_TWEAK = 1 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 = Convergence # Patterns: PLATFORMS, PLATFORMS_${target} PLATFORMS = macosx linux32 linux64 win32 win64 # Patterns: CCFLAGS, CCFLAGS_${target}, CCFLAGS_${configuration}, CCFLAGS_${platform}, CCFLAGS_${target}_${configuration}, CCFLAGS_${target}_${platform}, CCFLAGS_${configuration}_${platform}, CCFLAGS_${target}_${configuration}_${platform} CCFLAGS_mainapp = -DGLEW_STATIC CCFLAGS_unittest = -DNO_GAMEPAD CCFLAGS_linux32 = -Wno-unused-result CCFLAGS_linux64 = -Wno-unused-result # Patterns: LINKFLAGS, LINKFLAGS_${target}, LINKFLAGS_${configuration}, LINKFLAGS_${platform}, LINKFLAGS_${target}_${configuration}, LINKFLAGS_${target}_${platform}, LINKFLAGS_${configuration}_${platform} LINKFLAGS_release_win32 += -mwindows LINKFLAGS_win64 += -mwindows LINKFLAGS_unittest_win64 += -mconsole # 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 = \ gamemath/latest \ preferences/latest \ resourcemanager/latest \ serialization/latest \ shell/latest \ stemobject/latest \ utilities/latest STEM_LIBRARY_DEPENDENCIES_mainapp = \ bitmapimage/latest \ dynamictypes/latest \ gamepad/latest \ glbitmapfont/latest \ glgraphics/latest \ gltexture/latest \ inputcontroller/latest \ jsonio/latest \ binaryserialization/latest \ jsonserialization/latest \ vorbisaudioio/latest \ pcmaudio/latest \ pngimageio/latest \ screenmanager/latest STEM_LIBRARY_DEPENDENCIES_unittest = \ stubshell/latest \ unittest/latest STEM_LIBRARY_DEPENDENCIES_mainapp_macosx = nsopenglshell/latest STEM_LIBRARY_DEPENDENCIES_mainapp_win32 = wglshell/latest STEM_LIBRARY_DEPENDENCIES_mainapp_win64 = wglshell/latest STEM_LIBRARY_DEPENDENCIES_mainapp_linux32 = glxshell/latest STEM_LIBRARY_DEPENDENCIES_mainapp_linux64 = 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 = \ portaudio/v190600_20161030/libportaudio.a THIRDPARTY_LIBRARY_DEPENDENCIES_mainapp_win32 = glew/2.0.0/libglew.a zlib/1.2.11/libz.a THIRDPARTY_LIBRARY_DEPENDENCIES_mainapp_win64 = glew/2.0.0/libglew.a zlib/1.2.11/libz.a THIRDPARTY_LIBRARY_DEPENDENCIES_mainapp_linux32 = glew/2.0.0/libglew.a THIRDPARTY_LIBRARY_DEPENDENCIES_mainapp_linux64 = glew/2.0.0/libglew.a # Additional build prerequisites per target # Patterns: PREREQS, PREREQS_${target} PREREQS = SOURCES_mainapp = \ source/${PROJECT_NAME}/main.c \ source/${PROJECT_NAME}/AIMath.c \ source/${PROJECT_NAME}/AudioManager.c \ source/${PROJECT_NAME}/ChooseClassState.c \ source/${PROJECT_NAME}/CollisionManager.c \ source/${PROJECT_NAME}/ConfigureControlsState.c \ source/${PROJECT_NAME}/DamageNumberEffect.c \ source/${PROJECT_NAME}/DeathEffect.c \ source/${PROJECT_NAME}/DungeonDoorModel.c \ source/${PROJECT_NAME}/DungeonDoorOpenEffect.c \ source/${PROJECT_NAME}/DungeonDoorView.c \ source/${PROJECT_NAME}/DungeonKeyModel.c \ source/${PROJECT_NAME}/DungeonKeyView.c \ source/${PROJECT_NAME}/DungeonModel.c \ source/${PROJECT_NAME}/DungeonRoomModel.c \ source/${PROJECT_NAME}/DungeonRoomStateModel.c \ source/${PROJECT_NAME}/DungeonRoomView.c \ source/${PROJECT_NAME}/DungeonTileColorMap.c \ source/${PROJECT_NAME}/EnemyBerserkerModel.c \ source/${PROJECT_NAME}/EnemyFirstBossModel.c \ source/${PROJECT_NAME}/EnemyModel.c \ source/${PROJECT_NAME}/EnemyRangerModel.c \ source/${PROJECT_NAME}/EnemyView.c \ source/${PROJECT_NAME}/GameObjectModel.c \ source/${PROJECT_NAME}/GameObjectView.c \ source/${PROJECT_NAME}/GamepadDetailView.c \ source/${PROJECT_NAME}/GameplayCamera.c \ source/${PROJECT_NAME}/GameplayState.c \ source/${PROJECT_NAME}/GameplayStateView.c \ source/${PROJECT_NAME}/GameSession.c \ source/${PROJECT_NAME}/GameStateController.c \ source/${PROJECT_NAME}/GameStateModel.c \ source/${PROJECT_NAME}/GLBitmapFont_legacy.c \ source/${PROJECT_NAME}/HealPowerupModel.c \ source/${PROJECT_NAME}/HealPowerupView.c \ source/${PROJECT_NAME}/HealthPickupEffect.c \ source/${PROJECT_NAME}/InstructionsState.c \ source/${PROJECT_NAME}/InventoryModel.c \ source/${PROJECT_NAME}/KeyPickupEffect.c \ source/${PROJECT_NAME}/MenuScreenState.c \ source/${PROJECT_NAME}/MovingEntityModel.c \ source/${PROJECT_NAME}/MovingEntityView.c \ source/${PROJECT_NAME}/PauseScreenView.c \ source/${PROJECT_NAME}/PlayerBerserkerModel.c \ source/${PROJECT_NAME}/PlayerDuelistModel.c \ source/${PROJECT_NAME}/PlayerModel.c \ source/${PROJECT_NAME}/PlayerRangerModel.c \ source/${PROJECT_NAME}/PlayerSpeedsterModel.c \ source/${PROJECT_NAME}/PlayerSpyModel.c \ source/${PROJECT_NAME}/PlayerView.c \ source/${PROJECT_NAME}/PreferencesState.c \ source/${PROJECT_NAME}/ProjectileModel.c \ source/${PROJECT_NAME}/ProjectileView.c \ source/${PROJECT_NAME}/RainbowTrailEffect.c \ source/${PROJECT_NAME}/RankUpPowerupModel.c \ source/${PROJECT_NAME}/RankUpPowerupView.c \ source/${PROJECT_NAME}/ResourceWiring.c \ source/${PROJECT_NAME}/RoomExitModel.c \ source/${PROJECT_NAME}/ShellStateGlobals.c \ source/${PROJECT_NAME}/SparkleEffect.c \ source/${PROJECT_NAME}/SplashScreenState.c \ source/${PROJECT_NAME}/StaircaseModel.c \ source/${PROJECT_NAME}/StaircaseView.c \ source/${PROJECT_NAME}/SwordSwingModel.c \ source/${PROJECT_NAME}/SwordSwingView.c \ source/${PROJECT_NAME}/WinGameState.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/${PROJECT_NAME}/AIMath.c \ source/${PROJECT_NAME}/DungeonDoorModel.c \ source/${PROJECT_NAME}/GameObjectModel.c \ SOURCES_unittest_suites = \ source/unittest/AIMathTest.c # Patterns: RESOURCES, RESOURCES_${target}, RESOURCES_${platform}, RESOURCES_${target}_${platform} RESOURCES_mainapp = \ resources/dungeons \ resources/font_atlas.json \ resources/font_texture.json \ resources/font_texture.png \ resources/font.json \ resources/music \ resources/sounds \ resources/sounds.json \ resources/textures RESOURCES_mainapp_macosx = \ resources/Icon.icns RESOURCES_mainapp_iphoneos = \ resources/Icon-72.png \ resources/Icon.png \ resources/Icon@2x.png RESOURCES_mainapp_iphonesimulator = ${RESOURCES_mainapp_iphoneos} # Patterns: LINKFILES, LINKFILES_${target}, LINKFILES_${platform}, LINKFILES_${target}_${platform} LINKFILES_mainapp_win32 = \ build/intermediate/icon_win32.coff LINKFILES_mainapp_win64 = \ build/intermediate/icon_win64.coff # Pattern: ANALYZER_EXCLUDE_SOURCES_${analyzer} ANALYZER_EXCLUDE_SOURCES_clang = ANALYZER_EXCLUDE_SOURCES_splint = \ ${SOURCES_unittest_suites} # 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