updated documentation
authorCharles McGarvey <chazmcgarvey@brokenzipper.com>
Mon, 23 Nov 2009 20:33:48 +0000 (13:33 -0700)
committerCharles McGarvey <chazmcgarvey@brokenzipper.com>
Mon, 23 Nov 2009 20:33:48 +0000 (13:33 -0700)
COPYING
Makefile.am
README
configure.ac
data/Makefile.am
doc/Makefile.am
extra/Makefile.am [deleted file]
extra/yoink.spec.in [deleted file]
win32/build-installer.sh.in [moved from make-win32-installer.sh.in with 99% similarity]

diff --git a/COPYING b/COPYING
index 50a042449748c0726e62d75b1f7b61d4ee21da86..de839c955c03f4fbfc2612d18e6ecdc4d9f65a94 100644 (file)
--- a/COPYING
+++ b/COPYING
@@ -1,73 +1,72 @@
 
-Excluding certain portions of this software as mentioned in the last section of
-this document, the software packaged and/or distributed alongside this file are
-licensed according to the following terms and conditions:
+Excluding certain portions of this software as mentioned later in this
+document, the software distributed alongside this file are licensed
+according to the following terms and conditions:
 
 The Simplified BSD License
 
-Copyright © 2009, Charles McGarvey
+Copyright (c) 2009, Charles McGarvey 
 All rights reserved.
 
-Redistribution  and  use  in  source  and  binary  forms,  with  or without
+Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 
-1. Redistributions  of  source code must retain the above copyright notice,
+1. Redistributions of source code must retain the above copyright notice,
    this list of conditions and the following disclaimer.
-2. Redistributions  in  binary  form  must  reproduce  the  above copyright
-   notice,  this  list  of  conditions  and the following disclaimer in the
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
 
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND  ANY  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE  DISCLAIMED.  IN  NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE  FOR  ANY  DIRECT,  INDIRECT,  INCIDENTAL,  SPECIAL,  EXEMPLARY,  OR
-CONSEQUENTIAL  DAMAGES  (INCLUDING,  BUT  NOT  LIMITED  TO,  PROCUREMENT OF
-SUBSTITUTE  GOODS  OR  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION)  HOWEVER  CAUSED  AND  ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT,  STRICT  LIABILITY,  OR  TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING  IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.
 
---------------------------------------------------------------------------------
+---------------------------------------------------------------------------
 
-Portions of this software are owned by third parties and licensed under separate
-terms and conditions.  These portions, although packaged together according to
-the distribution rights granted by their own individual licenses, are used and
-provided under their separate terms and conditions and therefore the above
-license can not necessarily be applied to such portions.  Neither do the terms
-and conditions associated with the following portions necessarily apply to the
-files released under the above license.  Please refer to the specific licenses
-used by each of the following portions to understand your rights of use and
-distribution of these portions.
+Portions of this software are owned by third parties and licensed under
+separate terms and conditions.  These portions, although packaged together
+according to the distribution rights granted by their own individual
+licenses, are used and provided under their separate terms and conditions
+and therefore the above license can not necessarily be applied to such
+portions.  Neither do the terms and conditions associated with the
+following portions necessarily apply to the files released under the above
+license.  The texts of applicable licences can be found in doc/licenses/.
 
   Portion: beatthecube.xm, nightfusion.xm
    Source: http://8bitcollective.com/members/FearofDark/
-Copyright: © 2009, Stephen H. Johnston
+Copyright: (c) 2009, Stephen H. Johnston
   License: CCPL-Attribution-ShareAlike-NonCommercial-2.5
 
   Portion: ConvertUTF.{c,h}
    Source: http://www.unicode.org/Public/PROGRAMS/CVTUTF/
-Copyright: © 2000-2004, Unicode, Inc.
+Copyright: (c) 2000-2004, Unicode, Inc.
   License: see file comments
 
   Portion: original image and sound resources
    Source: http://www.nether.org.uk/bad_mac_code.html
