Openwrt:giflibのMakefileを作成する

2803 ワード

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 
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学習サイト:佐須の男ブログ
「技術には沈殿が必要であり、成長には苦痛が必要であり、成功には堅持が必要であり、敬慕には奉仕が必要である」