include $(GNUSTEP_MAKEFILES)/common.make include config.make vpath %.m src/SDL:src/Core:src/Core/Entities:src/Core/Materials:src/Core/Scripting:src/Core/OXPVerifier:src/Core/Debug vpath %.h src/SDL:src/Core:src/Core/Entities:src/Core/Materials:src/Core/Scripting:src/Core/OXPVerifier:src/Core/Debug vpath %.c src/SDL:src/Core:src/BSDCompat:src/Core/Debug GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_USER_ROOT) ifeq ($(GNUSTEP_HOST_OS),mingw32) GNUSTEP_OBJ_DIR_NAME := $(GNUSTEP_OBJ_DIR_NAME).win endif GNUSTEP_OBJ_DIR_BASENAME := $(GNUSTEP_OBJ_DIR_NAME) HOST_ARCH := $(shell echo $(GNUSTEP_HOST_CPU) | sed -e s/i.86/x86/ -e s/amd64/x86_64/ ) ifeq ($(GNUSTEP_HOST_OS),mingw32) JS_INC_DIR = deps/Windows-x86-deps/JS32ECMAv5/include JS_LIB_DIR = deps/Windows-x86-deps/JS32ECMAv5/lib ifeq ($(debug),yes) JS_IMPORT_LIBRARY = js32ECMAv5dbg else JS_IMPORT_LIBRARY = js32ECMAv5 endif ADDITIONAL_INCLUDE_DIRS = -Ideps/Windows-x86-deps/include -I$(JS_INC_DIR) -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug -Isrc/Core/Tables ADDITIONAL_OBJC_LIBS = -lglu32 -lopengl32 -lpng14.dll -lmingw32 -lSDLmain -lSDL -lSDL_mixer -lgnustep-base -l$(JS_IMPORT_LIBRARY) -lwinmm -mwindows ADDITIONAL_CFLAGS = -DWIN32 -DNEED_STRLCPY `sdl-config --cflags` -mtune=generic # note the vpath stuff above isn't working for me, so adding src/SDL and src/Core explicitly ADDITIONAL_OBJCFLAGS = -DLOADSAVEGUI -DWIN32 -DXP_WIN -Wno-import -std=gnu99 `sdl-config --cflags` -mtune=generic ADDITIONAL_LDFLAGS += -Wl,--large-address-aware oolite_LIB_DIRS += -L$(GNUSTEP_LOCAL_ROOT)/lib -Ldeps/Windows-x86-deps/lib -L$(JS_LIB_DIR) ifeq ($(ESPEAK),yes) ADDITIONAL_OBJC_LIBS += -lespeak.dll ADDITIONAL_OBJCFLAGS +=-DHAVE_LIBESPEAK=1 GNUSTEP_OBJ_DIR_NAME := $(GNUSTEP_OBJ_DIR_NAME).spk endif else ifeq ($(debug),yes) LIBJS_ROOT = deps/mozilla/js/src/build-debug else LIBJS_ROOT = deps/mozilla/js/src/build-release endif LIBJS_INC_DIR = $(LIBJS_ROOT)/dist/include LIBJS_LIB_DIR = $(LIBJS_ROOT)/dist/lib LIBJS = js_static ADDITIONAL_INCLUDE_DIRS = -I$(LIBJS_INC_DIR) -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug -Isrc/Core/Tables ADDITIONAL_OBJC_LIBS = -lGLU -lGL -lX11 -lSDL -lSDL_mixer -lgnustep-base -l$(LIBJS) `nspr-config --libs` -lstdc++ ADDITIONAL_CFLAGS = -Wall -DLINUX -DNEED_STRLCPY `sdl-config --cflags` `nspr-config --cflags` ADDITIONAL_OBJCFLAGS = -Wall -std=c99 -DLOADSAVEGUI -DLINUX -DXP_UNIX -Wno-import `sdl-config --cflags` `nspr-config --cflags` oolite_LIB_DIRS += -L/usr/X11R6/lib/ -L$(LIBJS_LIB_DIR) ifeq ($(use_deps),yes) oolite_LIB_DIRS += -Ldeps/Linux-deps/$(HOST_ARCH)/lib_linker ADDITIONAL_OBJC_LIBS += -lpng14 ADDITIONAL_INCLUDE_DIRS += -Ideps/Linux-deps/include else ADDITIONAL_OBJC_LIBS += -lpng endif ifeq ($(ESPEAK),yes) ADDITIONAL_OBJC_LIBS += -lespeak ADDITIONAL_OBJCFLAGS += -DHAVE_LIBESPEAK=1 GNUSTEP_OBJ_DIR_NAME := $(GNUSTEP_OBJ_DIR_NAME).spk endif ifeq ($(OO_JAVASCRIPT_TRACE),yes) ADDITIONAL_OBJCFLAGS += -DMOZ_TRACE_JSCALLS=1 endif endif ifeq ($(profile),yes) ADDITIONAL_CFLAGS += -g -pg ADDITIONAL_OBJCFLAGS += -g -pg endif ifeq ($(debug),yes) ADDITIONAL_CFLAGS += -g -O0 ADDITIONAL_OBJCFLAGS += -g -O0 GNUSTEP_OBJ_DIR_NAME := $(GNUSTEP_OBJ_DIR_NAME).dbg ADDITIONAL_CFLAGS += -DDEBUG -DOO_DEBUG -DOO_CHECK_GL_HEAVY=1 ADDITIONAL_OBJCFLAGS += -DDEBUG -DOO_DEBUG -DOO_CHECK_GL_HEAVY=1 endif # these are common settings for both test and deployment release configurations ifeq ($(NO_SHADERS),yes) ADDITIONAL_CFLAGS += -DNO_SHADERS=1 ADDITIONAL_OBJCFLAGS += -DNO_SHADERS=1 endif ifeq ($(FEATURE_REQUEST_5496),yes) ADDITIONAL_CFLAGS += -DFEATURE_REQUEST_5496=1 ADDITIONAL_OBJCFLAGS += -DFEATURE_REQUEST_5496=1 endif # DEPLOYMENT_RELEASE_CONFIGURATION value is passed from Makefile. Note that the deployment release settings # are forced, while test release settings are adjustable. ifeq ($(DEPLOYMENT_RELEASE_CONFIGURATION),yes) ADDITIONAL_CFLAGS += -DNDEBUG ADDITIONAL_OBJCFLAGS += -DNDEBUG ADDITIONAL_CFLAGS += -DOO_CHECK_GL_HEAVY=0 ADDITIONAL_OBJCFLAGS += -DOO_CHECK_GL_HEAVY=0 ADDITIONAL_CFLAGS += -DOO_EXCLUDE_DEBUG_SUPPORT=1 ADDITIONAL_OBJCFLAGS += -DOO_EXCLUDE_DEBUG_SUPPORT=1 ADDITIONAL_CFLAGS += -DOO_OXP_VERIFIER_ENABLED=0 ADDITIONAL_OBJCFLAGS += -DOO_OXP_VERIFIER_ENABLED=0 ADDITIONAL_CFLAGS += -DOO_LOCALIZATION_TOOLS=0 ADDITIONAL_OBJCFLAGS += -DOO_LOCALIZATION_TOOLS=0 ADDITIONAL_CFLAGS += -DDEBUG_GRAPHVIZ=0 ADDITIONAL_OBJCFLAGS += -DDEBUG_GRAPHVIZ=0 else ifeq ($(BUILD_WITH_DEBUG_FUNCTIONALITY),no) ADDITIONAL_CFLAGS += -DNDEBUG ADDITIONAL_OBJCFLAGS += -DNDEBUG endif ifeq ($(OO_CHECK_GL_HEAVY),yes) ADDITIONAL_CFLAGS += -DOO_CHECK_GL_HEAVY=1 ADDITIONAL_OBJCFLAGS += -DOO_CHECK_GL_HEAVY=1 endif ifeq ($(OO_EXCLUDE_DEBUG_SUPPORT),yes) ADDITIONAL_CFLAGS += -DOO_EXCLUDE_DEBUG_SUPPORT=1 ADDITIONAL_OBJCFLAGS += -DOO_EXCLUDE_DEBUG_SUPPORT=1 endif ifeq ($(OO_OXP_VERIFIER_ENABLED),yes) ADDITIONAL_CFLAGS += -DOO_OXP_VERIFIER_ENABLED=1 ADDITIONAL_OBJCFLAGS += -DOO_OXP_VERIFIER_ENABLED=1 endif ifeq ($(OO_LOCALIZATION_TOOLS),yes) ADDITIONAL_CFLAGS += -DOO_LOCALIZATION_TOOLS=1 ADDITIONAL_OBJCFLAGS += -DOO_LOCALIZATION_TOOLS=1 endif ifeq ($(DEBUG_GRAPHVIZ),yes) ADDITIONAL_CFLAGS += -DDEBUG_GRAPHVIZ=1 ADDITIONAL_OBJCFLAGS += -DDEBUG_GRAPHVIZ=1 endif endif ifeq ($(SNAPSHOT_BUILD), yes) ADDITIONAL_CFLAGS += -DSNAPSHOT_BUILD -DOOLITE_SNAPSHOT_VERSION=\"$(VERSION_STRING)\" ADDITIONAL_OBJCFLAGS += -DSNAPSHOT_BUILD -DOOLITE_SNAPSHOT_VERSION=\"$(VERSION_STRING)\" endif OBJC_PROGRAM_NAME = oolite oolite_C_FILES = \ legacy_random.c \ strlcpy.c \ OOTCPStreamDecoder.c \ OOPlanetData.c OOLITE_DEBUG_FILES = \ OODebugMonitor.m \ OODebugSupport.m \ OODebugTCPConsoleClient.m \ OOJSConsole.m \ OOProfilingStopwatch.m \ OOTCPStreamDecoderAbstractionLayer.m OOLITE_ENTITY_FILES = \ DockEntity.m \ DustEntity.m \ Entity.m \ OOEntityWithDrawable.m \ OOParticleSystem.m \ PlanetEntity.m \ PlayerEntity.m \ PlayerEntityContracts.m \ PlayerEntityControls.m \ PlayerEntityLegacyScriptEngine.m \ PlayerEntityLoadSave.m \ PlayerEntityScriptMethods.m \ PlayerEntitySound.m \ PlayerEntityStickMapper.m \ ProxyPlayerEntity.m \ OOBreakPatternEntity.m \ ShipEntity.m \ ShipEntityAI.m \ ShipEntityScriptMethods.m \ SkyEntity.m \ StationEntity.m \ OOSunEntity.m \ WormholeEntity.m \ OOLightParticleEntity.m \ OOFlasherEntity.m \ OOExhaustPlumeEntity.m \ OOSparkEntity.m \ OOECMBlastEntity.m \ OOPlanetEntity.m \ OOPlasmaShotEntity.m \ OOPlasmaBurstEntity.m \ OOFlashEffectEntity.m \ OOExplosionCloudEntity.m \ ShipEntityLoadRestore.m \ OOLaserShotEntity.m \ OOQuiriumCascadeEntity.m \ OORingEffectEntity.m \ OOVisualEffectEntity.m OOLITE_GRAPHICS_DRAWABLE_FILES = \ OODrawable.m \ OOPlanetDrawable.m \ OOMesh.m OOLITE_GRAPHICS_MATERIAL_FILES = \ OOMaterialSpecifier.m \ OOBasicMaterial.m \ OODefaultShaderSynthesizer.m \ OOMaterial.m \ OONullTexture.m \ OOPlanetTextureGenerator.m \ OOPNGTextureLoader.m \ OOShaderMaterial.m \ OOShaderProgram.m \ OOShaderUniform.m \ OOShaderUniformMethodType.m \ OOSingleTextureMaterial.m \ OOTexture.m \ OOConcreteTexture.m \ OOTextureGenerator.m \ OOTextureLoader.m \ OOPixMap.m \ OOTextureScaling.m \ OOPixMapChannelOperations.m \ OOMultiTextureMaterial.m \ OOMaterialConvenienceCreators.m \ OOCombinedEmissionMapGenerator.m \ OOPixMapTextureLoader.m OOLITE_GRAPHICS_MISC_FILES = \ OOCrosshairs.m \ OODebugGLDrawing.m \ OOGraphicsResetManager.m \ OOOpenGL.m \ OOOpenGLStateManager.m \ OOOpenGLExtensionManager.m \ OOProbabilisticTextureManager.m \ OOSkyDrawable.m \ OOTextureSprite.m \ OOPolygonSprite.m \ OOConvertCubeMapToLatLong.m OOLITE_MATHS_FILES = \ CollisionRegion.m \ OOMeshToOctreeConverter.m \ Octree.m \ OOHPVector.m \ OOMatrix.m \ OOQuaternion.m \ OOVector.m \ OOVoxel.m OOLITE_OXP_VERIFIER_FILES = \ OOAIStateMachineVerifierStage.m \ OOCheckDemoShipsPListVerifierStage.m \ OOCheckEquipmentPListVerifierStage.m \ OOCheckRequiresPListVerifierStage.m \ OOCheckShipDataPListVerifierStage.m \ OOFileScannerVerifierStage.m \ OOModelVerifierStage.m \ OOOXPVerifier.m \ OOOXPVerifierStage.m \ OOPListSchemaVerifier.m \ OOTextureVerifierStage.m OOLITE_RSRC_MGMT_FILES = \ OldSchoolPropertyListWriting.m \ OOCache.m \ OOCacheManager.m \ OOConvertSystemDescriptions.m \ OOPListParsing.m \ ResourceManager.m \ TextureStore.m OOLITE_SCRIPTING_FILES = \ EntityOOJavaScriptExtensions.m \ OOJavaScriptEngine.m \ OOJSEngineTimeManagement.m \ OOJSEngineDebuggerHelpers.m \ OOConstToJSString.m \ OOJSCall.m \ OOJSClock.m \ OOJSDock.m \ OOJSEntity.m \ OOJSEquipmentInfo.m \ OOJSFunction.m \ OOJSGlobal.m \ OOJSInterfaceDefinition.m \ OOJSManifest.m \ OOJSMission.m \ OOJSMissionVariables.m \ OOJSOolite.m \ OOJSPlanet.m \ OOJSPlayer.m \ OOJSPlayerShip.m \ OOJSPopulatorDefinition.m \ OOJSQuaternion.m \ OOJSScript.m \ OOJSShip.m \ OOJSShipGroup.m \ OOJSSound.m \ OOJSSoundSource.m \ OOJSSpecialFunctions.m \ OOJSStation.m \ OOJSSun.m \ OOJSSystem.m \ OOJSSystemInfo.m \ OOJSTimer.m \ OOJSVisualEffect.m \ OOJSVector.m \ OOJSWorldScripts.m \ OOJSWormhole.m \ OOLegacyScriptWhitelist.m \ OOPListScript.m \ OOScript.m \ OOScriptTimer.m \ OOJSFrameCallbacks.m \ OOJSFont.m OOLITE_SOUND_FILES = \ OOBasicSoundReferencePoint.m \ OOMusicController.m \ OOSDLConcreteSound.m \ OOSDLSound.m \ OOSDLSoundChannel.m \ OOSDLSoundMixer.m \ OOSoundSource.m \ OOSoundSourcePool.m \ SDLMusic.m OOLITE_UI_FILES = \ GuiDisplayGen.m \ HeadUpDisplay.m \ OOEncodingConverter.m OO_UTILITY_FILES = \ Comparison.m \ NSDictionaryOOExtensions.m \ NSFileManagerOOExtensions.m \ NSMutableDictionaryOOExtensions.m \ NSScannerOOExtensions.m \ NSStringOOExtensions.m \ NSThreadOOExtensions.m \ NSNumberOOExtensions.m \ OOAsyncQueue.m \ OOAsyncWorkManager.m \ OOCollectionExtractors.m \ OOColor.m \ OOConstToString.m \ OOCPUInfo.m \ OOEntityFilterPredicate.m \ OOExcludeObjectEnumerator.m \ OOFilteringEnumerator.m \ OOIsNumberLiteral.m \ OOLogging.m \ OOLogHeader.m \ OOLogOutputHandler.m \ OOPriorityQueue.m \ OOProbabilitySet.m \ OOShipGroup.m \ OOStringExpander.m \ OOStringParsing.m \ OOWeakReference.m \ OOWeakSet.m \ OOXMLExtensions.m \ OODeepCopy.m \ OORegExpMatcher.m \ NSObjectOOExtensions.m OOLITE_MISC_FILES = \ AI.m \ AIGraphViz.m \ GameController.m \ GameController+SDLFullScreen.m \ OOJoystickManager.m \ OOSDLJoystickManager.m \ main.m \ MyOpenGLView.m \ OOCharacter.m \ OOCocoa.m \ OOEquipmentType.m \ OOMouseInteractionMode.m \ OORoleSet.m \ OOShipRegistry.m \ OOSpatialReference.m \ OOTrumble.m \ Universe.m oolite_OBJC_FILES = \ $(OOLITE_DEBUG_FILES) \ $(OOLITE_ENTITY_FILES) \ $(OOLITE_GRAPHICS_DRAWABLE_FILES) \ $(OOLITE_GRAPHICS_MATERIAL_FILES) \ $(OOLITE_GRAPHICS_MISC_FILES) \ $(OOLITE_MATHS_FILES) \ $(OOLITE_OXP_VERIFIER_FILES) \ $(OOLITE_RSRC_MGMT_FILES) \ $(OOLITE_SCRIPTING_FILES) \ $(OOLITE_SOUND_FILES) \ $(OOLITE_UI_FILES) \ $(OO_UTILITY_FILES) \ $(OOLITE_MISC_FILES) include $(GNUSTEP_MAKEFILES)/objc.make include GNUmakefile.postamble