-Copyright: © 2003, Neil Carter
+Copyright: (c) 2003, Neil Carter
   License: zlib-libpng
 
   Portion: cml
    Source: http://www.cmldev.net/
-Copyright: © 2009, Jesse Anders
+Copyright: (c) 2009, Jesse Anders
   License: Boost-1.0
 
   Portion: fastevents.{c,h}
    Source: http://www.gameprogrammer.com/fastevents/fastevents1.html
-Copyright: © 2002, Bob Pendleton
+Copyright: (c) 2002, Bob Pendleton
   License: LGPL-2.1
 
   Portion: stlplus
    Source: http://stlplus.sourceforge.net/
-Copyright: © 1999-2004 Southampton University, 2004-2009 Andy Rushton
+Copyright: (c) 1999-2004 Southampton University, 2004-2009 Andy Rushton
   License: BSD
 
index b8f74200619110b574c312cd191ee1300a96fcc0..0df126fe3de89f4329d5f6f4fe4d0ec5786e4ba6 100644 (file)
@@ -1,8 +1,13 @@
 
 ACLOCAL_AMFLAGS = -I m4
 
-SUBDIRS = data doc src extra
+SUBDIRS = data src
+EXTRA_DIST = extra
 
+if WIN32
+else
+       SUBDIRS += doc
+endif
 
 run: all
        $(MAKE) -C src run
@@ -11,33 +16,15 @@ debug: all
        $(MAKE) -C src debug
 
 
-if WIN32
-
-INSTALLER_NAME = yoinksetup-$(VERSION).exe
-
-.PHONY: package
-package: $(INSTALLER_NAME)
+.PHONY: docs package
 
-$(INSTALLER_NAME): all
-       @echo "Creating win32 installer..."
-       @(sh make-win32-installer.sh $(INSTALLER_NAME) 2> installer.log 1>&2 && \
-         rm installer.log && echo "Done.") || \
-       (echo "Installer compilation failed!"; \
-        echo "Check installer.log for details."; exit 1)
+docs:
+       $(DOXYGEN)
 
+if WIN32
+package: all
+       $(MAKE) -C win32 installer
 else
-if LINUX
-
-.PHONY: package
-package: rpm
-
-rpm: dist-bzip2
-       @echo "Creating RPM package..."
-       @($(RPMBUILD) -ba --nodeps extra/yoink.spec 2> rpmbuild.log 1>&2 && \
-               rm rpmbuild.log && echo "Done.") || \
-               (echo "rpmbuild failed!"; \
-               echo "Check rpmbuild.log for details."; exit 1)
-
-endif
+package: dist-bzip2
 endif
 
diff --git a/README b/README
index 3f99fc6cd9839d2414e9f4170ff2fb049fc96f7a..7dba1136d8414e16ee72605864eac17572ab483b 100644 (file)
--- a/README
+++ b/README
@@ -1,18 +1,37 @@
 
-Yoink is a game originally developed by Neil Carter for Mac OS.  You play the
-part of a flying alien heroine who must defend her home on Earth from other
-airborne alien invaders.
+Yoink - The alien-smashing action game
+--------------------------------------
+
+Contents:
+
+I.   Users
+  a)   General information
+  b)   Requirements
+  c)   License
+II.  Developers
+  a)   Notes regarding the code
+  b)   Porting
+III. Packagers
+  a)   The build system
+  b)   Help requested
+
+
+I. Users
+--------
+
+a) General information
+
+Yoink is a game originally developed by Neil Carter for Mac OS.  You play
+the part of a flying alien heroine who must defend her home on Earth from
+other airborne alien invaders.
 
 This version of the game uses all new code and modern frameworks to bring
 this simple, fast-moving action game to a wider audience.
 
-The new code is released under the BSD-2 license.  The old code and original
-resources are provided under the zlib/libpng License.  See COPYING for complete
-details.
-
-Dependencies:
+b) Requirements
 
-boost headers
+boost
+headers
 freealut
 libvorbis
 Lua
