Makefile 2.9 KB

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