Openwrt: 爲giflib編制一個Makefile

爲了在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學習網站: 佐須之男的博客

"技術需要沉澱,成長需要痛苦,成功需要堅持,敬仰需要奉獻"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章