Кросс-компиляция с Scons для OpenWRT
Я пытаюсь выяснить, возможно ли выполнить кросс-компиляцию программы с помощью Scons для цели, использующей OpenWRT. Я пытаюсь избежать перезаписи make-файлов, так как у меня уже настроен скрипт, и программа зависит от многих включений и библиотек из разных каталогов. Для меня неясно, возможно ли это сделать с помощью OpenWRT Toolchain или SDK, я не смог найти примеров в Интернете.
Любые примеры будут высоко оценены.
2 ответа
Я сделал этот шаблон Makefile на основе IoTctivity Mafile:
include $(TOPDIR)/rules.mk
PKG_NAME:=foobar
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://mirrors.foo.bar.io/$(PKG_NAME)/$(PKG_VERSION)/
PKG_MD5SUM:=7ddf32e17a6ac5ce04a8ecbf782ca509
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/scons.mk
define Package/foobar
SECTION:=utils
CATEGORY:=Utilities
TITLE:=FooBar
URL:=https://foobar.io
endef
define Build/Configure
(cd $(PKG_BUILD_DIR); \
$(SCONS_VARS) \
scons \
$(SCONS_OPTIONS) \
)
endef
define Package/foobar/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/foobar $(1)/usr/bin/
endef
$(eval $(call BuildPackage,foobar))