Add gw6c and make it link against uclibcxx (#2125)
[packages.git] / ipv6 / gw6c / Makefile
1
2 # Copyright (C) 2008 OpenWrt.org
3 #
4 # $Id: $
5
6 include $(TOPDIR)/rules.mk
7
8 PKG_NAME:=gw6c
9 PKG_VERSION:=5.0
10 PKG_RELEASE:=1
11
12 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
13 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
14
15 include $(INCLUDE_DIR)/package.mk
16
17 define Package/gw6c
18   SECTION:=ipv6
19   CATEGORY:=IPv6
20   DEPENDS:=+libpthread +ip +kmod-tun +kmod-ipv6 +uclibcxx +radvd
21   TITLE:=IPv6 tunnel client software
22   URL:=http://www.go6.net
23 endef
24
25 define Package/gw6c/description
26   Client to configure an IPv6 tunnel to
27   Hexago/freenet6/go6.net's migration broker.
28 endef
29
30 define Build/Prepare
31         wget -t1 --timeout=20 -O $(DL_DIR)/$(PKG_NAME)-$(PKG_VERSION).tar.bz2 "http://www.go6.net/4105/file.asp?file_id=136"
32         $(INSTALL_DIR) $(PKG_BUILD_DIR)
33         bzcat $(DL_DIR)/$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | $(TAR) -C $(PKG_BUILD_DIR) -xvf -
34         $(CP) $(PKG_BUILD_DIR)/gw6c/src/gw6c-config/gw6cconfig/gw6c_c_wrapper.h $(PKG_BUILD_DIR)/gw6c/src/gw6c/include
35 endef
36
37 GW6C_OPTS:= \
38         C_COMPILER="$(TARGET_CC) -c -DNO_STDLIBCXX" \
39         COMPILER="$(TARGET_CROSS)g++ -c -DNO_STDLIBCXX" \
40         CPP_FLAGS="$(TARGET_CFLAGS) -fno-builtin -nostdinc++ -I. -Wall -DNDEBUG -I$(STAGING_DIR)/usr/include/uClibc++ -I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
41         RANLIB="$(TARGET_CROSS)ranlib" \
42         ARCHIVER="$(TARGET_CROSS)ar" \
43         C_LINKER="$(TARGET_CC)" \
44         LINKER="$(TARGET_CROSS)g++" \
45         exportdir=$(PKG_BUILD_DIR)/gw6c/src/gw6c \
46         export
47
48 define Build/Compile
49         $(MAKE) -C $(PKG_BUILD_DIR)/gw6c/src/gw6c-config \
50                 $(GW6C_OPTS)
51         $(MAKE) -C $(PKG_BUILD_DIR)/gw6c/src/gw6c-messaging \
52                 $(GW6C_OPTS)
53         $(MAKE) -C $(PKG_BUILD_DIR)/gw6c/src/gw6c \
54                 CC="$(TARGET_CC)" \
55                 CFLAGS="$(TARGET_CFLAGS) -fno-builtin -Wall -I$(PKG_BUILD_DIR)/gw6c/src/gw6c/include \
56                         -I$(PKG_BUILD_DIR)/gw6c/src/gw6c/platform/openwrt -I$(PKG_BUILD_DIR)/gw6c/src/gw6c" \
57                 LDFLAGS="-L$(PKG_BUILD_DIR)/gw6c/src/gw6c/gw6cconfig \
58                         -L$(PKG_BUILD_DIR)/gw6c/src/gw6c/gw6cmessaging \
59                         -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib -nodefaultlibs -luClibc++ -lgcc_s" \
60                 target="openwrt" \
61                 installdir="$(PKG_INSTALL_DIR)"
62 endef
63
64 define Package/gw6c/install
65         $(INSTALL_DIR) $(1)/usr/sbin
66         $(INSTALL_BIN) $(PKG_BUILD_DIR)/gw6c/src/gw6c/bin/$(PKG_NAME) $(1)/usr/sbin
67         $(INSTALL_DIR) $(1)/usr/share/gw6c/template
68         $(CP) ./files/openwrt.sh $(1)/usr/share/gw6c/template
69         $(INSTALL_DIR) $(1)/etc/init.d
70         $(INSTALL_BIN) ./files/gw6c.init $(1)/etc/init.d/gw6c
71         $(INSTALL_DIR) $(1)/etc/config
72         $(INSTALL_CONF) ./files/gw6c.config $(1)/etc/config/gw6c
73 endef
74
75 $(eval $(call BuildPackage,gw6c))