79 lines
2.4 KiB
Makefile
79 lines
2.4 KiB
Makefile
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=router-display
|
|
PKG_VERSION:=1.0
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
|
|
|
PKG_QRGEN_NAME:=QR-Code-generator
|
|
PKG_QRGEN_VERSION:=v1.8.0
|
|
PKG_QRGEN_SOURCE:=$(PKG_QRGEN_VERSION).tar.gz
|
|
PKG_QRGEN_URL:=https://github.com/nayuki/QR-Code-generator/archive/refs/tags
|
|
PKG_QRGEN_HASH:=skip
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/router-display
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
TITLE:=Framebuffer router status display
|
|
DEPENDS:=+libfreetype +kmod-button-hotplug +dejavu-fonts-ttf-DejaVuSans-Bold +dejavu-fonts-ttf-DejaVuSans
|
|
endef
|
|
|
|
define Package/router-display/description
|
|
Display router status on RGB565 framebuffer
|
|
endef
|
|
|
|
define Download/qrcodegen
|
|
URL:=$(PKG_QRGEN_URL)
|
|
FILE:=qrcodegen-$(PKG_QRGEN_VERSION).tar.gz
|
|
URL_FILE:=$(PKG_QRGEN_VERSION).tar.gz
|
|
HASH:=$(PKG_QRGEN_HASH)
|
|
endef
|
|
|
|
define Build/Prepare
|
|
$(INSTALL_DIR) $(PKG_BUILD_DIR)
|
|
$(CP) ./src/main.c $(PKG_BUILD_DIR)/
|
|
$(eval $(call Download,qrcodegen))
|
|
tar -xzf $(DL_DIR)/qrcodegen-$(PKG_QRGEN_VERSION).tar.gz -C $(PKG_BUILD_DIR)
|
|
$(CP) $(PKG_BUILD_DIR)/$(PKG_QRGEN_NAME)-*/c/qrcodegen.c $(PKG_BUILD_DIR)/
|
|
$(CP) $(PKG_BUILD_DIR)/$(PKG_QRGEN_NAME)-*/c/qrcodegen.h $(PKG_BUILD_DIR)/
|
|
endef
|
|
|
|
define Build/Compile
|
|
$(TARGET_CC) $(TARGET_CFLAGS) -O3 -ffast-math \
|
|
$(TARGET_CPPFLAGS) \
|
|
-I$(STAGING_DIR)/usr/include/freetype2 \
|
|
$(TARGET_LDFLAGS) \
|
|
-o $(PKG_BUILD_DIR)/router-display \
|
|
$(PKG_BUILD_DIR)/main.c \
|
|
$(PKG_BUILD_DIR)/qrcodegen.c \
|
|
-lfreetype -lm
|
|
endef
|
|
|
|
define Package/router-display/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/router-display $(1)/usr/bin/
|
|
$(INSTALL_BIN) ./files/display-manager.sh $(1)/usr/bin/display-manager
|
|
$(INSTALL_BIN) ./files/update-display.sh $(1)/usr/bin/update-display
|
|
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_BIN) ./files/display-manager.init $(1)/etc/init.d/display-manager
|
|
|
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/button
|
|
$(INSTALL_BIN) ./files/hotplugs/20_power_button $(1)/etc/hotplug.d/button/20_power_button
|
|
|
|
$(INSTALL_DIR) $(1)/lib/preinit
|
|
$(INSTALL_BIN) ./files/preinit/05_display_logo $(1)/lib/preinit/05_display_logo
|
|
|
|
$(INSTALL_DIR) $(1)/usr/share/logos
|
|
$(INSTALL_DATA) ./files/logos/boot_logo.fb $(1)/usr/share/logos/boot_logo.fb
|
|
$(INSTALL_DATA) ./files/logos/poweroff_logo.fb $(1)/usr/share/logos/poweroff_logo.fb
|
|
|
|
$(INSTALL_DIR) $(1)/etc/config
|
|
$(INSTALL_CONF) ./files/display-manager.uci $(1)/etc/config/display
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,router-display))
|