[packages] freecwmp: update to the latest 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-09-25
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:=4bfbd994921dee06a7a28bed1f2dee3d527490f4
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:=+libfreecwmp +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-libfreecwmp-include-path=$(STAGING_DIR)/usr/include \
76         --with-uci-include-path=$(STAGING_DIR)/usr/include \
77         --with-libubox-include-path=$(STAGING_DIR)/usr/include \
78         --with-libubus-include-path=$(STAGING_DIR)/usr/include
79
80 ifeq ($(BUILD_VARIANT),zstream)
81 CONFIGURE_ARGS += \
82         --enable-http=zstream \
83         --with-zstream-include-path=$(STAGING_DIR)/usr/include
84 endif
85
86 ifeq ($(BUILD_VARIANT),curl)
87 CONFIGURE_ARGS += \
88         --enable-http=curl
89 endif
90
91 ifeq ($(CONFIG_FREECWMP_ACS_MULTI),y)
92 CONFIGURE_ARGS += \
93         --enable-acs=multi
94 endif
95
96 ifeq ($(CONFIG_FREECWMP_ACS_HDM),y)
97 CONFIGURE_ARGS += \
98         --enable-acs=hdm
99 endif
100
101 ifeq ($(CONFIG_FREECWMP_DEBUG),y)
102 CONFIGURE_ARGS += \
103         --enable-debug
104 endif
105
106 ifeq ($(CONFIG_FREECWMP_DEVEL_DEBUG),y)
107 CONFIGURE_ARGS += \
108         --enable-devel
109 endif
110
111 define Package/freecwmp-$(BUILD_VARIANT)/conffiles
112 /etc/config/freecwmp
113 /usr/share/freecwmp/defaults
114 endef
115
116 define Package/freecwmp-$(BUILD_VARIANT)/install
117         $(INSTALL_DIR) $(1)/usr/sbin
118         $(CP) $(PKG_BUILD_DIR)/bin/freecwmpd $(1)/usr/sbin
119         $(INSTALL_DIR) $(1)/etc/config
120         $(INSTALL_CONF) $(PKG_BUILD_DIR)/ext/openwrt/config/freecwmp $(1)/etc/config
121         $(INSTALL_DIR) $(1)/etc/init.d
122         $(INSTALL_BIN) ./files/freecwmpd.init $(1)/etc/init.d/freecwmpd
123 ifeq ($(CONFIG_FREECWMP_SCRIPTS_FULL),y)
124         $(INSTALL_DIR) $(1)/usr/share/freecwmp
125         $(CP) $(PKG_BUILD_DIR)/ext/openwrt/scripts/defaults $(1)/usr/share/freecwmp
126         $(CP) $(PKG_BUILD_DIR)/ext/openwrt/scripts/functions $(1)/usr/share/freecwmp
127         $(INSTALL_DIR) $(1)/usr/sbin
128         $(INSTALL_BIN) $(PKG_BUILD_DIR)/ext/openwrt/scripts/freecwmp.sh $(1)/usr/sbin/freecwmp
129 endif
130 endef
131
132 $(eval $(call BuildPackage,freecwmp-curl))
133 $(eval $(call BuildPackage,freecwmp-zstream))