Makefile 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. # Copyright (C) 2018 Onion Corporation
  2. #
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=oboo-clock-cards
  9. PKG_VERSION:=0.2.9
  10. PKG_RELEASE:=1
  11. PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
  12. include $(INCLUDE_DIR)/package.mk
  13. # application package
  14. define Package/oboo-clock-cards
  15. SECTION:=onion
  16. CATEGORY:=Onion
  17. SUBMENU:=Oboo
  18. TITLE:=Oboo Card framework and applications
  19. DEPENDS:=+libmosquitto-ssl +mosquitto-ssl +mosquitto-client-ssl +libcurl +ca-bundle +mpg123 +alsa-utils
  20. endef
  21. define Package/oboo-clock-cards/description
  22. Oboo Card framework and applications
  23. endef
  24. # script package
  25. define Package/oboo-clock-cards-scripts
  26. SECTION:=onion
  27. CATEGORY:=Onion
  28. SUBMENU:=Oboo
  29. TITLE:=Oboo Card demos scripts
  30. DEPENDS:=+libmosquitto-ssl +mosquitto-ssl +mosquitto-client-ssl
  31. endef
  32. define Package/oboo-clock-cards-scripts/description
  33. Oboo Card demos scripts
  34. endef
  35. define Build/Prepare
  36. mkdir -p $(PKG_BUILD_DIR)/
  37. $(CP) ./src/* $(PKG_BUILD_DIR)/
  38. endef
  39. TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
  40. TARGET_LDFLAGS += -L$(STAGING_DIR)/usr/lib
  41. # TARGET_LIB += -lmosquitto
  42. define Build/Compile
  43. $(MAKE) -C $(PKG_BUILD_DIR)/ \
  44. CC="$(TARGET_CC)" \
  45. CFLAGS="$(TARGET_CFLAGS)" \
  46. LDFLAGS="$(TARGET_LDFLAGS)"
  47. endef
  48. define Package/oboo-clock-cards/install
  49. $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/bin/img $(1)/usr/bin/js $(1)/etc/init.d/ $(1)/etc/cron.minute/
  50. # install the images
  51. $(CP) $(PKG_BUILD_DIR)/weather-card/img/bin/* $(1)/usr/bin/img/.
  52. $(CP) $(PKG_BUILD_DIR)/timer-card/img/bin/* $(1)/usr/bin/img/.
  53. $(CP) $(PKG_BUILD_DIR)/upgrade-card/img/bin/* $(1)/usr/bin/img/.
  54. $(CP) $(PKG_BUILD_DIR)/music-card/img/bin/* $(1)/usr/bin/img/.
  55. $(CP) $(PKG_BUILD_DIR)/system-card/img/bin/* $(1)/usr/bin/img/.
  56. # install the audio files
  57. $(INSTALL_DIR) $(1)/usr/share/oboo/alarm/
  58. $(CP) $(PKG_BUILD_DIR)/audio-manager/audio/silence-1s.mp3 $(1)/usr/share/oboo/alarm/silence-1s.mp3
  59. $(CP) $(PKG_BUILD_DIR)/alarm/audio/timer-0.mp3 $(1)/usr/share/oboo/alarm/timer-0.mp3
  60. $(CP) $(PKG_BUILD_DIR)/alarm/audio/alarm_classic.mp3 $(1)/usr/share/oboo/alarm/alarm_classic.mp3
  61. # install the runtime binary
  62. $(INSTALL_BIN) $(PKG_BUILD_DIR)/oboo-runtime/bin/ort $(1)/usr/bin/
  63. # install the js scripts
  64. $(INSTALL_BIN) $(PKG_BUILD_DIR)/oboo-runtime/js/card-lib.js $(1)/usr/bin/js/
  65. $(INSTALL_BIN) $(PKG_BUILD_DIR)/oboo-runtime/js/yahooWeather.js $(1)/usr/bin/js/
  66. $(INSTALL_BIN) $(PKG_BUILD_DIR)/timer-card/timer.js $(1)/usr/bin/js/
  67. $(INSTALL_BIN) $(PKG_BUILD_DIR)/weather-card/weather.js $(1)/usr/bin/js/
  68. $(INSTALL_BIN) $(PKG_BUILD_DIR)/calendar-card/calendar.js $(1)/usr/bin/js/
  69. $(INSTALL_BIN) $(PKG_BUILD_DIR)/upgrade-card/upgrade.js $(1)/usr/bin/js/
  70. $(INSTALL_BIN) $(PKG_BUILD_DIR)/input-processor/mcu.js $(1)/usr/bin/js/
  71. $(INSTALL_BIN) $(PKG_BUILD_DIR)/audio-manager/audio.js $(1)/usr/bin/js/
  72. $(INSTALL_BIN) $(PKG_BUILD_DIR)/music-card/music.js $(1)/usr/bin/js/
  73. $(INSTALL_BIN) $(PKG_BUILD_DIR)/device-client/client.js $(1)/usr/bin/js/
  74. $(INSTALL_BIN) $(PKG_BUILD_DIR)/system-card/system.js $(1)/usr/bin/js/
  75. $(INSTALL_BIN) $(PKG_BUILD_DIR)/alarm/alarm.js $(1)/usr/bin/js/
  76. $(INSTALL_BIN) $(PKG_BUILD_DIR)/config-update/updateConfig.js $(1)/usr/bin/js/
  77. # install the init.d script
  78. $(INSTALL_BIN) $(PKG_BUILD_DIR)/device/etc/init.d/oboo-cards $(1)/etc/init.d/oboo-cards
  79. # install the cron scripts
  80. $(INSTALL_BIN) $(PKG_BUILD_DIR)/alarm/alarm-cron.sh $(1)/etc/cron.minute/alarm.sh
  81. endef
  82. define Package/oboo-clock-cards-scripts/install
  83. $(INSTALL_DIR) $(1)/usr/bin
  84. # install the demo scripts
  85. $(INSTALL_BIN) $(PKG_BUILD_DIR)/weather-card/init.sh $(1)/usr/bin/weather.sh
  86. $(INSTALL_BIN) $(PKG_BUILD_DIR)/timer-card/init.sh $(1)/usr/bin/timer.sh
  87. $(INSTALL_BIN) $(PKG_BUILD_DIR)/demo.sh $(1)/usr/bin/demo.sh
  88. $(INSTALL_BIN) $(PKG_BUILD_DIR)/runDemo.sh $(1)/usr/bin/runDemo.sh
  89. endef
  90. $(eval $(call BuildPackage,oboo-clock-cards))
  91. $(eval $(call BuildPackage,oboo-clock-cards-scripts))