Modifed Linux specific portions of the build rules.

Added Ubuntu/Debian build glue.



git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1029 127b21dd-08f5-0310-b4b7-95ae10353056
This commit is contained in:
hikari 2007-06-11 17:24:23 +00:00
parent f66bdbe40e
commit ba1c215ff6
6 changed files with 158 additions and 4 deletions

View File

@ -12,10 +12,10 @@ ifeq ($(GNUSTEP_HOST_OS),mingw32)
ADDITIONAL_OBJCFLAGS = -DLOADSAVEGUI -DLINUX -DWIN32 -DXP_WIN -Wno-import `sdl-config --cflags`
oolite_LIB_DIRS += -L/usr/local/lib -L$(GNUSTEP_LOCAL_ROOT)/lib -Ldeps/Windows-x86-deps/lib
else
ADDITIONAL_INCLUDE_DIRS = -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -I/usr/include/mozjs
ADDITIONAL_OBJC_LIBS = -lGLU -lGL -lSDL -lpthread -lSDL_mixer -lgnustep-base -lmozjs -lpng
ADDITIONAL_CFLAGS = -DLINUX -DNEED_STRLCPY `sdl-config --cflags` -DXP_UNIX
ADDITIONAL_OBJCFLAGS = -DLOADSAVEGUI -DLINUX -Wno-import `sdl-config --cflags`
ADDITIONAL_INCLUDE_DIRS = -I/usr/include/mozjs -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities
ADDITIONAL_OBJC_LIBS = -lpng -lmozjs -lGLU -lGL -lSDL -lpthread -lSDL_mixer -lgnustep-base
ADDITIONAL_CFLAGS = -DLINUX -DNEED_STRLCPY `sdl-config --cflags`
ADDITIONAL_OBJCFLAGS = -DLOADSAVEGUI -DLINUX -DXP_UNIX -Wno-import `sdl-config --cflags`
oolite_LIB_DIRS += -L/usr/X11R6/lib/
endif
OBJC_PROGRAM_NAME = oolite

31
debian/apply-patches vendored Executable file
View File

@ -0,0 +1,31 @@
#!/bin/sh
#
# Quick and dirty patching script.
# Copyright (C) 2007 Chris Crowther <hikari@hikari.org.uk>
#
# $Id$
#
PATCHES="01_oolite.desktop.patch"
FLAGS=""
while getopts ":R" option
do
case $option in
R)
if test -f patch; then
echo "Patches have been applied: reversing."
export FLAGS="$FLAGS -R";
else
echo "Patches have not been applied: not reversing."
exit 0;
fi
;;
esac
done
echo "Using patch flags: $FLAGS"
for PATCH in $PATCHES; do
patch $FLAGS -p0 < debian/patches/$PATCH
done;

4
debian/changelog vendored Normal file
View File

@ -0,0 +1,4 @@
oolite (1.69-1) testing; urgency=low
* Initial creation of debian build rules.
* Fixed missing libpng and libmozjs hooks for the Linux build.
-- Chris Crowther <hikari@hikari.org.uk> Mon, 11 Jun 2007 10:50:06 +0100

29
debian/control vendored Normal file
View File

@ -0,0 +1,29 @@
Source: oolite
Section: games
Priority: optional
Maintainer: Chris Crowther <hikari@hikari.org.uk>
Standards-Version: 3.7.2
Build-Depends: libsdl1.2-dev,libsdl-image1.2-dev,libsdl-mixer1.2-dev,libgnustep-base-dev,gnustep-core-devel,libpng-dev,libmozjs-dev, mesa-common-dev
Package: oolite
Architecture: any
Depends: ${shlibs:Depends},oolite-data
Description: Oolite is a space sim game, inspired by Elite.
Oolite is a space sim game, inspired by Elite, powered by Objective-C
and OpenGL, and designed as a small game that is easy for users to pick
up, modify and expand upon. Almost every aspect of the game can be changed
by using simple, free graphics packages and text-editors.
.
Originally written for Mac OS X, and under continuous development for over
three years. Oolite is available for Mac OS X (10.3.9 and higher), Windows XP
and Linux. It requires at least a 400MHz processor, 256Mb of memory, and a
graphics card capable of accelerating OpenGL graphics.
.
Homepage: Homepage: http://starvoyager.bluesky.me.uk/
Package: oolite-data
Architecture: all
Recommends: oolite
Description: Standard data files for Oolite.
These are packaged separately because they're distributed seaparately; they change
less frequently that the engine.

