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