PROJECT_NAME = modeler # 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 = Stem3D\ Modeler # Patterns: PLATFORMS, PLATFORMS_${target} PLATFORMS_mainapp = 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 = -Wno-unused-result CCFLAGS_linux = -Wno-implicit-fallthrough 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 \ binaryserialization/latest \ bitmapimage/latest \ document/latest \ dynamictypes/latest \ font/latest \ gamemath/latest \ imageio/latest \ jsonserialization/latest \ preferences/latest \ renderer/latest \ screenmanager/latest \ serialization/latest \ shadercollection/latest \ shell/latest \ uielementcollection/latest \ uitoolkit/latest \ utilities/latest STEM_LIBRARY_DEPENDENCIES_mainapp_macosx = nsopenglshell/latest STEM_LIBRARY_DEPENDENCIES_mainapp_windows = wglshell/latest STEM_LIBRARY_DEPENDENCIES_mainapp_linux = glxshell/latest STEM_LIBRARY_DEPENDENCIES_unittest = \ binaryserialization/latest \ bitmapimage/latest \ stemobject/latest \ 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 = SOURCES_mainapp = \ source/${PROJECT_NAME}/ArmatureAnimationRegistry.c \ source/${PROJECT_NAME}/ArmaturePoseRegistry.c \ source/${PROJECT_NAME}/ApplicationScreen.c \ source/${PROJECT_NAME}/Atoms.c \ source/${PROJECT_NAME}/Camera3DUndoStateDelta.c \ source/${PROJECT_NAME}/CameraOrientationIndicator.c \ source/${PROJECT_NAME}/DirtyStates.c \ source/${PROJECT_NAME}/Drawing.c \ source/${PROJECT_NAME}/FileUtilities.c \ source/${PROJECT_NAME}/GenerateTexturePopUpView.c \ source/${PROJECT_NAME}/GuideRow.c \ source/${PROJECT_NAME}/GuidesAndGridWindow.c \ source/${PROJECT_NAME}/Globals.c \ source/${PROJECT_NAME}/ImageExportDialog.c \ source/${PROJECT_NAME}/ImageRegistry.c \ source/${PROJECT_NAME}/ImageOverlayRow.c \ source/${PROJECT_NAME}/ImageOverlayWindow.c \ source/${PROJECT_NAME}/InspectorBoneEditView.c \ source/${PROJECT_NAME}/InspectorCameraEditView.c \ source/${PROJECT_NAME}/InspectorFaceEditView.c \ source/${PROJECT_NAME}/InspectorFaceEdgeEditView.c \ source/${PROJECT_NAME}/InspectorPivotEditView.c \ source/${PROJECT_NAME}/InspectorPoseBoneEditView.c \ source/${PROJECT_NAME}/InspectorSceneMeshInstanceEditView.c \ source/${PROJECT_NAME}/InspectorVertexEditView.c \ source/${PROJECT_NAME}/main.c \ source/${PROJECT_NAME}/Manipulator3D.c \ source/${PROJECT_NAME}/MeshEdit3DView.c \ source/${PROJECT_NAME}/MeshEditArmature.c \ source/${PROJECT_NAME}/MeshEditArmaturePose.c \ source/${PROJECT_NAME}/MeshEditArmaturePoseUndoStateDelta.c \ source/${PROJECT_NAME}/MeshEditData.c \ source/${PROJECT_NAME}/MeshEditDataSelection.c \ source/${PROJECT_NAME}/MeshEditDataSelectionUndoStateDelta.c \ source/${PROJECT_NAME}/MeshEditDataUndoStateDelta.c \ source/${PROJECT_NAME}/MeshEditDataVertexFormatChangeUndoStateDelta.c \ source/${PROJECT_NAME}/MeshEditGeometryView.c \ source/${PROJECT_NAME}/MeshEditOperation.c \ source/${PROJECT_NAME}/MeshEditOperation_assignEdgeNormals.c \ source/${PROJECT_NAME}/MeshEditOperation_bevelEdge.c \ source/${PROJECT_NAME}/MeshEditOperation_boneAnchorToPivot.c \ source/${PROJECT_NAME}/MeshEditOperation_boneClearParent.c \ source/${PROJECT_NAME}/MeshEditOperation_boneExtrude.c \ source/${PROJECT_NAME}/MeshEditOperation_boneRotate.c \ source/${PROJECT_NAME}/MeshEditOperation_boneScale.c \ source/${PROJECT_NAME}/MeshEditOperation_boneSetParent.c \ source/${PROJECT_NAME}/MeshEditOperation_boneTranslate.c \ source/${PROJECT_NAME}/MeshEditOperation_createFace.c \ source/${PROJECT_NAME}/MeshEditOperation_connectVertices.c \ source/${PROJECT_NAME}/MeshEditOperation_deleteBone.c \ source/${PROJECT_NAME}/MeshEditOperation_deleteEdge.c \ source/${PROJECT_NAME}/MeshEditOperation_deleteFace.c \ source/${PROJECT_NAME}/MeshEditOperation_deleteFaceEdge.c \ source/${PROJECT_NAME}/MeshEditOperation_deletePoseBone.c \ source/${PROJECT_NAME}/MeshEditOperation_deleteUnposedPoseBones.c \ source/${PROJECT_NAME}/MeshEditOperation_deleteVertex.c \ source/${PROJECT_NAME}/MeshEditOperation_duplicateGeometry.c \ source/${PROJECT_NAME}/MeshEditOperation_duplicateMeshInstance.c \ source/${PROJECT_NAME}/MeshEditOperation_insertBone.c \ source/${PROJECT_NAME}/MeshEditOperation_insertCube.c \ source/${PROJECT_NAME}/MeshEditOperation_insertCylinder.c \ source/${PROJECT_NAME}/MeshEditOperation_insertVertex.c \ source/${PROJECT_NAME}/MeshEditOperation_invertFace.c \ source/${PROJECT_NAME}/MeshEditOperation_invertPoseBone.c \ source/${PROJECT_NAME}/MeshEditOperation_loopCut.c \ source/${PROJECT_NAME}/MeshEditOperation_mergeVertices.c \ source/${PROJECT_NAME}/MeshEditOperation_meshInstanceRotate.c \ source/${PROJECT_NAME}/MeshEditOperation_meshInstanceScale.c \ source/${PROJECT_NAME}/MeshEditOperation_meshInstanceTranslate.c \ source/${PROJECT_NAME}/MeshEditOperation_mirror.c \ source/${PROJECT_NAME}/MeshEditOperation_packTextureMap.c \ source/${PROJECT_NAME}/MeshEditOperation_poseBoneAnchorToPivot.c \ source/${PROJECT_NAME}/MeshEditOperation_poseBoneRotate.c \ source/${PROJECT_NAME}/MeshEditOperation_poseBoneScale.c \ source/${PROJECT_NAME}/MeshEditOperation_poseBoneTranslate.c \ source/${PROJECT_NAME}/MeshEditOperation_resetPoseBone.c \ source/${PROJECT_NAME}/MeshEditOperation_rotate3D.c \ source/${PROJECT_NAME}/MeshEditOperation_scale3D.c \ source/${PROJECT_NAME}/MeshEditOperation_spherify.c \ source/${PROJECT_NAME}/MeshEditOperation_solidify.c \ source/${PROJECT_NAME}/MeshEditOperation_splitVertices.c \ source/${PROJECT_NAME}/MeshEditOperation_subdivideEdge.c \ source/${PROJECT_NAME}/MeshEditOperation_symmetrize.c \ source/${PROJECT_NAME}/MeshEditOperation_textureMapEdgeJoin.c \ source/${PROJECT_NAME}/MeshEditOperation_textureRotate.c \ source/${PROJECT_NAME}/MeshEditOperation_textureScale.c \ source/${PROJECT_NAME}/MeshEditOperation_textureTranslate.c \ source/${PROJECT_NAME}/MeshEditOperation_translate3D.c \ source/${PROJECT_NAME}/MeshEditOperation_unwrapTextureMap.c \ source/${PROJECT_NAME}/MeshEditOperation_vertexAnchorToPivot.c \ source/${PROJECT_NAME}/MeshEditOperation_vertexExtrude.c \ source/${PROJECT_NAME}/MeshEditOperation_vertexRotate.c \ source/${PROJECT_NAME}/MeshEditOperation_vertexScale.c \ source/${PROJECT_NAME}/MeshEditOperation_vertexSlide.c \ source/${PROJECT_NAME}/MeshEditOperation_vertexTranslate.c \ source/${PROJECT_NAME}/MeshEditPoseView.c \ source/${PROJECT_NAME}/MeshEditSelectionTool.c \ source/${PROJECT_NAME}/MeshEditSelectionTool_circle.c \ source/${PROJECT_NAME}/MeshEditSelectionTool_rectangle.c \ source/${PROJECT_NAME}/MeshEditTextureMapView.c \ source/${PROJECT_NAME}/MeshEditVertexPositionCache.c \ source/${PROJECT_NAME}/MeshEditView.c \ source/${PROJECT_NAME}/MeshEditViewImageOverlay.c \ source/${PROJECT_NAME}/MeshEditorScreen.c \ source/${PROJECT_NAME}/MeshInspectorPanel.c \ source/${PROJECT_NAME}/MeshPropertiesPanel.c \ source/${PROJECT_NAME}/MeshUtilities.c \ source/${PROJECT_NAME}/PoseEditorScreen.c \ source/${PROJECT_NAME}/PoseInspectorPanel.c \ source/${PROJECT_NAME}/PosePropertiesPanel.c \ source/${PROJECT_NAME}/PreferencesWindow.c \ source/${PROJECT_NAME}/PropertiesArmatureEditRow.c \ source/${PROJECT_NAME}/PropertiesArmatureEditView.c \ source/${PROJECT_NAME}/PropertiesArmaturePoseDisplayView.c \ source/${PROJECT_NAME}/PropertiesArmaturePoseEditView.c \ source/${PROJECT_NAME}/PropertiesMeshCameraAngleEditRow.c \ source/${PROJECT_NAME}/PropertiesMeshCameraAngleEditView.c \ source/${PROJECT_NAME}/PropertiesSceneCameraAngleEditRow.c \ source/${PROJECT_NAME}/PropertiesSceneCameraAngleEditView.c \ source/${PROJECT_NAME}/PropertiesShaderConfigurationEditView.c \ source/${PROJECT_NAME}/PropertiesTextureEditRow.c \ source/${PROJECT_NAME}/PropertiesTextureEditView.c \ source/${PROJECT_NAME}/QuaternionControl.c \ source/${PROJECT_NAME}/RegistryUtilities.c \ source/${PROJECT_NAME}/SceneEditData.c \ source/${PROJECT_NAME}/SceneEditDataUndoStateDelta.c \ source/${PROJECT_NAME}/SceneEditSelectionUndoStateDelta.c \ source/${PROJECT_NAME}/SceneEditView.c \ source/${PROJECT_NAME}/SceneEditorScreen.c \ source/${PROJECT_NAME}/SceneInspectorPanel.c \ source/${PROJECT_NAME}/SceneMeshRegistry.c \ source/${PROJECT_NAME}/ScenePropertiesPanel.c \ source/${PROJECT_NAME}/ShaderConfiguration2DColorWithViewTransform.c \ source/${PROJECT_NAME}/ShaderConfiguration2DTextureWithViewTransform.c \ source/${PROJECT_NAME}/ShaderConfigurationEditMesh.c \ source/${PROJECT_NAME}/ShaderConfigurationEditMeshAnimated.c \ source/${PROJECT_NAME}/ShaderConfigurationEditTextureMap.c \ source/${PROJECT_NAME}/ShaderConfigurationMeshEditViewSelection.c \ source/${PROJECT_NAME}/ShaderEnvironmentParameters.c \ source/${PROJECT_NAME}/ShaderEnvironmentParameters_basicLit.c \ source/${PROJECT_NAME}/ShaderMaterialParameters.c \ source/${PROJECT_NAME}/ShaderMaterialParameters_basicLit.c \ source/${PROJECT_NAME}/Shaders.c \ source/${PROJECT_NAME}/SidePanel.c \ source/${PROJECT_NAME}/SidePanelSubview.c \ source/${PROJECT_NAME}/TextureManager.c \ source/${PROJECT_NAME}/Types.c \ source/${PROJECT_NAME}/UIColorWellWithNumberSwap.c \ source/${PROJECT_NAME}/UIFloatEditTextWithNumberSwap.c \ source/${PROJECT_NAME}/UIIntegerEditTextWithNumberSwap.c \ source/${PROJECT_NAME}/Utilities.c \ source/${PROJECT_NAME}/UIUtilities.c \ source/${PROJECT_NAME}/VectorDirectionControl.c \ source/${PROJECT_NAME}/VectorPositionControl.c \ source/${PROJECT_NAME}/VectorScaleControl.c \ source/${PROJECT_NAME}/VertexFormatWindow.c SOURCES_unittest = \ source/${PROJECT_NAME}/Utilities.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/UtilitiesTest.c EMBEDFILES_mainapp = \ source/shader/glsl_150/checkerboard.vert \ source/shader/glsl_150/checkerboard.frag \ source/shader/glsl_150/color_2d_view.vert \ source/shader/glsl_150/color_2d_view.frag \ source/shader/glsl_150/edit_mesh.vert \ source/shader/glsl_150/edit_mesh_animated.vert \ source/shader/glsl_150/edit_mesh.frag \ source/shader/glsl_150/edit_texture_map.vert \ source/shader/glsl_150/edit_texture_map.frag \ source/shader/glsl_150/guide.frag \ source/shader/glsl_150/guide.vert \ source/shader/glsl_150/selection.vert \ source/shader/glsl_150/selection.frag \ source/shader/glsl_150/selection_2d.vert \ source/shader/glsl_150/texture_2d_view.vert \ source/shader/glsl_150/texture_2d_view.frag # Patterns: RESOURCES, RESOURCES_${target}, RESOURCES_${platform}, RESOURCES_${target}_${platform} RESOURCES_mainapp = \ resources/10pt.bitmapfont2 \ resources/10pt_2x.bitmapfont2 \ resources/17pt.bitmapfont2 \ resources/17pt_2x.bitmapfont2 \ build/generated/appearance_atlas.png \ build/generated/appearance.atlas RESOURCES_mainapp_macosx = \ resources/Icon.icns 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 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 # 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