如何为Openwrt交叉编译一个.c文件?
How to cross compile a .c file for Openwrt?
我正在尝试为 Openwrt 交叉编译一个 .c 文件。我下载了 Openwrt 并将我的文件添加到包目录中并为其创建了 Makefile 但在编译时它正在跳过。不知道怎么回事
这是 Makefile :
*
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=gav
PKG_VERSION:=1
PKG_RELEASE:=1
include $(INCLUDE_DIR)/package.mk
define Package/gav
SECTION:=utils
CATEGORY:=Base system
TITLE:=gaurav
endef
define Package/gav/description
This package contains an utility useful to upgrade from other firmware or
older OpenWrt releases.
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR/)
$(CP) ./src/* $(PKG_BUILD_DIR)/
endef
define Package/gav/install
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/gav $(1)/sbin/
endef
$(eval $(call Buildpackage,gav))
*
如果工具链完全跳过您的 Makefile,很可能您还没有 运行 make menuconfig.
所以一般步骤是:
- 将您的 openWRT Makefile 放入 openwrt/package/name 文件夹
- 运行 制作菜单配置
- 在弹出对话框中选择要编译的包,方法是在其旁边放置 M 或 *。
- 运行制作package/name/compile
- 您将在 openwrt/bin/
中找到 .ipk 文件
我正在尝试为 Openwrt 交叉编译一个 .c 文件。我下载了 Openwrt 并将我的文件添加到包目录中并为其创建了 Makefile 但在编译时它正在跳过。不知道怎么回事
这是 Makefile :
*
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=gav
PKG_VERSION:=1
PKG_RELEASE:=1
include $(INCLUDE_DIR)/package.mk
define Package/gav
SECTION:=utils
CATEGORY:=Base system
TITLE:=gaurav
endef
define Package/gav/description
This package contains an utility useful to upgrade from other firmware or
older OpenWrt releases.
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR/)
$(CP) ./src/* $(PKG_BUILD_DIR)/
endef
define Package/gav/install
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/gav $(1)/sbin/
endef
$(eval $(call Buildpackage,gav))
*
如果工具链完全跳过您的 Makefile,很可能您还没有 运行 make menuconfig.
所以一般步骤是:
- 将您的 openWRT Makefile 放入 openwrt/package/name 文件夹
- 运行 制作菜单配置
- 在弹出对话框中选择要编译的包,方法是在其旁边放置 M 或 *。
- 运行制作package/name/compile
- 您将在 openwrt/bin/ 中找到 .ipk 文件