1.首先设置环境变量/etc/environment
2.把mplayer的源码拷贝于openwrt的package/mplayer/src下。
3.在openwrt 的package/mplayer/下新建一个Makefile
include $(TOPDIR)/rules.mk # Name and release number of this package PKG_NAME:=mplayer PKG_RELEASE:=1 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) include $(INCLUDE_DIR)/package.mk # Specify package information for this program. # The variables defined here should be self explanatory. # If you are running Kamikaze, delete the DESCRIPTION # variable below and uncomment the Kamikaze define # directive for the description below define Package/mplayer SECTION:=utils CATEGORY:=Utilities TITLE:=mplayer with wma fixed-point decoder DEPENDS:=+libmad +libasound +libncurses +liblzo +zlib +libjpeg +librt +libpthread endef # Uncomment portion below for Kamikaze and delete DESCRIPTION variable above define Package/mplayer/description endef # Specify what needs to be done to prepare for building the package. # In our case, we need to copy the source files to the build directory. # This is NOT the default. The default uses the PKG_SOURCE_URL and the # PKG_SOURCE which is not defined here to download the source from the web. # In order to just build a simple program that we have just written, it is # much easier to do it this way. define Build/Prepare mkdir -p $(PKG_BUILD_DIR) $(CP) ./src/* $(PKG_BUILD_DIR)/ endef define Package/mplayer/install $(INSTALL_DIR) $(1)/bin $(CP) $(BUILD_DIR)/alsa-lib-1.0.28/ipkg-install/usr/lib/libasound.so* $(1)/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/mplayer $(1)/bin/ endef # This line executes the necessary commands to compile our program. # The above define directives specify all the information needed, but this # line calls BuildPackage which in turn actually uses this information to # build a package. $(eval $(call BuildPackage,mplayer))
4.在mplayer/src下新建配置文件build-alsa.sh,然后运行脚本
#!/bin/sh ./configure --host-cc=gcc \ --cc=mipsel-openwrt-linux-gcc \ --target=mips-linux \ --enable-linux-devfs \ --disable-dvdread \ --enable-fbdev \ --enable-libwma \ \ --enable-mad \ --enable-pthreads \ --enable-jpeg \ --enable-liblzo \ --disable-ladspa \ \ --ranlib=arm-linux-ranlib \ --disable-mencoder \ --disable-liba52 \ --disable-live \ --disable-mp3lib \ --enable-alsa \ --disable-ossaudio \ --disable-libavcodec_a \ --disable-libavformat_a \ --disable-libpostproc_a \ --disable-bitmap-font \ --disable-ivtv \ --disable-tv \ --disable-tga \ --disable-pnm \ --disable-md5sum \ --disable-libmpeg2 \ --disable-w32threads \ --disable-win32dll \ --disable-win32waveout \ --disable-qtx \ --disable-xanim \ --disable-libmpeg2 \ --disable-radio-v4l2 \ --disable-radio-bsdbt848 \ --disable-tv-v4l1 \ --disable-tv-v4l2 \ --disable-tv-bsdbt848 \ --disable-tv-teletext \ --disable-pvr \ --disable-mp3lib \ --disable-liba52 \ --disable-libmpeg2 \ --disable-decoder=DECODER \ --disable-encoder=ENCODER \ --disable-parser=PARSER \ --disable-demuxer=DEMUXER \ --disable-muxer=MUXER \ --with-extraincdir=/home/kevin/widora3/openwrt_widora/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include \ --with-extralibdir=/home/kevin/widora3/openwrt_widora/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib
5.为了防止一会编译的时候再configure,所有打开configure在开头加:
return 0
6.完成,可以编译了,编译过程中缺少什么需要在openwrt中make menuconfig 添加库。