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学习网站: 佐须之男的博客

"技术需要沉淀,成长需要痛苦,成功需要坚持,敬仰需要奉献"

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