@@ -21,14 +40,24 @@ OpenGL
 SDL
 SDL_image (with libpng support)
 
+c) License
+
+The new code is released under the BSD-2 license.  The old code and
+original resources are provided under the zlib/libpng License.  See COPYING
+for complete details.  The full texts of applicable licenses can be found
+in doc/licenses/.
+
 
-Notes regarding the code:
+II. Developer
+-------------
 
-The code is a complete rewrite, containing none of the original code.  I've made
-some effort to put the more generic or reusable code into a separate library
-called Moof.  I've also made an effort to incorporate 3rd-party code that
-happened to fit well into what I needed.  So, generally, the source code is
-separated into these three categories:
+a) Notes regarding the code
+
+The code is a complete rewrite, containing none of the original code.  I've
+made some effort to put the more generic or reusable code into a separate
+library called Moof.  I've also made an effort to incorporate 3rd-party
+code that happened to fit well into what I needed.  So, generally, the
+source code is separated into these three categories:
 
 1. Yoink-specific code.
 
@@ -37,13 +66,39 @@ This is the code directly in src/.  These classes reside in no namespace.
 2. Reusable code.
 
 Currently, the code is in src/Moof/, and it is compiled as a convenience
-library.  These classes and other helper functions reside in the Mf namespace.
-Since I wrote this code alongside the Yoink-specific stuff, there is somewhat of
-a blurry line between the two categories.
+library.  These classes and other helper functions reside in the Mf
+namespace.  Since I wrote this code alongside the Yoink-specific stuff,
+there is somewhat of a blurry line between the two categories.
 
 3. 3rd-party code.
 
-This is made up of free code from other projects or libraries (aside from the
-explicit dependencies above), the licenses of which are also in the COPYING
-file.  This code resides in various namespaces and in various subdirectories.
+This is made up of free code from other projects or libraries (aside from
+the explicit dependencies above), the licenses of which are also in the
+COPYING file.  This code resides in various namespaces and in various
+subdirectories.
+
+b) Porting
+
+Portability is a goal of this project.  To this end, Yoink is written in
+standard C++ and takes advantage of cross-platform libraries.  If code
+changes are required to cleanly build Yoink on your platform, please send
+back patches.
+
+
+III. Packagers
+--------------
+
+a) The build system
+
+You can probably tell that the build system of this package is built from
+autoconf and automake.  It should be fairly sane.  If you find any
+problems, especially any bugs which complicate packaging on certain
+systems, please send back patches.
+
+b) Help requested
+
+If you can create packages for your favorite platform, please send them
+back to me and/or place the package in a public repository appropriate for
+your distribution or platform.  I would especially appreciate packages in
+common formats such as deb, rpm, or OS X app bundles.
 
index f75ce600c01e9e91031fce1641953c3cdc6d8648..0d9f5fd5b0a1a51895463a199c2154464f24bba0 100644 (file)
@@ -27,6 +27,8 @@ AC_PROG_INSTALL
 AC_PROG_RANLIB
 AM_PROG_CC_C_O
 
+AC_PATH_PROGS([DOXYGEN], [doxygen])
+AC_SUBST(DOXYGEN)
 
 #
 # Configure platform-specific stuff.
@@ -55,8 +57,6 @@ case "${host}" in
        ;;
        *-linux-gnu*)
                LINUX=yes
-               AC_PATH_PROGS([RPMBUILD], [rpmbuild])
-               AC_SUBST(RPMBUILD)
        ;;
 esac
 
@@ -148,7 +148,7 @@ if test x$WIN32 = xyes
 then
        DATADIR="data"
 else
-       eval eval DATADIR="${datadir}/yoink"
+       eval eval DATADIR="${datadir}/$PACKAGE"
 fi
 
 AC_SUBST([DATADIR])
@@ -308,14 +308,18 @@ AC_SUBST([DATA_FILES])
 # Create the build files.
 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+if test x$WIN32 = xyes
