zoukankan      html  css  js  c++  java
  • openwrt 增加package软件包

    1、增加应用层软件

           具体可以看package/utils/lua5.3的编译,其中Makefile的配置文件内容如下:

                   

    #
    # Copyright (C) 2006-2014 OpenWrt.org
    #
    # This is free software, licensed under the GNU General Public License v2.
    # See /LICENSE for more information.
    #
    
    include $(TOPDIR)/rules.mk
    
    PKG_NAME:=lua
    PKG_VERSION:=5.3.5
    PKG_RELEASE:=4
    
    PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
    PKG_SOURCE_URL:=http://www.lua.org/ftp/ 
        http://www.tecgraf.puc-rio.br/lua/ftp/
    PKG_HASH:=0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac
    PKG_BUILD_PARALLEL:=1
    
    PKG_LICENSE:=MIT
    PKG_LICENSE_FILES:=COPYRIGHT
    
    HOST_PATCH_DIR := ./patches-host
    
    include $(INCLUDE_DIR)/package.mk
    include $(INCLUDE_DIR)/host-build.mk
    
    define Package/lua5.3/Default
      SUBMENU:=Lua
      SECTION:=lang
      CATEGORY:=Languages
      TITLE:=Lua programming language
      URL:=http://www.lua.org/
      MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
    endef
    
    define Package/lua5.3/Default/description
      Lua is a powerful, efficient, lightweight, embeddable scripting language. It
      supports procedural programming, object-oriented programming, functional
      programming, data-driven programming, and data description.
    endef
    
    define Package/liblua5.3
    $(call Package/lua53/Default)
      SUBMENU:=
      SECTION:=libs
      CATEGORY:=Libraries
      TITLE+= (libraries)
      ABI_VERSION:=5.3
    endef
    
    define Package/liblua5.3/description
    $(call Package/lua53/Default/description)
     This package contains the Lua shared libraries, needed by other programs.
    endef
    
    define Package/lua5.3
    $(call Package/lua5.3/Default)
      DEPENDS:=+liblua5.3
      TITLE+= (interpreter)
    endef
    
    define Package/lua5.3/description
    $(call Package/lua5.3/Default/description)
      This package contains the Lua language interpreter.
    endef
    
    define Package/luac5.3
    $(call Package/lua5.3/Default)
      DEPENDS:=+liblua5.3
      TITLE+= (compiler)
    endef
    
    define Package/luac5.3/description
    $(call Package/lua5.3/Default/description)
      This package contains the Lua language compiler.
    endef
    
    TARGET_CFLAGS += -DLUA_USE_LINUX $(FPIC) -std=gnu99
    
    define Build/Compile
        $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) 
            CC="$(TARGET_CROSS)gcc" 
            AR="$(TARGET_CROSS)ar rcu" 
            RANLIB="$(TARGET_CROSS)ranlib" 
            INSTALL_ROOT=/usr 
            CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" 
            PKG_VERSION=$(PKG_VERSION) 
            linux
        rm -rf $(PKG_INSTALL_DIR)
        mkdir -p $(PKG_INSTALL_DIR)
        $(MAKE) -C $(PKG_BUILD_DIR) 
            INSTALL_TOP="$(PKG_INSTALL_DIR)/usr" 
            install
    endef
    
    define Host/Configure
        $(SED) 's,"/usr/local/","$(STAGING_DIR_HOSTPKG)/",' $(HOST_BUILD_DIR)/src/luaconf.h
    endef
    
    ifeq ($(HOST_OS),Darwin)
        LUA_OS:=macosx
    else
        ifeq ($(HOST_OS),FreeBSD)
            LUA_OS:=freebsd
        else
            LUA_OS:=linux
        endif
    endif
    
    define Host/Compile
        $(MAKE) -C $(HOST_BUILD_DIR) 
            CC="$(HOSTCC) -std=gnu99" 
            $(LUA_OS)
    endef
    
    define Host/Install
        $(MAKE) -C $(HOST_BUILD_DIR) 
            INSTALL_TOP="$(STAGING_DIR_HOSTPKG)" 
            install
    endef
    
    define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include/lua5.3 $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/include/lua5.3/lua{,lib,conf}.h $(1)/usr/include/lua5.3/
        $(CP) $(PKG_INSTALL_DIR)/usr/include/lua5.3/lua.hpp $(1)/usr/include/lua5.3/
        $(CP) $(PKG_INSTALL_DIR)/usr/include/lua5.3/lauxlib.h $(1)/usr/include/lua5.3/
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblua5.3.{a,so*} $(1)/usr/lib/
        $(LN) liblua5.3.so.0.0.0 $(1)/usr/lib/liblualib5.3.so
    endef
    
    define Package/liblua5.3/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblua5.3.so* $(1)/usr/lib/
    endef
    
    define Package/lua5.3/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lua5.3 $(1)/usr/bin/
    endef
    
    define Package/luac5.3/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/luac5.3 $(1)/usr/bin/
    endef
    
    $(eval $(call BuildPackage,liblua5.3))
    $(eval $(call BuildPackage,lua5.3))
    $(eval $(call BuildPackage,luac5.3))
    $(eval $(call HostBuild))

     goahead配置样例:

    #
    # Copyright (C) 2008-2014 OpenWrt.org
    # Copyright (C) 2016 LEDE project
    #
    # This is free software, licensed under the GNU General Public License v2.
    # See /LICENSE for more information.
    #
    
    include $(TOPDIR)/rules.mk
    
    PKG_NAME:=goahead
    PKG_VERSION:=5.1.0
    PKG_RELEASE:=3
    
    PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
    PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
    PKG_SOURCE_PROTO:=git
    PKG_SOURCE_URL:=https://github.com/embedthis/goahead.git
    PKG_SOURCE_VERSION:=46e8da11dd05e82b861b223ae5cc975e90703743
    PKG_MD5SUM:=unknown
    PKG_LICENSE:=LGPL-2.1
    
    
    PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
    
    PKG_BUILD_PARALLEL:=0
    
    include $(INCLUDE_DIR)/host-build.mk
    include $(INCLUDE_DIR)/package.mk
    # include $(INCLUDE_DIR)/cmake.mk
    
    
    
    define Package/goahead
      SECTION:=utils
      CATEGORY:=Utilities
      # DEPENDS:=+libgoahead
      TITLE:=Utility for the web
    endef
    
    
    define Build/Configure
    endef
    
    define Build/Compile
        make -C $(PKG_BUILD_DIR) 
        CC="$(TARGET_CROSS)gcc" 
        LD="$(TARGET_CROSS)ld" 
        ARCH="$(ARCH)" PROFILE=release 
        -f projects/goahead-linux-default.mk
    endef
    
    define Package/goahead/install
        $(INSTALL_DIR) $(1)/etc/goahead-defaults
        # $(INSTALL_DIR) $(1)/sbin
        # $(INSTALL_BIN) $(PKG_BUILD_DIR)/goahead $(1)/sbin/
        # $(CP) ./files/* $(1)/
    endef
    
    define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
        # $(CP) $(PKG_BUILD_DIR)/goahead{,_config,_blob,map}.h $(1)/usr/include
        # $(INSTALL_DIR) $(1)/usr/lib
        # $(CP) $(PKG_BUILD_DIR)/libgoahead.so* $(1)/usr/lib
        # $(CP) $(PKG_BUILD_DIR)/libgoaheadmap.a $(1)/usr/lib
    endef
    
    $(eval $(call BuildPackage,goahead))

          1、package git增加

                    不指定   PKG_MD5SUM 或 PKG_HASH 可以实现下载源码无而进行文件的完整性检验,可以指定为: PKG_MD5SUM:=unknown 或通过./scripts/md5sum  压缩包

            

         2、其中 compile 可以指定默认编译

    define Build/Compile
        $(call Build/Compile/Default,mdadm)
    endef

    2、增加内核模块

    package的依赖包的路径及头文件是在staging_dir/target-mipsel_24kc_musl/usr/   目录

    编译package:

       make package/软件包/compile  -j4 V=s

       make package/软件包/install  -j4 V=s

       make package/软件包/clean  -j4 V=s

    参考链接:

    创建软件包   https://oldwiki.archive.openwrt.org/zh-cn/doc/devel/packages

  • 相关阅读:
    庞果网 字符串消除
    剪格子
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 柒
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 柒
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 柒
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 柒
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 陆
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 陆
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 陆
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 陆
  • 原文地址:https://www.cnblogs.com/hzijone/p/12183469.html
Copyright © 2011-2022 走看看