瀏覽代碼

buildroot: SDL_mixer package

Based on patch from Hebbar.
Peter Korsgaard 17 年之前
父節點
當前提交
6be5cb76b9
共有 3 個文件被更改,包括 81 次插入0 次删除
  1. 1 0
      package/Config.in
  2. 12 0
      package/sdl_mixer/Config.in
  3. 68 0
      package/sdl_mixer/sdl_mixer.mk

+ 1 - 0
package/Config.in

@@ -313,6 +313,7 @@ source "package/jpeg/Config.in"
 source "package/libpng/Config.in"
 source "package/libungif/Config.in"
 source "package/sdl/Config.in"
+source "package/sdl_mixer/Config.in"
 source "package/sdl_ttf/Config.in"
 source "package/tiff/Config.in"
 

+ 12 - 0
package/sdl_mixer/Config.in

@@ -0,0 +1,12 @@
+config BR2_PACKAGE_SDL_MIXER
+	bool "SDL_mixer"
+	default n
+	help
+
+	  SDL_mixer is a sample multi-channel audio mixer library.
+	  It supports any number of simultaneously playing channels of
+	  16 bit stereo audio, plus a single channel of music, mixed
+	  by the popular MikMod MOD, Timidity MIDI, Ogg Vorbis, and
+	  SMPEG MP3 libraries.
+
+	  http://www.libsdl.org/projects/SDL_mixer/

+ 68 - 0
package/sdl_mixer/sdl_mixer.mk

@@ -0,0 +1,68 @@
+#############################################################
+#
+# SDL_mixer
+#
+#############################################################
+SDL_MIXER_VERSION:=1.2.8
+SDL_MIXER_SOURCE:=SDL_mixer-$(SDL_MIXER_VERSION).tar.gz
+SDL_MIXER_SITE:=http://www.libsdl.org/projects/SDL_mixer/release/
+SDL_MIXER_CAT:=$(ZCAT)
+SDL_MIXER_DIR:=$(BUILD_DIR)/SDL_mixer-$(SDL_MIXER_VERSION)
+
+$(DL_DIR)/$(SDL_MIXER_SOURCE):
+	$(WGET) -P $(DL_DIR) $(SDL_MIXER_SITE)/$(SDL_MIXER_SOURCE)
+
+sdl_mixer-source: $(DL_DIR)/$(SDL_MIXER_SOURCE)
+
+$(SDL_MIXER_DIR)/.unpacked: $(DL_DIR)/$(SDL_MIXER_SOURCE)
+	$(SDL_MIXER_CAT) $(DL_DIR)/$(SDL_MIXER_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+	$(CONFIG_UPDATE) $(SDL_MIXER_DIR)
+	touch $@
+
+$(SDL_MIXER_DIR)/.configured: $(SDL_MIXER_DIR)/.unpacked $(STAGING_DIR)/usr/lib/libSDL.so
+	(cd $(SDL_MIXER_DIR); rm -rf config.cache; \
+		$(TARGET_CONFIGURE_OPTS) \
+		$(TARGET_CONFIGURE_ARGS) \
+		./configure \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
+		--build=$(GNU_HOST_NAME) \
+		--prefix=/usr \
+		--sysconfdir=/etc \
+		--localstatedir=/var \
+		--without-x \
+		--with-freetype-prefix=$(STAGING_DIR)/usr \
+		--with-sdl-prefix=$(STAGING_DIR)/usr \
+		)
+	touch $@
+
+$(SDL_MIXER_DIR)/.compiled: $(SDL_MIXER_DIR)/.configured
+	$(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(SDL_MIXER_DIR)
+	touch $@
+
+$(STAGING_DIR)/usr/lib/libSDL_mixer.so: $(SDL_MIXER_DIR)/.compiled
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(SDL_MIXER_DIR) install
+	touch -c $@
+
+$(TARGET_DIR)/usr/lib/libSDL_mixer.so: $(STAGING_DIR)/usr/lib/libSDL_mixer.so
+	cp -dpf $(STAGING_DIR)/usr/lib/libSDL_mixer*.so* $(TARGET_DIR)/usr/lib/
+	-$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libSDL_mixer*.so*
+
+sdl_mixer: uclibc $(TARGET_DIR)/usr/lib/libSDL_mixer.so
+
+sdl_mixer-clean:
+	rm -f $(TARGET_DIR)/usr/lib/libSDL_mixer*.so*
+	-$(MAKE) DESTDIR=$(STAGING_DIR) -C $(SDL_MIXER_DIR) uninstall
+	-$(MAKE) -C $(SDL_MIXER_DIR) clean
+
+sdl_mixer-dirclean:
+	rm -rf $(SDL_MIXER_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_SDL_MIXER)),y)
+TARGETS+=sdl_mixer
+endif