+then
+       make_win32="win32/Makefile win32/build-installer.sh"
+else
+       make_doc="doc/Makefile doc/yoink.6"
+fi
+
 AC_CONFIG_FILES([Makefile
                                 data/Makefile
-                                doc/Makefile
-                                doc/yoink.6
-                                extra/Makefile
-                                extra/yoink.spec
-                                make-win32-installer.sh
-                 src/Makefile])
+                                src/Makefile
+                                $make_doc
+                                $make_win32])
 
 AC_CONFIG_HEADERS([src/config.h])
 
index 0ab79587e2201606825cc87b4626456c83335717..80718f7de8ee0d150713aa4e2c0613a227e028b1 100644 (file)
@@ -1,9 +1,9 @@
 
 nobase_dist_pkgdata_DATA = @DATA_FILES@
 
-appsdir=$(prefix)/share/applications
+appsdir=$(datadir)/applications
 dist_apps_DATA = yoink.desktop
 
-pixmapdir=$(prefix)/share/pixmaps
+pixmapdir=$(datadir)/pixmaps
 dist_pixmap_DATA = yoink.png
 
index c74ebdb24f3b77f4d7281d7b9dbf8a555b31f0a3..c2f51c3ba6c36614d77fdd9871ef4d32254acf76 100644 (file)
@@ -1,3 +1,4 @@
 
 man6_MANS = yoink.6
+EXTRA_DIST = licenses yoink.6
 
diff --git a/extra/Makefile.am b/extra/Makefile.am
deleted file mode 100644 (file)
index 36c2e60..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-
-EXTRA_DIST = yoink.ebuild
-
diff --git a/extra/yoink.spec.in b/extra/yoink.spec.in
deleted file mode 100644 (file)
index 8d10855..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-Summary: Alien-smashing action game.
-Name: yoink
-Version: @VERSION@
-Release: 1
-License: BSD
-Group: Amusements/Games
-Source0: http://www.dogcows.com/yoink/%{name}-%{version}.tar.bz2
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
-BuildRequires: boost-devel
-BuildRequires: freealut-devel
-BuildRequires: libvorbis-devel
-BuildRequires: lua-devel
-BuildRequires: mesa-libGL-devel
-BuildRequires: openal-devel
-BuildRequires: SDL-devel
-BuildRequires: SDL_image-devel
-Requires: freealut
-Requires: libvorbis
-Requires: lua
-Requires: openal
-Requires: SDL
-Requires: SDL_image
-%description
-Leap tall buildings!  Crush stupid robots beneath your feet!  Wield your
-extra-terrestrial powers in the defence of humanity, and send those alien
-invaders back from whence they came!  This is Yoink.
-
-You play the part of a flying alien heroine who must defend her home on Earth
-from other airborne alien invaders.  The game draws inspiration from classic
-arcade games like Joust, Bombjack, Rampage, and Defender--simple, fast-moving
-action.
-%prep
-%setup
-%build
-%configure
-make
-%install
-rm -rf $RPM_BUILD_ROOT
-%makeinstall
-%clean
-rm -rf $RPM_BUILD_ROOT
-%files
-%defattr(-,root,root)
-%{_bindir}/yoink
-%doc %{_mandir}/man6/*
-%doc AUTHORS ChangeLog COPYING README TODO
-%{_datadir}/yoink
-%{_datadir}/applications/*
-%{_datadir}/pixmaps/*
similarity index 99%
rename from make-win32-installer.sh.in
rename to win32/build-installer.sh.in
index 2f251c2b81036076dc9a8cf3d40c79f1ad9d8a9c..5c3b5d96060c4e31e75dacbebb6662a55a54b189 100644 (file)
@@ -11,7 +11,7 @@ MAKENSIS="@MAKENSIS@"
 STRIP="@STRIP@"
 
 # Anchor paths
-ROOT_DIR="$PWD"
+ROOT_DIR="$PWD/.."
 
 # Stuff
 COMPRESSION="/solid lzma"
This page took 0.03569 seconds and 4 git commands to generate.