9d2a85b63cb12d4934bfcd752fcefc2eb141a152
[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-06-11
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:=dffa3fa23842e5dc3e69228692a6087bf22bf68e
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:=+libubox +libmicroxml +shflags @BROKEN
37   MENU:=1
38 endef
39
40 define Package/freecwmp/description
41  A free client implementation of CWMP (TR-069) protocol
42 endef
43
44 define Package/freecwmp-curl
45   $(call Package/freecwmp/Default)
46   TITLE+= (using libcurl)
47   DEPENDS += +libcurl
48   VARIANT:=curl
49 endef
50
51 define Package/freecwmp-zstream
52   $(call Package/freecwmp/Default)
53   TITLE += (using libzstream)
54   DEPENDS += +libzstream
55   VARIANT:=zstream
56 endef
57
58 define Package/freecwmp-curl/config
59         source "$(SOURCE)/Config-curl.in"
60 endef
61
62 define Package/freecwmp-zstream/config
63         source "$(SOURCE)/Config-zstream.in"
64 endef
65
66 USE_LOCAL=$(shell ls ./src/ 2>/dev/null >/dev/null && echo 1)
67 ifneq ($(USE_LOCAL),)
68 define Build/Prepare
69         $(CP) ./src/* $(PKG_BUILD_DIR)/
70 endef
71 endif
72
73 TARGET_CFLAGS += \
74         -D_GNU_SOURCE
75
76 TARGET_LDFLAGS += \
77         -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
78
79 CONFIGURE_ARGS += \
80         --with-uci-include-path=$(STAGING_DIR)/usr/include \
81         --with-libubox-include-path=$(STAGING_DIR)/usr/include
82
83 ifeq ($(BUILD_VARIANT),zstream)
84 CONFIGURE_ARGS += \
85         --enable-http=zstream \
86         --with-zstream-include-path=$(STAGING_DIR)/usr/include
87 endif
88
89 ifeq ($(BUILD_VARIANT),curl)
90 CONFIGURE_ARGS += \
91         --enable-http=curl
92 endif
93
94 ifeq ($(CONFIG_FREECWMP_ACS_MULTI),y)
95 CONFIGURE_ARGS += \
96         --enable-acs=multi
97 endif
98
99 ifeq ($(CONFIG_FREECWMP_ACS_HDM),y)
100 CONFIGURE_ARGS += \
101         --enable-acs=hdm
102 endif
103
104 ifeq ($(CONFIG_FREECWMP_DEBUG),y)
105 CONFIGURE_ARGS += \
106         --enable-debug
107 endif
108
109 ifeq ($(CONFIG_FREECWMP_DEVEL_DEBUG),y)
110 CONFIGURE_ARGS += \
111         --enable-devel-debug
112 endif
113
114 define Package/freecwmp-$(BUILD_VARIANT)/conffiles
115 /etc/config/freecwmp
116 /usr/share/freecwmp/defaults
117 endef
118
119 define Package/freecwmp-$(BUILD_VARIANT)/install
120         $(INSTALL_DIR) $(1)/usr/sbin
121         $(CP) $(PKG_BUILD_DIR)/bin/freecwmpd $(1)/usr/sbin
122         $(INSTALL_DIR) $(1)/etc/config
123         $(INSTALL_CONF) $(PKG_BUILD_DIR)/ext/openwrt/config/freecwmp $(1)/etc/config
124         $(INSTALL_DIR) $(1)/etc/init.d
125         $(INSTALL_BIN) ./files/freecwmpd.init $(1)/etc/init.d/freecwmpd
126 ifeq ($(CONFIG_FREECWMP_SCRIPTS_FULL),y)
127         $(INSTALL_DIR) $(1)/usr/share/freecwmp
128         $(CP) $(PKG_BUILD_DIR)/ext/openwrt/scripts/defaults $(1)/usr/share/freecwmp
129         $(CP) $(PKG_BUILD_DIR)/ext/openwrt/scripts/functions $(1)/usr/share/freecwmp
130         $(INSTALL_DIR) $(1)/usr/sbin
131         $(INSTALL_BIN) $(PKG_BUILD_DIR)/ext/openwrt/scripts/freecwmp.sh $(1)/usr/sbin/freecwmp
132 endif
133 endef
134
135 $(eval $(call BuildPackage,freecwmp-curl))
136 $(eval $(call BuildPackage,freecwmp-zstream))