问题描述
我正在尝试编译 OpenWRT 包。已经编译工具链。从 here 我知道使用静态模式规则时可以,但我没有。我检查了整个文件是否有语法错误 - 一切正常(也许我错过了一些东西)。
操作系统:Ubuntu 20.04 服务器
g++:9.3.0
OpenWRT:19.07.7
wiha@osBoxes:~/source$ ./scripts/Feeds update mypackage
Updating Feed 'mypackage' from '\home\wiha\package_src\package' ...
Create index file './Feeds/mypackage.index'
/home/wiha/source/Feeds/mypackage.tmp/info/.files-packageinfo.mk:1: *** target pattern contains no '%'. Stop.
include $(TOPDIR)/rules.mk
PKG_NAME:=mypackage
PKG_VERSION:=0.1
PKG_RELEASE:=1
SOURCE_DIR:=../../..
include $(INCLUDE_DIR)/package.mk
define Package/mypackage
SECTION:=mypackage
CATEGORY:=Network
TITLE:=The router`s agent
DEPENDS:=+libopenssl +libjson-c +libcurl
URL:=https://www.example.com
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
# copy source files
$(CP) -r $(SOURCE_DIR)/src $(PKG_BUILD_DIR)/src
$(CP) $(SOURCE_DIR)/CMakeLists.txt $(PKG_BUILD_DIR)
rm -f $(PKG_BUILD_DIR)/CMakeCache.txt
rm -fR $(PKG_BUILD_DIR)/CMakeFiles
rm -f $(PKG_BUILD_DIR)/Makefile
rm -f $(PKG_BUILD_DIR)/cmake_install.cmake
rm -f $(PKG_BUILD_DIR)/progress.make
endef
define Build/Configure
IN_OPENWRT=1 \
AR="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
AS="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC) -c $(TARGET_CFLAGS)" \
LD="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ld" \
NM="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)nm" \
CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
GCC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
CXX="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)g++" \
RANLIB="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
STRIP="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)strip" \
OBJcopY="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)objcopy" \
OBJDUMP="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)objdump" \
TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
cmake $(PKG_BUILD_DIR)/CMakeLists.txt
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR)
$(STRIP) $(PKG_BUILD_DIR)/mypackage
endef
define Package/mypackage/install
$(CP) $(SOURCE_DIR)/files/* $(1)/
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mypackage $(1)/usr/bin/
endef
$(eval $(call BuildPackage,mypackage))
.files-packageinfo.mk:
$(eval $(call PackageDir,Makefile:$(eval $(call BuildPackage,mypackage)),))
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)