Files
msm8916-openwrt/packages/router-display/Makefile
T
2025-10-18 09:43:02 +02:00

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))