爲了在widora_Openwrt環境下安裝最新的giflib-5.2.1庫,自己編制了對應的feeds Makefile. 由於giflib本身的Makefile沒有configure配置, 在Openwrt環境下安裝目錄參數也需要調整. 最後步驟如下:
1. 在 feeds/packages/libs 目錄下建立子目錄 giflib, 在其中建立一個Makefile, 內容如下:
#
# Copyright (C) 2006-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
#
#######################################################################################
# NOTE
# 1. Put this makefile file in ~/openwrt_widor/feeds/packages/libs/giflib
# 2. Make a soft link of dir giflib to dir ~/openwrt_widora/package/feeds/packages:
# ln -s ~/openwrt_widora/feeds/packages/libs/giflib ../../../package/feeds/packages/
# 3. make menuconfig to select the package as 'M'
# 4. make package/feeds/packages/giflib/compile V=s
# 5. Result ipk file:
# openwrt_widora/bin/ramips/packages/packages/giflib_5.2.1-5_ramips_24kec.ipk
#
# Midas Zhou
#######################################################################################
include $(TOPDIR)/rules.mk
PKG_NAME:=giflib
PKG_VERSION:=5.2.1
PKG_RELEASE:=5
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/giflib
#PKG_MD5SUM:=
PKG_MAINTAINER:=Eric Raymond <esr[AT]snark.thyrsus.com>
PKG_LICENSE:=SPDX-License-Identifier MIT
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
define Package/giflib
SECTION:=libs
CATEGORY:=Libraries
TITLE:=A library for manipulating GIF files
URL:=http://sourceforge.net/projects/giflib
endef
TARGET_CFLAGS += $(FPIC)
define Build/Compile
+$(MAKE_VARS) \
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" \
$(MAKE_FLAGS) \
all;
endef
define Build/Install
$(MAKE_VARS) \
$(MAKE) -C $(PKG_BUILD_DIR) \
$(MAKE_INSTALL_FLAGS) PREFIX="/usr" DESTDIR="$(PKG_INSTALL_DIR)" \
install;
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)
$(CP) $(PKG_INSTALL_DIR)/* $(1)/
endef
define Package/giflib/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgif.so.* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,giflib))
2. 建立軟鏈接到package:
ln -s ~/openwrt_widora/feeds/packages/libs/giflib ~/openwrt_widora/package/feeds/packages/
3. 執行make menuconfig , 在Libraries類別中m選中giflib模塊.
4. openwrt_widora目錄下單獨編譯此模塊, 前提環境是openwrt已經編譯完成:
make package/feeds/packages/giflib/compile V=s
5. 完成後可以在bin/ramips/packages/packages目錄下找到此模塊的安裝包 giflib_5.2.1-5_ramips_24kec.ipk
Openwrt學習網站: 佐須之男的博客
"技術需要沉澱,成長需要痛苦,成功需要堅持,敬仰需要奉獻"