[packages] freecwmp: update to latest git version
[packages.git] / utils / freecwmp / Makefile
1 #
2 # Copyright (C) 2012 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=freecwmp
11 PKG_VERSION:=2012-08-02
12 PKG_RELEASE=$(PKG_SOURCE_VERSION)
13
14 PKG_SOURCE_PROTO:=git
15 PKG_SOURCE_URL:=git://dev.freecwmp.org/freecwmp
16 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
17 PKG_SOURCE_VERSION:=e5b23acadfd06e6ea9fac40e0bf9975fe25ee1e5
18 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
19
20 PKG_FIXUP:=autoreconf
21
22 PKG_CONFIG_DEPENDS:= \
23         CONFIG_FREECWMP_ACS_MULTI \
24         CONFIG_FREECWMP_ACS_HDM \
25         CONFIG_FREECWMP_DEBUG \
26         CONFIG_FREECWMP_DEVEL_DEBUG
27
28 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
29
30 include $(INCLUDE_DIR)/package.mk
31
32 define Package/freecwmp/Default
33   SECTION:=utils
34   CATEGORY:=Utilities
35   TITLE:=CWMP client
36   DEPENDS:=+libuci +libubox +libubus +libmicroxml +shflags
37 endef
38
39 define Package/freecwmp/description
40  A free client implementation of CWMP (TR-069) protocol
41 endef
42
43 define Package/freecwmp-curl
44   $(call Package/freecwmp/Default)
45   TITLE+= (using libcurl)
46   DEPENDS+= +libcurl
47   VARIANT:=curl
48 endef
49
50 define Package/freecwmp-zstream
51   $(call Package/freecwmp/Default)
52   TITLE+= (using libzstream)
53   DEPENDS+= +libzstream
54   VARIANT:=zstream
55 endef
56
57 define Package/freecwmp-zstream/config
58         source "$(SOURCE)/Config.in"
59 endef
60
61 USE_LOCAL=$(shell ls ./src/ 2>/dev/null >/dev/null && echo 1)
62 ifneq ($(USE_LOCAL),)
63 define Build/Prepare
64         $(CP) ./src/* $(PKG_BUILD_DIR)/
65 endef
66 endif
67
68 TARGET_CFLAGS += \
69         -D_GNU_SOURCE
70
71 TARGET_LDFLAGS += \
72         -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
73
74 CONFIGURE_ARGS += \
75         --with-uci-include-path=$(STAGING_DIR)/usr/include \
76         --with-libubox-include-path=$(STAGING_DIR)/usr/include \
77         --with-libubus-include-path=$(STAGING_DIR)/usr/include
78
79 ifeq ($(BUILD_VARIANT),zstream)
80 CONFIGURE_ARGS += \
81         --enable-http=zstream \
82         --with-zstream-include-path=$(STAGING_DIR)/usr/include
83 endif
84
85 ifeq ($(BUILD_VARIANT),curl)
86 CONFIGURE_ARGS += \
87         --enable-http=curl
88 endif
89
90 ifeq ($(CONFIG_FREECWMP_ACS_MULTI),y)
91 CONFIGURE_ARGS += \
92         --enable-acs=multi
93 endif
94
95 ifeq ($(CONFIG_FREECWMP_ACS_HDM),y)
96 CONFIGURE_ARGS += \
97         --enable-acs=hdm
98 endif
99
100 ifeq ($(CONFIG_FREECWMP_DEBUG),y)
101 CONFIGURE_ARGS += \
102         --enable-debug
103 endif
104
105 ifeq ($(CONFIG_FREECWMP_DEVEL_DEBUG),y)
106 CONFIGURE_ARGS += \
107         --enable-devel-debug
108 endif
109
110 define Package/freecwmp-$(BUILD_VARIANT)/conffiles
111 /etc/config/freecwmp
112 /usr/share/freecwmp/defaults
113 endef
114
115 define Package/freecwmp-$(BUILD_VARIANT)/install
116         $(INSTALL_DIR) $(1)/usr/sbin
117         $(CP) $(PKG_BUILD_DIR)/bin/freecwmpd $(1)/usr/sbin
118         $(INSTALL_DIR) $(1)/etc/config
119         $(INSTALL_CONF) $(PKG_BUILD_DIR)/ext/openwrt/config/freecwmp $(1)/etc/config
120         $(INSTALL_DIR) $(1)/etc/init.d
121         $(INSTALL_BIN) ./files/freecwmpd.init $(1)/etc/init.d/freecwmpd
122 ifeq ($(CONFIG_FREECWMP_SCRIPTS_FULL),y)
123         $(INSTALL_DIR) $(1)/usr/share/freecwmp
124         $(CP) $(PKG_BUILD_DIR)/ext/openwrt/scripts/defaults $(1)/usr/share/freecwmp
125         $(CP) $(PKG_BUILD_DIR)/ext/openwrt/scripts/functions $(1)/usr/share/freecwmp
126         $(INSTALL_DIR) $(1)/usr/sbin
127         $(INSTALL_BIN) $(PKG_BUILD_DIR)/ext/openwrt/scripts/freecwmp.sh $(1)/usr/sbin/freecwmp
128 endif
129 endef
130
131 $(eval $(call BuildPackage,freecwmp-curl))
132 $(eval $(call BuildPackage,freecwmp-zstream))