* Revamped build system - should make it a lot easier for people to build the sources and create packages
** Use "make -f Makefile help" to see a list of targets ** Updated Windows NSIS Packager rules ** Minor Tweaks to Debian rules * Updated SpiderMonkey from 1.7 pre-release to 1.7 (minor changes only) ** Supplied new js32.dll for Windows (built with MSVC) git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1857 127b21dd-08f5-0310-b4b7-95ae10353056master
parent
dd1ac56784
commit
ceb2b2e302
72
GNUmakefile
72
GNUmakefile
|
@ -1,32 +1,40 @@
|
|||
include $(GNUSTEP_MAKEFILES)/common.make
|
||||
CP = cp
|
||||
BUILD_WITH_DEBUG_FUNCTIONALITY = yes
|
||||
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)
|
||||
ADDITIONAL_INCLUDE_DIRS = -Ideps/Windows-x86-deps/include -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug
|
||||
ADDITIONAL_OBJC_LIBS = -lglu32 -lopengl32 -lpng13 -lmingw32 -lSDLmain -lSDL -lSDL_mixer -lgnustep-base -ljs32
|
||||
ADDITIONAL_CFLAGS = -DWIN32 -DDOCKING_CLEARANCE_ENABLED -DNEED_STRLCPY `sdl-config --cflags`
|
||||
# note the vpath stuff above isn't working for me, so adding src/SDL and src/Core explicitly
|
||||
ADDITIONAL_OBJCFLAGS = -DLOADSAVEGUI -DWIN32 -DXP_WIN -DDOCKING_CLEARANCE_ENABLED -Wno-import `sdl-config --cflags`
|
||||
ifeq ($(BUILD_WITH_DEBUG_FUNCTIONALITY),no)
|
||||
ADDITIONAL_CFLAGS += -DNDEBUG
|
||||
ADDITIONAL_OBJCFLAGS += -DNDEBUG
|
||||
endif
|
||||
oolite_LIB_DIRS += -L/usr/local/lib -L$(GNUSTEP_LOCAL_ROOT)/lib -Ldeps/Windows-x86-deps/lib
|
||||
else
|
||||
ADDITIONAL_INCLUDE_DIRS = -Ideps/Cross-platform-deps/SpiderMonkey/js/src -Ideps/Cross-platform-deps/SpiderMonkey/js/src/Linux_All_DBG.OBJ -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug
|
||||
ADDITIONAL_OBJC_LIBS = -lpng -ljs -lGLU -lGL -lSDL -lpthread -lSDL_mixer -lgnustep-base
|
||||
ADDITIONAL_CFLAGS = -DLINUX -DDOCKING_CLEARANCE_ENABLED -DNEED_STRLCPY `sdl-config --cflags`
|
||||
ADDITIONAL_OBJCFLAGS = -std=c99 -DLOADSAVEGUI -DLINUX -DDOCKING_CLEARANCE_ENABLED -DXP_UNIX -Wno-import `sdl-config --cflags`
|
||||
oolite_LIB_DIRS += -Ldeps/Cross-platform-deps/SpiderMonkey/js/src/Linux_All_DBG.OBJ -L/usr/X11R6/lib/
|
||||
endif
|
||||
OBJC_PROGRAM_NAME = oolite
|
||||
|
||||
oolite_C_FILES = legacy_random.c strlcpy.c OOTCPStreamDecoder.c
|
||||
oolite_OBJC_FILES = OOCocoa.m Comparison.m AI.m DustEntity.m Entity.m GameController.m GuiDisplayGen.m HeadUpDisplay.m main.m MyOpenGLView.m OpenGLSprite.m ParticleEntity.m PlanetEntity.m PlayerEntityLegacyScriptEngine.m PlayerEntityContracts.m PlayerEntityControls.m PlayerEntityLoadSave.m PlayerEntitySound.m PlayerEntity.m ResourceManager.m RingEntity.m ShipEntityAI.m ShipEntity.m SkyEntity.m StationEntity.m Universe.m NSFileManagerOOExtensions.m JoystickHandler.m PlayerEntityStickMapper.m OOCharacter.m OOTrumble.m WormholeEntity.m NSScannerOOExtensions.m OOXMLExtensions.m NSMutableDictionaryOOExtensions.m Geometry.m Octree.m CollisionRegion.m OOColor.m OOLogging.m OOCacheManager.m OOCache.m OOStringParsing.m OOCollectionExtractors.m OOVector.m OOMatrix.m OOQuaternion.m OOVoxel.m OOTriangle.m OOPListParsing.m OOFastArithmetic.m OOTextureScaling.m OOConstToString.m OOScript.m OOJSScript.m OOJavaScriptEngine.m OOPListScript.m NSStringOOExtensions.m PlayerEntityScriptMethods.m OOWeakReference.m OOJSEntity.m EntityOOJavaScriptExtensions.m OOJSQuaternion.m OOMaterial.m OOShaderMaterial.m OOShaderProgram.m OOShaderUniform.m OOTexture.m OONullTexture.m OOTextureLoader.m OOPNGTextureLoader.m OOOpenGLExtensionManager.m OOBasicMaterial.m OOSingleTextureMaterial.m OOCPUInfo.m OOSelfDrawingEntity.m OOEntityWithDrawable.m OODrawable.m OOJSVector.m OOMesh.m OOOpenGL.m OOGraphicsResetManager.m OOProbabilisticTextureManager.m OODebugGLDrawing.m OOShaderUniformMethodType.m OOAsyncQueue.m TextureStore.m OOOXPVerifier.m OOOXPVerifierStage.m OOFileScannerVerifierStage.m OOCheckRequiresPListVerifierStage.m OOCheckDemoShipsPListVerifierStage.m OOCheckEquipmentPListVerifierStage.m OOTextureVerifierStage.m OOModelVerifierStage.m OOCheckShipDataPListVerifierStage.m OOPListSchemaVerifier.m OOJSShip.m OOJSPlayer.m OOJSCall.m OOJSStation.m OOJSSystem.m OOLegacyEventHandlerScript.m OOJSOolite.m OORoleSet.m OOJSGlobal.m OOJSMissionVariables.m OOJSMission.m OOPriorityQueue.m OOScriptTimer.m OOJSTimer.m OOJSClock.m OODebugSupport.m OODebugMonitor.m OOJSConsole.m OODebugTCPConsoleClient.m OOTCPStreamDecoderAbstractionLayer.m OOEntityFilterPredicate.m OOJSPlanet.m OOJSWorldScripts.m OOJSSun.m NSThreadOOExtensions.m OOEncodingConverter.m OOJSSound.m OOJSSoundSource.m OOMusicController.m OOLogHeader.m OOJSSpecialFunctions.m OOSpatialReference.m OOSkyDrawable.m OOFilteringEnumerator.m OOSoundSourcePool.m ShipEntityScriptMethods.m OOShipRegistry.m OOProbabilitySet.m OOJSSystemInfo.m NSDictionaryOOExtensions.m OOEquipmentType.m OOCamera.m OOJSPlayerShip.m OOSDLSound.m OOSDLConcreteSound.m OOSoundSource.m OOSDLSoundMixer.m OOSDLSoundChannel.m OOBasicSoundReferencePoint.m SDLMusic.m OOLogOutputHandler.m OOJSEquipmentInfo.m OOIsNumberLiteral.m
|
||||
|
||||
include $(GNUSTEP_MAKEFILES)/objc.make
|
||||
include GNUmakefile.postamble
|
||||
include $(GNUSTEP_MAKEFILES)/common.make
|
||||
CP = cp
|
||||
BUILD_WITH_DEBUG_FUNCTIONALITY = yes
|
||||
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)
|
||||
ADDITIONAL_INCLUDE_DIRS = -Ideps/Windows-x86-deps/include -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug
|
||||
ADDITIONAL_OBJC_LIBS = -lglu32 -lopengl32 -lpng13 -lmingw32 -lSDLmain -lSDL -lSDL_mixer -lgnustep-base -ljs32
|
||||
ADDITIONAL_CFLAGS = -DWIN32 -DDOCKING_CLEARANCE_ENABLED -DNEED_STRLCPY `sdl-config --cflags`
|
||||
# note the vpath stuff above isn't working for me, so adding src/SDL and src/Core explicitly
|
||||
ADDITIONAL_OBJCFLAGS = -DLOADSAVEGUI -DWIN32 -DXP_WIN -DDOCKING_CLEARANCE_ENABLED -Wno-import `sdl-config --cflags`
|
||||
oolite_LIB_DIRS += -L/usr/local/lib -L$(GNUSTEP_LOCAL_ROOT)/lib -Ldeps/Windows-x86-deps/lib
|
||||
else
|
||||
LIBJS_SRC_DIR = deps/Cross-platform-deps/SpiderMonkey/js/src
|
||||
LIBJS_BIN_DIR = $(LIBJS_SRC_DIR)/Linux_All_OPT.OBJ
|
||||
ADDITIONAL_INCLUDE_DIRS = -I$(LIBJS_SRC_DIR) -I$(LIBJS_BIN_DIR) -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug
|
||||
ADDITIONAL_OBJC_LIBS = -lpng $(LIBJS_BIN_DIR)/libjs.a -lGLU -lGL -lSDL -lSDL_mixer -lgnustep-base
|
||||
ADDITIONAL_CFLAGS = -DLINUX -DDOCKING_CLEARANCE_ENABLED -DNEED_STRLCPY `sdl-config --cflags`
|
||||
ADDITIONAL_OBJCFLAGS = -std=c99 -DLOADSAVEGUI -DLINUX -DDOCKING_CLEARANCE_ENABLED -DXP_UNIX -Wno-import `sdl-config --cflags`
|
||||
oolite_LIB_DIRS += -L/usr/X11R6/lib/
|
||||
endif
|
||||
ifeq ($(debug),yes)
|
||||
ADDITIONAL_CFLAGS += -g -O0
|
||||
ADDITIONAL_OBJCFLAGS += -g -O0
|
||||
GNUSTEP_OBJ_DIR_NAME := $(GNUSTEP_OBJ_DIR_NAME).dbg
|
||||
endif
|
||||
ifeq ($(BUILD_WITH_DEBUG_FUNCTIONALITY),no)
|
||||
ADDITIONAL_CFLAGS += -DNDEBUG
|
||||
ADDITIONAL_OBJCFLAGS += -DNDEBUG
|
||||
endif
|
||||
|
||||
OBJC_PROGRAM_NAME = oolite
|
||||
|
||||
oolite_C_FILES = legacy_random.c strlcpy.c OOTCPStreamDecoder.c
|
||||
oolite_OBJC_FILES = OOCocoa.m Comparison.m AI.m DustEntity.m Entity.m GameController.m GuiDisplayGen.m HeadUpDisplay.m main.m MyOpenGLView.m OpenGLSprite.m ParticleEntity.m PlanetEntity.m PlayerEntityLegacyScriptEngine.m PlayerEntityContracts.m PlayerEntityControls.m PlayerEntityLoadSave.m PlayerEntitySound.m PlayerEntity.m ResourceManager.m RingEntity.m ShipEntityAI.m ShipEntity.m SkyEntity.m StationEntity.m Universe.m NSFileManagerOOExtensions.m JoystickHandler.m PlayerEntityStickMapper.m OOCharacter.m OOTrumble.m WormholeEntity.m NSScannerOOExtensions.m OOXMLExtensions.m NSMutableDictionaryOOExtensions.m Geometry.m Octree.m CollisionRegion.m OOColor.m OOLogging.m OOCacheManager.m OOCache.m OOStringParsing.m OOCollectionExtractors.m OOVector.m OOMatrix.m OOQuaternion.m OOVoxel.m OOTriangle.m OOPListParsing.m OOFastArithmetic.m OOTextureScaling.m OOConstToString.m OOScript.m OOJSScript.m OOJavaScriptEngine.m OOPListScript.m NSStringOOExtensions.m PlayerEntityScriptMethods.m OOWeakReference.m OOJSEntity.m EntityOOJavaScriptExtensions.m OOJSQuaternion.m OOMaterial.m OOShaderMaterial.m OOShaderProgram.m OOShaderUniform.m OOTexture.m OONullTexture.m OOTextureLoader.m OOPNGTextureLoader.m OOOpenGLExtensionManager.m OOBasicMaterial.m OOSingleTextureMaterial.m OOCPUInfo.m OOSelfDrawingEntity.m OOEntityWithDrawable.m OODrawable.m OOJSVector.m OOMesh.m OOOpenGL.m OOGraphicsResetManager.m OOProbabilisticTextureManager.m OODebugGLDrawing.m OOShaderUniformMethodType.m OOAsyncQueue.m TextureStore.m OOOXPVerifier.m OOOXPVerifierStage.m OOFileScannerVerifierStage.m OOCheckRequiresPListVerifierStage.m OOCheckDemoShipsPListVerifierStage.m OOCheckEquipmentPListVerifierStage.m OOTextureVerifierStage.m OOModelVerifierStage.m OOCheckShipDataPListVerifierStage.m OOPListSchemaVerifier.m OOJSShip.m OOJSPlayer.m OOJSCall.m OOJSStation.m OOJSSystem.m OOLegacyEventHandlerScript.m OOJSOolite.m OORoleSet.m OOJSGlobal.m OOJSMissionVariables.m OOJSMission.m OOPriorityQueue.m OOScriptTimer.m OOJSTimer.m OOJSClock.m OODebugSupport.m OODebugMonitor.m OOJSConsole.m OODebugTCPConsoleClient.m OOTCPStreamDecoderAbstractionLayer.m OOEntityFilterPredicate.m OOJSPlanet.m OOJSWorldScripts.m OOJSSun.m NSThreadOOExtensions.m OOEncodingConverter.m OOJSSound.m OOJSSoundSource.m OOMusicController.m OOLogHeader.m OOJSSpecialFunctions.m OOSpatialReference.m OOSkyDrawable.m OOFilteringEnumerator.m OOSoundSourcePool.m ShipEntityScriptMethods.m OOShipRegistry.m OOProbabilitySet.m OOJSSystemInfo.m NSDictionaryOOExtensions.m OOEquipmentType.m OOCamera.m OOJSPlayerShip.m OOSDLSound.m OOSDLConcreteSound.m OOSoundSource.m OOSDLSoundMixer.m OOSDLSoundChannel.m OOBasicSoundReferencePoint.m SDLMusic.m OOLogOutputHandler.m OOJSEquipmentInfo.m OOIsNumberLiteral.m
|
||||
|
||||
include $(GNUSTEP_MAKEFILES)/objc.make
|
||||
include GNUmakefile.postamble
|
||||
|
|
|
@ -1,36 +1,33 @@
|
|||
# Oolite-linux
|
||||
# GNUmakefile.postamble: Runs after-compilation scripts.
|
||||
# These copy all the base data files into where oolite expects them
|
||||
# to live (Contents/Resources)
|
||||
#
|
||||
ifeq ($(debug),yes)
|
||||
EXTENSION=debug
|
||||
else
|
||||
EXTENSION=app
|
||||
endif
|
||||
|
||||
ifeq ($(GNUSTEP_HOST_OS),mingw32)
|
||||
BINARY=$(OBJC_PROGRAM_NAME).exe
|
||||
else
|
||||
BINARY=$(OBJC_PROGRAM_NAME)
|
||||
endif
|
||||
|
||||
PROGDIR=$(OBJC_PROGRAM_NAME).$(EXTENSION)
|
||||
GNUSTEP_OW=$(OBJC_PROGRAM_NAME).$(EXTENSION)/Resources/Info-gnustep.plist
|
||||
|
||||
after-all::
|
||||
rm -rf $(PROGDIR)
|
||||
$(MKDIRS) $(PROGDIR)
|
||||
$(MKDIRS) $(PROGDIR)/Resources
|
||||
$(CP) -r Resources $(PROGDIR)
|
||||
$(CP) -r Schemata $(PROGDIR)/Resources
|
||||
$(CP) src/Cocoa/Info-Oolite.plist $(GNUSTEP_OW)
|
||||
if test -d obj; then \
|
||||
$(CP) obj/$(BINARY) $(PROGDIR); \
|
||||
else \
|
||||
if test -d shared_debug_obj; then \
|
||||
$(CP) shared_debug_obj/$(BINARY) $(PROGDIR); \
|
||||
else \
|
||||
$(CP) shared_obj/$(BINARY) $(PROGDIR); \
|
||||
fi; \
|
||||
fi;
|
||||
# Oolite-linux
|
||||
# GNUmakefile.postamble: Runs after-compilation scripts.
|
||||
# These copy all the base data files into where oolite expects them
|
||||
# to live (Contents/Resources)
|
||||
#
|
||||
ifeq ($(debug),yes)
|
||||
EXT=.dbg
|
||||
endif
|
||||
|
||||
ifeq ($(GNUSTEP_HOST_OS),mingw32)
|
||||
OS_EXT=.exe
|
||||
endif
|
||||
SRC_BIN=$(OBJC_PROGRAM_NAME)$(OS_EXT)
|
||||
DEST_BIN=$(OBJC_PROGRAM_NAME)$(EXT)$(OS_EXT)
|
||||
|
||||
PROGDIR=$(OBJC_PROGRAM_NAME).app
|
||||
|
||||
after-all::
|
||||
$(MKDIRS) $(PROGDIR)
|
||||
$(MKDIRS) $(PROGDIR)/Resources
|
||||
$(CP) -r -u -f Resources $(PROGDIR)
|
||||
$(CP) -r -u -f Schemata $(PROGDIR)/Resources
|
||||
$(CP) -u -f src/Cocoa/Info-Oolite.plist $(PROGDIR)/Resources/Info-gnustep.plist
|
||||
$(CP) -u -f $(GNUSTEP_OBJ_DIR_NAME)/$(SRC_BIN) $(PROGDIR)/$(DEST_BIN)
|
||||
ifeq ($(debug),no)
|
||||
strip $(PROGDIR)/$(DEST_BIN)
|
||||
endif
|
||||
ifeq ($(GNUSTEP_HOST_OS),mingw32)
|
||||
$(CP) -r -u -f deps/Windows-x86-deps/DLLs/*.dll $(PROGDIR)
|
||||
endif
|
||||
|
||||
after-clean::
|
||||
rm -rf $(GNUSTEP_OBJ_DIR_NAME)
|
||||
|
|
|
@ -0,0 +1,73 @@
|
|||
LIBJS_SRC_DIR=deps/Cross-platform-deps/SpiderMonkey/js/src
|
||||
|
||||
ifeq ($(GNUSTEP_HOST_OS),mingw32)
|
||||
LIBJS=deps/Windows-x86-deps/DLLs/js32.dll
|
||||
endif
|
||||
ifeq ($(GNUSTEP_HOST_OS),linux-gnu)
|
||||
# Set up GNU make environment
|
||||
GNUSTEP_MAKEFILES=/usr/share/GNUstep/Makefiles
|
||||
# These are the paths for our custom-built Javascript library
|
||||
LIBJS_INC_DIR=$(LIBJS_SRC_DIR)
|
||||
LIBJS_BIN_DIR=$(LIBJS_SRC_DIR)/Linux_All_OPT.OBJ
|
||||
LIBJS=$(LIBJS_BIN_DIR)/libjs.a
|
||||
endif
|
||||
|
||||
DEPS=$(LIBJS)
|
||||
|
||||
# Here are our default targets
|
||||
#
|
||||
release: $(DEPS)
|
||||
make -f GNUmakefile debug=no
|
||||
|
||||
debug: $(DEPS)
|
||||
make -f GNUmakefile debug=yes
|
||||
|
||||
$(LIBJS):
|
||||
ifeq ($(GNUSTEP_HOST_OS),mingw32)
|
||||
@echo "ERROR - this Makefile can't (yet) build the Javascript DLL"
|
||||
@echo " Please build it yourself and copy it to $(LIBJS)."
|
||||
false
|
||||
endif
|
||||
make -C $(LIBJS_SRC_DIR) -f Makefile.ref BUILD_OPT=1
|
||||
|
||||
clean:
|
||||
ifneq ($(GNUSTEP_HOST_OS),mingw32)
|
||||
make -C $(LIBJS_SRC_DIR)/editline -f Makefile.ref clobber
|
||||
make -C $(LIBJS_SRC_DIR) -f Makefile.ref clobber
|
||||
find $(LIBJS_SRC_DIR) -name "Linux_All_*.OBJ" | xargs rm -Rf
|
||||
endif
|
||||
make -f GNUmakefile clean
|
||||
rm -Rf obj obj.dbg oolite.app
|
||||
|
||||
all: release debug
|
||||
|
||||
remake: clean all
|
||||
|
||||
# Here are our Debian packager targets
|
||||
#
|
||||
pkg-deb:
|
||||
debuild binary
|
||||
|
||||
pkg-debclean:
|
||||
debuild clean
|
||||
|
||||
# And here are our Windows packager targets
|
||||
#
|
||||
NSIS="C:\Program Files\NSIS\makensis.exe"
|
||||
NSIS_ARGS=-V1 -DVER=1.73-dev
|
||||
pkg-win: release
|
||||
$(NSIS) $(NSIS_ARGS) installers/win32/OOlite.nsi
|
||||
|
||||
help:
|
||||
@echo "Use this Makefile to build Oolite:"
|
||||
@echo " release - builds a release executable in oolite.app/oolite"
|
||||
@echo " debug - builds a debug executable in oolite.app/oolite.dbg"
|
||||
@echo " all - builds the above two targets"
|
||||
@echo " clean - removes all generated files"
|
||||
@echo
|
||||
@echo " pkg-deb - builds a Debian package"
|
||||
@echo " pkg-debclean - cleans up after a Debian package build"
|
||||
@echo
|
||||
@echo " pkg-win - builds a Windows NSIS installer package"
|
||||
|
||||
.PHONY: all release debug clean remake pkg-deb pkg-debclean pkg-win help
|
|
@ -1,5 +1,2 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
mkdir -p ~/.Oolite
|
||||
cd ~/.Oolite
|
||||
openapp oolite
|
||||
#!/bin/sh
|
||||
openapp oolite &
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
oolite.app/oolite usr/lib/GNUstep/Applications/oolite.app
|
||||
oolite.app/Resources/Info-gnustep.plist usr/lib/GNUstep/Applications/oolite.app/Resources
|
||||
debian/extra/DTDs usr/lib/GNUstep/Library
|
||||
deps/Cross-platform-deps/DTDs usr/lib/GNUstep/Library
|
||||
debian/extra/games/oolite /usr/games
|
||||
FreeDesktop/oolite.desktop usr/share/applications
|
||||
FreeDesktop/oolite-icon.png usr/share/icons
|
||||
|
|
|
@ -34,8 +34,8 @@ unpatch:
|
|||
build: patch build-stamp
|
||||
build-stamp:
|
||||
dh_testdir
|
||||
$(MAKE) -C $(JS_SRC)/fdlibm -f Makefile.ref
|
||||
$(MAKE) -C $(JS_SRC) -f Makefile.ref
|
||||
$(MAKE) -C $(JS_SRC)/fdlibm -f Makefile.ref BUILD_OPT=1
|
||||
$(MAKE) -C $(JS_SRC) -f Makefile.ref BUILD_OPT=1
|
||||
$(GSMAKE)
|
||||
touch $@
|
||||
|
||||
|
@ -48,7 +48,7 @@ clean-stamp:
|
|||
$(MAKE) -C $(JS_SRC) -f Makefile.ref clean
|
||||
rm -rf oolite.app oolite.debug
|
||||
rm -f http+_www.apple.com_DTDs_PropertyList-1.0.dtd
|
||||
find $(JS_SRC) -name Linux_All_DBG.OBJ | xargs -r rm -rf
|
||||
find $(JS_SRC) -name Linux_All_OPT.OBJ | xargs -r rm -rf
|
||||
dh_clean
|
||||
|
||||
install: build
|
||||
|
|
|
@ -1,12 +1,19 @@
|
|||
!packhdr "Oolite.dat" "upx.exe --best Oolite.dat"
|
||||
!ifndef VER
|
||||
!error "VER not defined."
|
||||
!endif
|
||||
!ifndef DST
|
||||
!define DST ..\..\oolite.app
|
||||
!endif
|
||||
|
||||
;!packhdr "Oolite.dat" "upx.exe --best Oolite.dat"
|
||||
SetCompress auto
|
||||
SetCompressor LZMA
|
||||
SetCompressorDictSize 32
|
||||
SetDatablockOptimize on
|
||||
OutFile "OoliteInstall-$%VER%.exe"
|
||||
OutFile "..\..\..\OoliteInstall-${VER}.exe"
|
||||
BrandingText "Oolite"
|
||||
Name "Oolite"
|
||||
Caption "Oolite $%VER%"
|
||||
Caption "Oolite ${VER}"
|
||||
SubCaption 0 " "
|
||||
SubCaption 1 " "
|
||||
SubCaption 2 " "
|
||||
|
@ -29,83 +36,73 @@ FunctionEnd
|
|||
Function un.RegSetup
|
||||
FunctionEnd
|
||||
|
||||
;------------------------------------------------------------
|
||||
; Installation Section
|
||||
Section ""
|
||||
SetOutPath $INSTDIR
|
||||
|
||||
; Package files
|
||||
CreateDirectory "$INSTDIR\AddOns"
|
||||
CreateDirectory "$INSTDIR\GNUstep\Library\DTDs"
|
||||
|
||||
File "Oolite.ico"
|
||||
File "RunOolite.bat"
|
||||
File "Oolite_Readme.txt"
|
||||
File "OoliteRS.pdf"
|
||||
File /r /x .svn /x *~ "${DST}"
|
||||
|
||||
SetOutPath $INSTDIR\GNUstep\Library\DTDs
|
||||
File /r /x .svn /x *~ "..\..\deps\Cross-platform-deps\DTDs\*.*"
|
||||
|
||||
WriteRegStr HKLM Software\Oolite "Install_Dir" "$INSTDIR"
|
||||
WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Oolite DisplayName "Oolite Package"
|
||||
WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Oolite UninstallString '"$INSTDIR\UninstOolite.exe"'
|
||||
WriteUninstaller "$INSTDIR\UninstOolite.exe"
|
||||
|
||||
; Registry entries
|
||||
WriteRegStr HKLM Software\Oolite "Install_Dir" "$INSTDIR"
|
||||
WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Oolite DisplayName "Oolite ${VER}"
|
||||
WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Oolite UninstallString '"$INSTDIR\UninstOolite.exe"'
|
||||
|
||||
; Start Menu shortcuts
|
||||
SetOutPath $INSTDIR
|
||||
CreateDirectory "$SMPROGRAMS\Oolite"
|
||||
CreateShortCut "$SMPROGRAMS\Oolite\Oolite.lnk" "$INSTDIR\RunOolite.bat" "" "$INSTDIR\Oolite.ico"
|
||||
CreateShortCut "$SMPROGRAMS\Oolite\Oolite ReadMe.lnk" "$INSTDIR\Oolite_Readme.txt"
|
||||
CreateShortCut "$SMPROGRAMS\Oolite\Oolite reference sheet.lnk" "$INSTDIR\OoliteRS.pdf"
|
||||
CreateShortCut "$SMPROGRAMS\Oolite\Oolite website.lnk" "http://Oolite.aegidian.org/"
|
||||
CreateShortCut "$SMPROGRAMS\Oolite\Oolite Reference Sheet.lnk" "$INSTDIR\OoliteRS.pdf"
|
||||
CreateShortCut "$SMPROGRAMS\Oolite\Oolite Website.lnk" "http://Oolite.aegidian.org/"
|
||||
CreateShortCut "$SMPROGRAMS\Oolite\Oolite Uninstall.lnk" "$INSTDIR\UninstOolite.exe"
|
||||
|
||||
File "Oolite.ico"
|
||||
File /r "$%DST%\*.*"
|
||||
|
||||
Call RegSetup
|
||||
|
||||
ClearErrors
|
||||
FileOpen $0 $INSTDIR\RunOolite.bat w
|
||||
IfErrors doneWriting
|
||||
|
||||
FileWrite $0 "@echo off"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
|
||||
FileWrite $0 "set GNUSTEP_PATH_HANDLING=windows"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
|
||||
FileWrite $0 "set GNUSTEP_LOCAL_ROOT=$INSTDIR\oolite.app"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
|
||||
FileWrite $0 "set GNUSTEP_NETWORK_ROOT=$INSTDIR\oolite.app"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
|
||||
FileWrite $0 "set GNUSTEP_SYSTEM_ROOT=$INSTDIR\oolite.app"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
|
||||
FileWrite $0 "set HOMEPATH=$INSTDIR\oolite.app"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
|
||||
FileWrite $0 "oolite.app\oolite.exe"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
|
||||
FileClose $0
|
||||
doneWriting:
|
||||
|
||||
Exec "notepad.exe $INSTDIR/Oolite_Readme.txt"
|
||||
Exec "notepad.exe $INSTDIR\Oolite_Readme.txt"
|
||||
|
||||
SectionEnd
|
||||
|
||||
;------------------------------------------------------------
|
||||
; Uninstaller Section
|
||||
Section "Uninstall"
|
||||
|
||||
; Remove registry entries
|
||||
DeleteRegKey HKLM Software\Oolite
|
||||
DeleteRegKey HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Oolite
|
||||
Call un.RegSetup
|
||||
|
||||
RMDir /r "$INSTDIR\oolite.app\Contents"
|
||||
RMDir /r "$INSTDIR\oolite.app\GNUstep"
|
||||
RMDir /r "$INSTDIR\oolite.app\Library"
|
||||
RMDir /r "$INSTDIR\oolite.app\GNUstep"
|
||||
RMDir /r "$INSTDIR\oolite.app\oolite.app"
|
||||
RMDir /r "$INSTDIR\oolite.app\Resources"
|
||||
RMDir /r "$INSTDIR\oolite.app\share"
|
||||
Delete "$INSTDIR\*.*"
|
||||
Delete "$INSTDIR\oolite.app\*.*"
|
||||
|
||||
; Remove Start Menu entries
|
||||
RMDir /r "$SMPROGRAMS\Oolite"
|
||||
|
||||
; Remove Package files (but leave any generated content behind)
|
||||
RMDir /r "$INSTDIR\oolite.app"
|
||||
RMDir /r "$INSTDIR\Logs"
|
||||
RMDir /r "$INSTDIR\GNUstep\Library\DTDs"
|
||||
Delete "$INSTDIR\GNUstep\Library\Caches\Oolite-cache.plist"
|
||||
RMDir "$INSTDIR\GNUstep\Library\Caches"
|
||||
RMDir "$INSTDIR\GNUstep\Library"
|
||||
RMDir "$INSTDIR\GNUstep"
|
||||
RMDir "$INSTDIR\AddOns"
|
||||
Delete "$INSTDIR\Oolite.ico"
|
||||
Delete "$INSTDIR\RunOolite.bat"
|
||||
Delete "$INSTDIR\Oolite_Readme.txt"
|
||||
Delete "$INSTDIR\OoliteRS.pdf"
|
||||
Delete "$INSTDIR\UninstOolite.exe"
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
SectionEnd
|
||||
|
||||
|
|
|
@ -1,12 +1,22 @@
|
|||
!ifndef VER
|
||||
!error "VER not defined."
|
||||
!endif
|
||||
!ifndef SVNVER
|
||||
!error "SVNVER not defined."
|
||||
!endif
|
||||
!ifndef DST
|
||||
!define DST ..\..\oolite.app
|
||||
!endif
|
||||
|
||||
;!packhdr "Oolite.dat" "upx.exe --best Oolite.dat"
|
||||
SetCompress auto
|
||||
SetCompressor LZMA
|
||||
SetCompressorDictSize 32
|
||||
SetDatablockOptimize on
|
||||
AddBrandingImage top 57
|
||||
OutFile "OoliteInstall-r$%SVNREV%.exe"
|
||||
BrandingText "Oolite"
|
||||
OutFile "..\..\..\OoliteInstall-v${VER}-r${SVNREV}.exe"
|
||||
Name "Oolite"
|
||||
Caption "Oolite v$%VER% SVN Revision $%SVNREV% Installer"
|
||||
Caption "Oolite v${VER} SVN Revision ${SVNREV} Installer"
|
||||
SubCaption 0 " "
|
||||
SubCaption 1 " "
|
||||
SubCaption 2 " "
|
||||
|
@ -51,81 +61,73 @@ FunctionEnd
|
|||
Function un.RegSetup
|
||||
FunctionEnd
|
||||
|
||||
;------------------------------------------------------------
|
||||
; Installation Section
|
||||
Section ""
|
||||
SetOutPath $INSTDIR
|
||||
|
||||
; Package files
|
||||
CreateDirectory "$INSTDIR\AddOns"
|
||||
CreateDirectory "$INSTDIR\GNUstep\Library\DTDs"
|
||||
|
||||
File "Oolite.ico"
|
||||
File "RunOolite.bat"
|
||||
File "Oolite_Readme.txt"
|
||||
File "OoliteRS.pdf"
|
||||
File /r /x .svn /x *~ "${DST}"
|
||||
|
||||
SetOutPath $INSTDIR\GNUstep\Library\DTDs
|
||||
File /r /x .svn /x *~ "..\..\deps\Cross-platform-deps\DTDs\*.*"
|
||||
|
||||
WriteRegStr HKLM Software\Oolite "Install_Dir" "$INSTDIR"
|
||||
WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Oolite DisplayName "Oolite Package"
|
||||
WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Oolite UninstallString '"$INSTDIR\UninstOolite.exe"'
|
||||
WriteUninstaller "$INSTDIR\UninstOolite.exe"
|
||||
|
||||
; Registry entries
|
||||
WriteRegStr HKLM Software\Oolite "Install_Dir" "$INSTDIR"
|
||||
WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Oolite DisplayName "Oolite ${VER}.r${SVNREV}"
|
||||
WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Oolite UninstallString '"$INSTDIR\UninstOolite.exe"'
|
||||
|
||||
; Start Menu shortcuts
|
||||
SetOutPath $INSTDIR
|
||||
CreateDirectory "$SMPROGRAMS\Oolite"
|
||||
CreateShortCut "$SMPROGRAMS\Oolite\Oolite.lnk" "$INSTDIR\RunOolite.bat" "" "$INSTDIR\Oolite.ico"
|
||||
CreateShortCut "$SMPROGRAMS\Oolite\Oolite ReadMe.lnk" "$INSTDIR\Oolite_Readme.txt"
|
||||
CreateShortCut "$SMPROGRAMS\Oolite\Oolite reference sheet.lnk" "$INSTDIR\OoliteRS.pdf"
|
||||
CreateShortCut "$SMPROGRAMS\Oolite\Oolite website.lnk" "http://Oolite.aegidian.org/"
|
||||
CreateShortCut "$SMPROGRAMS\Oolite\Oolite Reference Sheet.lnk" "$INSTDIR\OoliteRS.pdf"
|
||||
CreateShortCut "$SMPROGRAMS\Oolite\Oolite Website.lnk" "http://Oolite.aegidian.org/"
|
||||
CreateShortCut "$SMPROGRAMS\Oolite\Oolite Uninstall.lnk" "$INSTDIR\UninstOolite.exe"
|
||||
|
||||
File "Oolite.ico"
|
||||
File /r "$%DST%\*.*"
|
||||
|
||||
Call RegSetup
|
||||
|
||||
ClearErrors
|
||||
FileOpen $0 $INSTDIR\RunOolite.bat w
|
||||
IfErrors doneWriting
|
||||
|
||||
FileWrite $0 "@echo off"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
|
||||
FileWrite $0 "set GNUSTEP_PATH_HANDLING=windows"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
|
||||
FileWrite $0 "set GNUSTEP_LOCAL_ROOT=$INSTDIR\oolite.app"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
|
||||
FileWrite $0 "set GNUSTEP_NETWORK_ROOT=$INSTDIR\oolite.app"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
|
||||
FileWrite $0 "set GNUSTEP_SYSTEM_ROOT=$INSTDIR\oolite.app"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
|
||||
FileWrite $0 "set HOMEPATH=$INSTDIR\oolite.app"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
|
||||
FileWrite $0 "oolite.app\oolite.exe %1 %2 %3 %4"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
|
||||
FileClose $0
|
||||
doneWriting:
|
||||
|
||||
Exec "notepad.exe $INSTDIR/Oolite_Readme.txt"
|
||||
Exec "notepad.exe $INSTDIR\Oolite_Readme.txt"
|
||||
|
||||
SectionEnd
|
||||
|
||||
;------------------------------------------------------------
|
||||
; Uninstaller Section
|
||||
Section "Uninstall"
|
||||
|
||||
; Remove registry entries
|
||||
DeleteRegKey HKLM Software\Oolite
|
||||
DeleteRegKey HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Oolite
|
||||
Call un.RegSetup
|
||||
|
||||
RMDir /r "$INSTDIR\oolite.app\Contents"
|
||||
RMDir /r "$INSTDIR\oolite.app\GNUstep"
|
||||
RMDir /r "$INSTDIR\oolite.app\GNUstep"
|
||||
RMDir /r "$INSTDIR\oolite.app\oolite.app"
|
||||
RMDir /r "$INSTDIR\oolite.app\Resources"
|
||||
RMDir /r "$INSTDIR\oolite.app\share"
|
||||
Delete "$INSTDIR\*.*"
|
||||
Delete "$INSTDIR\oolite.app\*.*"
|
||||
|
||||
; Remove Start Menu entries
|
||||
RMDir /r "$SMPROGRAMS\Oolite"
|
||||
|
||||
; Remove Package files (but leave any generated content behind)
|
||||
RMDir /r "$INSTDIR\oolite.app"
|
||||
RMDir /r "$INSTDIR\Logs"
|
||||
RMDir /r "$INSTDIR\GNUstep\Library\DTDs"
|
||||
Delete "$INSTDIR\GNUstep\Library\Caches\Oolite-cache.plist"
|
||||
RMDir "$INSTDIR\GNUstep\Library\Caches"
|
||||
RMDir "$INSTDIR\GNUstep\Library"
|
||||
RMDir "$INSTDIR\GNUstep"
|
||||
RMDir "$INSTDIR\AddOns"
|
||||
Delete "$INSTDIR\Oolite.ico"
|
||||
Delete "$INSTDIR\RunOolite.bat"
|
||||
Delete "$INSTDIR\Oolite_Readme.txt"
|
||||
Delete "$INSTDIR\OoliteRS.pdf"
|
||||
Delete "$INSTDIR\UninstOolite.exe"
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
SectionEnd
|
||||
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
@echo off
|
||||
set BASE=%~dp0
|
||||
set GNUSTEP_PATH_HANDLING=windows
|
||||
set GNUSTEP_SYSTEM_ROOT=%BASE%
|
||||
set GNUSTEP_LOCAL_ROOT=%BASE%
|
||||
set GNUSTEP_NETWORK_ROOT=%BASE%
|
||||
set GNUSTEP_USERS_ROOT=%BASE%
|
||||
set HOMEPATH=%BASE%
|
||||
"%BASE%\oolite.app\oolite.exe" %1 %2 %3 %4
|
Loading…
Reference in New Issue