PROJECT_NAME = shadercollection # 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 = Shader\ Collection # Patterns: PLATFORMS, PLATFORMS_${target} PLATFORMS = 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_${target}_${platform}_${arch}, CCFLAGS_${configuration}_${platform}_${arch}, CCFLAGS_${target}_${configuration}_${platform}_${arch} CCFLAGS = # 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_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 = \ 3dmodelio/latest \ renderer/latest \ serialization/latest STEM_LIBRARY_DEPENDENCIES_unittest = unittest/latest STEM_LIBRARY_DEPENDENCIES_testharness = 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_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}/MeshConfigurationDataSurfaceMaterial.c \ source/${PROJECT_NAME}/MeshConfigurationDataSurfaceMaterialArmature.c \ source/${PROJECT_NAME}/ShaderCollection.c \ source/${PROJECT_NAME}/ShaderConfiguration2DMultitexture.c \ source/${PROJECT_NAME}/ShaderConfiguration2DSDF.c \ source/${PROJECT_NAME}/ShaderConfiguration2DSDFMultitexture.c \ source/${PROJECT_NAME}/ShaderConfiguration2DTexture.c \ source/${PROJECT_NAME}/ShaderConfiguration3DBasic.c \ source/${PROJECT_NAME}/ShaderConfiguration3DLit.c \ source/${PROJECT_NAME}/ShaderConfiguration3DLitAnimated.c \ source/${PROJECT_NAME}/ShaderConfiguration3DNormalMapped.c \ source/${PROJECT_NAME}/ShaderConfiguration3DNormalMappedAnimated.c \ source/${PROJECT_NAME}/ShaderConfigurationRenderTarget.c \ source/${PROJECT_NAME}/ShaderConfigurationRenderTargetArea.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 = SOURCES_testharness = \ source/testharness/TestHarness_main.c SHADERS_desktop = \ source/shader/glsl_150/animated.vert \ source/shader/glsl_150/animated_normalmapped.vert \ source/shader/glsl_150/color.frag \ source/shader/glsl_150/color2d.vert \ source/shader/glsl_150/color3d.vert \ source/shader/glsl_150/fbo.vert \ source/shader/glsl_150/fbo.frag \ source/shader/glsl_150/fbo_area.frag \ source/shader/glsl_150/fbo_biasedlinear.frag \ source/shader/glsl_150/litsurface.frag \ source/shader/glsl_150/litsurface_normalmapped.frag \ source/shader/glsl_150/sdf.frag \ source/shader/glsl_150/sdf_multitexture.frag \ source/shader/glsl_150/sprite.vert \ source/shader/glsl_150/sprite_multitexture.vert \ source/shader/glsl_150/sprite.frag \ source/shader/glsl_150/sprite_multitexture.frag \ source/shader/glsl_150/static.vert \ source/shader/glsl_150/static_normalmapped.vert SHADERS_es = \ source/shader/glsl_300_es/animated.vert \ source/shader/glsl_300_es/animated_normalmapped.vert \ source/shader/glsl_300_es/color.frag \ source/shader/glsl_300_es/color2d.vert \ source/shader/glsl_300_es/color3d.vert \ source/shader/glsl_300_es/fbo.vert \ source/shader/glsl_300_es/fbo.frag \ source/shader/glsl_300_es/fbo_area.frag \ source/shader/glsl_300_es/litsurface.frag \ source/shader/glsl_300_es/litsurface_normalmapped.frag \ source/shader/glsl_300_es/sdf.frag \ source/shader/glsl_300_es/sdf_multitexture.frag \ source/shader/glsl_300_es/sprite.vert \ source/shader/glsl_300_es/sprite_multitexture.vert \ source/shader/glsl_300_es/sprite.frag \ source/shader/glsl_300_es/sprite_multitexture.frag \ source/shader/glsl_300_es/static.vert \ source/shader/glsl_300_es/static_normalmapped.vert EMBEDFILES_library_linux_i386 = ${SHADERS_desktop} EMBEDFILES_library_linux_x86_64 = ${SHADERS_desktop} EMBEDFILES_library_linux_armv7l = ${SHADERS_es} EMBEDFILES_library_windows = ${SHADERS_desktop} EMBEDFILES_library_macosx = ${SHADERS_desktop} EMBEDFILES_library_android = ${SHADERS_es} EMBEDFILES_library_iphonesimulator = ${SHADERS_es} EMBEDFILES_library_iphoneos = ${SHADERS_es} # Public-facing include files to be distributed with the library, if any INCLUDES = \ source/${PROJECT_NAME}/MeshConfigurationDataSurfaceMaterial.h \ source/${PROJECT_NAME}/MeshConfigurationDataSurfaceMaterialArmature.h \ source/${PROJECT_NAME}/ShaderCollection.h \ source/${PROJECT_NAME}/ShaderConfiguration2DMultitexture.h \ source/${PROJECT_NAME}/ShaderConfiguration2DSDF.h \ source/${PROJECT_NAME}/ShaderConfiguration2DSDFMultitexture.h \ source/${PROJECT_NAME}/ShaderConfiguration2DTexture.h \ source/${PROJECT_NAME}/ShaderConfiguration3DBasic.h \ source/${PROJECT_NAME}/ShaderConfiguration3DLit.h \ source/${PROJECT_NAME}/ShaderConfiguration3DLitAnimated.h \ source/${PROJECT_NAME}/ShaderConfiguration3DNormalMapped.h \ source/${PROJECT_NAME}/ShaderConfiguration3DNormalMappedAnimated.h \ source/${PROJECT_NAME}/ShaderConfigurationRenderTarget.h \ source/${PROJECT_NAME}/ShaderConfigurationRenderTargetArea.h # Patterns: RESOURCES, RESOURCES_${target}, RESOURCES_${platform}, RESOURCES_${target}_${platform} RESOURCES = STEM_JAR_DEPENDENCIES_testharness = \ eglshell/latest # 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 GENERATE_ANDROID_PACKAGE_NAME_testharness = com.ludobloom.${PROJECT_NAME}.testharness GENERATE_ANDROID_CLASS_NAME_testharness = ShaderCollectionTestHarnessActivity USE_DEFAULT_ICONS_testharness = true 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