PROJECT_NAME = uitoolkit # 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 APPLICATION_TARGETS = testharness # 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 HUMAN_READABLE_TARGET_NAME_testharness = UIToolkit # Patterns: PLATFORMS, PLATFORMS_${target} PLATFORMS = macosx iphonesimulator iphoneos linux windows android # Patterns: CCFLAGS, CCFLAGS_${target}, CCFLAGS_${configuration}, CCFLAGS_${platform}, CCFLAGS_${target}_${configuration}, CCFLAGS_${target}_${platform}, CCFLAGS_${configuration}_${platform}, CCFLAGS_${target}_${configuration}_${platform} CCFLAGS = CCFLAGS_testharness = -Wno-unused-result # Patterns: LINKFLAGS, LINKFLAGS_${target}, LINKFLAGS_${configuration}, LINKFLAGS_${platform}, LINKFLAGS_${target}_${configuration}, LINKFLAGS_${target}_${platform}, LINKFLAGS_${configuration}_${platform} LINKFLAGS = LINKFLAGS_testharness_android = -lz # 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_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 = \ dynamictypes/latest \ gamemath/latest \ font/latest \ imageio/latest \ inputcontroller/latest \ renderer/latest \ shell/latest \ stemobject/latest \ utilities/latest STEM_LIBRARY_DEPENDENCIES_unittest = unittest/latest STEM_LIBRARY_DEPENDENCIES_testharness = \ 3dmodelio/latest \ jsonserialization/latest \ resourcemanager/latest \ shadercollection/latest \ shell/latest STEM_LIBRARY_DEPENDENCIES_testharness_macosx = nsopenglshell/latest STEM_LIBRARY_DEPENDENCIES_testharness_windows = wglshell/latest STEM_LIBRARY_DEPENDENCIES_testharness_linux = glxshell/latest STEM_LIBRARY_DEPENDENCIES_testharness_iphonesimulator = eaglshell/latest STEM_LIBRARY_DEPENDENCIES_testharness_iphoneos = eaglshell/latest STEM_LIBRARY_DEPENDENCIES_testharness_android = eglshell/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}/UIAppearance.c \ source/${PROJECT_NAME}/UIButton.c \ source/${PROJECT_NAME}/UICheckbox.c \ source/${PROJECT_NAME}/UIContainer.c \ source/${PROJECT_NAME}/UIContinuousSlider.c \ source/${PROJECT_NAME}/UIDrawingInterface.c \ source/${PROJECT_NAME}/UIDrawingInterface2DMultitexture.c \ source/${PROJECT_NAME}/UIDrawingInterface2DTexture.c \ source/${PROJECT_NAME}/UIEditText.c \ source/${PROJECT_NAME}/UIElement.c \ source/${PROJECT_NAME}/UIGraphicalButton.c \ source/${PROJECT_NAME}/UIHitTestResultIO.c \ source/${PROJECT_NAME}/UIKeyShortcut.c \ source/${PROJECT_NAME}/UILabel.c \ source/${PROJECT_NAME}/UIListViewBase.c \ source/${PROJECT_NAME}/UIMenuBar.c \ source/${PROJECT_NAME}/UIModalConfirmationDialog.c \ source/${PROJECT_NAME}/UIModalDialog.c \ source/${PROJECT_NAME}/UIPopUpMenu.c \ source/${PROJECT_NAME}/UIPopUpView.c \ source/${PROJECT_NAME}/UIRadioButton.c \ source/${PROJECT_NAME}/UIRadioGroup.c \ source/${PROJECT_NAME}/UIScrollContainer.c \ source/${PROJECT_NAME}/UISlider.c \ source/${PROJECT_NAME}/UIStepper.c \ source/${PROJECT_NAME}/UITextLayout.c \ source/${PROJECT_NAME}/UITextListView.c \ source/${PROJECT_NAME}/UIToolkitAppearance.c \ source/${PROJECT_NAME}/UIToolkitContext.c \ source/${PROJECT_NAME}/UIToolkitCursor.c \ source/${PROJECT_NAME}/UIToolkitDrawing.c \ source/${PROJECT_NAME}/UITooltipRoot.c \ source/${PROJECT_NAME}/UITooltipView.c \ source/${PROJECT_NAME}/UITypeface.c \ source/${PROJECT_NAME}/UITypeface_BitmapFont.c \ source/${PROJECT_NAME}/UITypeface_BitmapFont2.c \ source/${PROJECT_NAME}/UIWindowRoot.c \ source/${PROJECT_NAME}/UIWindowView.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/UIKeyShortcutTest.c SOURCES_testharness = \ source/testharness/TestHarness_main.c # Public-facing include files to be distributed with the library, if any INCLUDES = \ source/${PROJECT_NAME}/UIAppearance.h \ source/${PROJECT_NAME}/UIButton.h \ source/${PROJECT_NAME}/UICheckbox.h \ source/${PROJECT_NAME}/UIContainer.h \ source/${PROJECT_NAME}/UIContinuousSlider.h \ source/${PROJECT_NAME}/UIDrawingInterface.h \ source/${PROJECT_NAME}/UIDrawingInterface2DMultitexture.h \ source/${PROJECT_NAME}/UIDrawingInterface2DTexture.h \ source/${PROJECT_NAME}/UIEditText.h \ source/${PROJECT_NAME}/UIElement.h \ source/${PROJECT_NAME}/UIGraphicalButton.h \ source/${PROJECT_NAME}/UIHitTestResultIO.h \ source/${PROJECT_NAME}/UIKeyShortcut.h \ source/${PROJECT_NAME}/UILabel.h \ source/${PROJECT_NAME}/UIListViewBase.h \ source/${PROJECT_NAME}/UIMenuBar.h \ source/${PROJECT_NAME}/UIModalConfirmationDialog.h \ source/${PROJECT_NAME}/UIModalDialog.h \ source/${PROJECT_NAME}/UIPopUpMenu.h \ source/${PROJECT_NAME}/UIPopUpView.h \ source/${PROJECT_NAME}/UIRadioButton.h \ source/${PROJECT_NAME}/UIRadioGroup.h \ source/${PROJECT_NAME}/UIScrollContainer.h \ source/${PROJECT_NAME}/UISlider.h \ source/${PROJECT_NAME}/UIStepper.h \ source/${PROJECT_NAME}/UITextLayout.h \ source/${PROJECT_NAME}/UITextListView.h \ source/${PROJECT_NAME}/UIToolkitAppearance.h \ source/${PROJECT_NAME}/UIToolkitAppearance_entries.h \ source/${PROJECT_NAME}/UIToolkitContext.h \ source/${PROJECT_NAME}/UIToolkitCursor.h \ source/${PROJECT_NAME}/UIToolkitDrawing.h \ source/${PROJECT_NAME}/UITooltipRoot.h \ source/${PROJECT_NAME}/UITooltipView.h \ source/${PROJECT_NAME}/UITypeface.h \ source/${PROJECT_NAME}/UITypeface_BitmapFont.h \ source/${PROJECT_NAME}/UITypeface_BitmapFont2.h \ source/${PROJECT_NAME}/UITypes.h \ source/${PROJECT_NAME}/UIWindowRoot.h \ source/${PROJECT_NAME}/UIWindowView.h # Patterns: RESOURCES, RESOURCES_${target}, RESOURCES_${platform}, RESOURCES_${target}_${platform} RESOURCES_testharness = \ build/generated/15pt.bitmapfont \ build/generated/testappearance_atlas.png \ build/generated/testappearance.atlas EMBEDFILES_library = \ resources/cursors/resize_topleft_1x.png \ resources/cursors/resize_topleft_2x.png \ resources/cursors/resize_top_1x.png \ resources/cursors/resize_top_2x.png \ resources/cursors/resize_topright_1x.png \ resources/cursors/resize_topright_2x.png \ resources/cursors/resize_left_1x.png \ resources/cursors/resize_left_2x.png \ resources/cursors/resize_right_1x.png \ resources/cursors/resize_right_2x.png \ resources/cursors/resize_bottomleft_1x.png \ resources/cursors/resize_bottomleft_2x.png \ resources/cursors/resize_bottom_1x.png \ resources/cursors/resize_bottom_2x.png \ resources/cursors/resize_bottomright_1x.png \ resources/cursors/resize_bottomright_2x.png STEM_JAR_DEPENDENCIES_testharness = \ eglshell/latest GENERATE_ANDROID_PACKAGE_NAME_testharness = com.ludobloom.${PROJECT_NAME}.testharness GENERATE_ANDROID_CLASS_NAME_testharness = ${PROJECT_NAME}TestHarnessActivity USE_DEFAULT_ICONS_testharness = true # Pattern: PLIST_FILE_${target}_${platform} (required for application targets on macosx, iphoneos, and iphonesimulator) PLIST_FILE_testharness_macosx = resources/Info_testharness_macosx.plist PLIST_FILE_testharness_iphonesimulator = resources/Info_testharness_iphone.plist PLIST_FILE_testharness_iphoneos = resources/Info_testharness_iphone.plist INSTALLED_TARGETS = library testharness # 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/15ptfont.atlas build/generated/15pt.bitmapfont: resources/atlas_data/15ptfont_makefont_config.json resources/atlas_data/15ptfont_info.json resources/atlas_data/15ptfont.png ${MAKEFONT} | build/generated ${MAKEFONT} -c $< build/generated/testappearance_atlas.png build/generated/testappearance.atlas: resources/atlas_data/texturepacker_config.json build/generated/15ptfont.atlas ${TEXTUREPACKER} ${shell ${TEXTUREPACKER} --prereqs -c resources/atlas_data/texturepacker_config.json} ${TEXTUREPACKER} -c $<