Makefile 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. #
  2. # Copyright (C) 2008 OpenWrt.org
  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. UCI_VERSION=0.7
  9. UCI_RELEASE=5
  10. PKG_NAME:=uci
  11. PKG_VERSION:=$(UCI_VERSION)$(if $(UCI_RELEASE),.$(UCI_RELEASE))
  12. PKG_RELEASE:=1
  13. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  14. PKG_SOURCE_URL:=http://downloads.openwrt.org/sources
  15. PKG_MD5SUM:=ed34c5ef606a90da4aba03ce6d22eeb9
  16. include $(INCLUDE_DIR)/package.mk
  17. # set to 1 to enable debugging
  18. DEBUG=
  19. define Package/libuci
  20. SECTION:=libs
  21. CATEGORY:=Libraries
  22. TITLE:=C library for the Unified Configuration Interface (UCI)
  23. endef
  24. define Package/uci
  25. SECTION:=base
  26. CATEGORY:=Base system
  27. DEPENDS:=+libuci
  28. TITLE:=Utility for the Unified Configuration Interface (UCI)
  29. endef
  30. define Package/ucitrigger
  31. SECTION:=base
  32. CATEGORY:=Base system
  33. DEPENDS:=+libuci-lua +lua
  34. TITLE:=Automatic triggers for applying system config changes
  35. endef
  36. define Package/libuci-lua
  37. SECTION=libs
  38. CATEGORY=Libraries
  39. DEPENDS:=+libuci +liblua
  40. TITLE:=Lua plugin for UCI
  41. endef
  42. define Build/Configure
  43. endef
  44. TARGET_CFLAGS += $(FPIC)
  45. UCI_MAKEOPTS = \
  46. $(TARGET_CONFIGURE_OPTS) \
  47. COPTS="$(TARGET_CFLAGS)" \
  48. DEBUG="$(DEBUG)" \
  49. VERSION="$(UCI_VERSION)" \
  50. CPPFLAGS="-I$(PKG_BUILD_DIR) $(TARGET_CPPFLAGS)" \
  51. OS="Linux"
  52. # work around a nasty gcc bug
  53. ifneq ($(CONFIG_GCC_VERSION_4_2_4),)
  54. UCI_MAKEOPTS += WOPTS=""
  55. endif
  56. define Build/Compile
  57. $(MAKE) -C $(PKG_BUILD_DIR) $(UCI_MAKEOPTS)
  58. $(MAKE) -C $(PKG_BUILD_DIR)/lua $(UCI_MAKEOPTS)
  59. $(MAKE) -C $(PKG_BUILD_DIR)/trigger $(UCI_MAKEOPTS) \
  60. LIBS="$(TARGET_LDFLAGS) -L$(PKG_BUILD_DIR) -luci -llua -lcrypt -lm"
  61. endef
  62. define Package/libuci/install
  63. $(INSTALL_DIR) $(1)/lib
  64. $(CP) $(PKG_BUILD_DIR)/libuci.so* $(1)/lib/
  65. endef
  66. define Package/libuci-lua/install
  67. $(INSTALL_DIR) $(1)/usr/lib/lua
  68. $(CP) $(PKG_BUILD_DIR)/lua/uci.so $(1)/usr/lib/lua/
  69. endef
  70. define Package/ucitrigger/install
  71. $(INSTALL_DIR) $(1)/usr/lib/lua/uci $(1)/lib/config/trigger $(1)/usr/sbin
  72. $(INSTALL_DATA) ./trigger/lib/trigger.lua $(1)/usr/lib/lua/uci/
  73. $(INSTALL_DATA) ./trigger/modules/*.lua $(1)/lib/config/trigger/
  74. $(INSTALL_DATA) $(PKG_BUILD_DIR)/trigger/uci_trigger.so $(1)/usr/lib/
  75. $(INSTALL_BIN) ./trigger/apply_config $(1)/usr/sbin/
  76. endef
  77. define Package/uci/install
  78. $(INSTALL_DIR) $(1)/etc/uci-defaults
  79. $(INSTALL_DIR) $(1)/sbin
  80. $(INSTALL_BIN) $(PKG_BUILD_DIR)/uci $(1)/sbin/
  81. $(CP) ./files/* $(1)/
  82. endef
  83. define Build/InstallDev
  84. $(INSTALL_DIR) $(1)/usr/include
  85. $(CP) $(PKG_BUILD_DIR)/uci{,_config}.h $(1)/usr/include
  86. $(INSTALL_DIR) $(1)/usr/lib
  87. $(CP) $(PKG_BUILD_DIR)/libuci.so* $(1)/usr/lib
  88. $(CP) $(PKG_BUILD_DIR)/libuci.a $(1)/usr/lib
  89. $(CP) $(PKG_BUILD_DIR)/libucimap.a $(1)/usr/lib
  90. endef
  91. $(eval $(call BuildPackage,uci))
  92. $(eval $(call BuildPackage,libuci))
  93. $(eval $(call BuildPackage,libuci-lua))
  94. $(eval $(call BuildPackage,ucitrigger))