summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/games/Config.in1
-rw-r--r--package/games/prboom/Config.in11
-rw-r--r--package/games/prboom/prboom.mk50
3 files changed, 62 insertions, 0 deletions
diff --git a/package/games/Config.in b/package/games/Config.in
index 3ed5393f6..4d7302796 100644
--- a/package/games/Config.in
+++ b/package/games/Config.in
@@ -10,6 +10,7 @@ source "package/games/doom-wad/Config.in"
source "package/games/gnuchess/Config.in"
source "package/games/lxdoom/Config.in"
source "package/games/magiccube4d/Config.in"
+source "package/games/prboom/Config.in"
source "package/games/rubix/Config.in"
source "package/games/vice/Config.in"
source "package/games/xboard/Config.in"
diff --git a/package/games/prboom/Config.in b/package/games/prboom/Config.in
new file mode 100644
index 000000000..2835929ca
--- /dev/null
+++ b/package/games/prboom/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_PRBOOM
+ bool "PrBoom"
+ select BR2_PACKAGE_SDL
+ select BR2_PACKAGE_SDL_MIXER
+ select BR2_PACKAGE_SDL_NET
+ help
+ PrBoom is a Doom client which allows you to play the good old game on
+ newer hardware. It even supports higher resolution and better
+ rendring, while still keeping the old style alive.
+
+ http://prboom.sourceforge.net/
diff --git a/package/games/prboom/prboom.mk b/package/games/prboom/prboom.mk
new file mode 100644
index 000000000..1b9594c0f
--- /dev/null
+++ b/package/games/prboom/prboom.mk
@@ -0,0 +1,50 @@
+#############################################################
+#
+# PrBoom
+#
+#############################################################
+PRBOOM_VERSION:=2.4.7
+
+PRBOOM_DEPENDENCIES = sdl SDL_net sdl_mixer
+
+$(eval $(call AUTOTARGETS,package/games,prboom))
+
+$(PRBOOM_TARGET_EXTRACT):
+ $(ZCAT) $(DL_DIR)/$(PRBOOM_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ $(CONFIG_UPDATE) $(PRBOOM_DIR)/autotools
+ touch $@
+
+$(PRBOOM_TARGET_CONFIGURE):
+ (cd $(PRBOOM_DIR); \
+ $(TARGET_CONFIGURE_ARGS) \
+ $(TARGET_CONFIGURE_OPTS) \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --prefix=/usr \
+ --oldincludedir=$(STAGING_DIR)/usr/include \
+ --with-sdl-prefix=$(STAGING_DIR)/usr \
+ --with-sdl-exec-prefix=$(STAGING_DIR)/usr \
+ --disable-cpu-opt \
+ --disable-sdltest \
+ --disable-gl \
+ --without-x \
+ )
+ifeq ($(BR2_ENDIAN),"BIG")
+ $(SED) 's,.*#undef WORDS_BIGENDIAN.*,#define WORDS_BIGENDIAN 1,g' $(PRBOOM_DIR)/config.h
+endif
+ touch $@
+
+$(PRBOOM_TARGET_INSTALL_TARGET):
+ $(INSTALL) -D $(PRBOOM_DIR)/src/prboom $(TARGET_DIR)/usr/games/prboom
+ $(INSTALL) -D $(PRBOOM_DIR)/src/prboom-game-server $(TARGET_DIR)/usr/games/prboom-game-server
+ $(INSTALL) -D $(PRBOOM_DIR)/data/prboom.wad $(TARGET_DIR)/usr/share/games/doom/prboom.wad
+ $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/games/prboom
+ $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/games/prboom-game-server
+
+$(PRBOOM_TARGET_CLEAN):
+ rm -rf $(TARGET_DIR)/usr/share/games/doom/prboom.wad
+ rm -rf $(TARGET_DIR)/usr/games/prboom-game-server
+ rm -rf $(TARGET_DIR)/usr/games/prboom
+ -$(MAKE) -C $(PRBOOM_DIR) clean