Кросс-компиляция с 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))

Вы можете использовать --cc а также --cxx варианты от scons

Другие вопросы по тегам