11
debian/patches/01_oolite.desktop.patch vendored Normal file
View File

@ -0,0 +1,11 @@
--- FreeDesktop/oolite.desktop.orig 2007-06-10 17:22:45.000000000 +0100
+++ FreeDesktop/oolite.desktop 2007-06-10 17:23:27.000000000 +0100
@@ -2,7 +2,7 @@
Encoding=UTF-8
Name=Oolite
Comment=An OpenGL Elite-like space game
-Exec=oolite
+Exec=/usr/lib/GNUstep/Local/Applications/oolite.app/oolite
Icon=oolite-icon.png
Terminal=true
Type=Application

79
debian/rules vendored Executable file
View File

@ -0,0 +1,79 @@
#!/usr/bin/make -f
#
# Ubuntu/Debian build rules file for OOlite
# Copyright (c) 2007 Chris Crowther <hikari@hikari.org.uk>
#
# Based on the exemplar hello project.
#
# $Id$
package=oolite
docdir=debian/tmp/usr/share/doc/$(package)
patch:
debian/apply-patches
touch patch
unpatch:
debian/apply-patches -R
rm -f patch
build: patch
. /usr/lib/GNUstep/System/Tools/GNUstep.sh; $(MAKE)
touch build
clean: unpatch
rm -f build
. /usr/lib/GNUstep/System/Tools/GNUstep.sh; $(MAKE) distclean
rm -rf *~ debian/tmp debian/*~ debian/files* debian/substvars
# Build target for the application binary
binary-indep: checkroot build
rm -rf debian/tmp
install -d debian/tmp/DEBIAN $(docdir)
# Documentation
cp -a debian/changelog $(docdir)/changelog.Debian
cp -a Doc/ $(docdir)
# Application binary
mkdir -p debian/tmp/usr/lib/GNUstep/Local/Applications/oolite.app
cp -a oolite.app/oolite debian/tmp/usr/lib/GNUstep/Local/Applications/oolite.app
mkdir -p debian/tmp/usr/share/applications
cp -a FreeDesktop/oolite.desktop debian/tmp/usr/share/applications
mkdir -p debian/tmp/usr/share/icons
cp -a FreeDesktop/oolite-icon.png debian/tmp/usr/share/icons
# dpkg stuff
dpkg-shlibdeps debian/tmp/usr/lib/GNUstep/Local/Applications/oolite.app/oolite
dpkg-gencontrol -poolite
chown -R root:root debian/tmp
chmod -R u+w,go=rX debian/tmp
dpkg --build debian/tmp ..
# Build target for the data package
data-indep: checkroot build
rm -rf debian/tmp
install -d debian/tmp/DEBIAN $(docdir)-data
# Documentation
cp -a debian/changelog $(docdir)-data/changelog.Debian
cp -a oolite.app/Resources/README.TXT $(docdir)-data
# Application Data
mkdir -p debian/tmp/usr/lib/GNUstep/Local/Applications/oolite.app
cp -a oolite.app/Resources debian/tmp/usr/lib/GNUstep/Local/Applications/oolite.app
# dpkg stuff
dpkg-gencontrol -poolite-data
chown -R root:root debian/tmp
chmod -R u+w,go=rX debian/tmp
dpkg --build debian/tmp ..
binary: binary-indep binary-arch data-indep data-arch
checkroot:
test $$(id -u) = 0
.PHONY: binary binary-arch binary-indep clean checkroot data-indep data-arch