Add strongswan (#1330)
[openwrt.git] / package / strongswan / Makefile
1
2 # Copyright (C) 2006 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id: Makefile $
8
9 include $(TOPDIR)/rules.mk
10 include $(INCLUDE_DIR)/kernel.mk
11
12 PKG_NAME:=strongswan
13 PKG_VERSION:=2.8.2
14 PKG_RELEASE:=1
15
16 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
17 PKG_SOURCE_URL:=http://download.strongswan.org/
18 PKG_MD5SUM:=57427f5b48123851a73b10d78dd4f8d6
19 PKG_CAT:=bzcat
20
21 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
22 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
23
24 include $(INCLUDE_DIR)/package.mk
25
26 define Package/strongswan/Default
27   TITLE:=strongSwan
28   DESCRIPTION:=\
29         strongSwan is an IPsec implementation for Linux.
30   URL:=http://www.strongswan.org/
31 endef
32
33 define Package/strongswan
34   $(call Package/strongswan/Default)
35   SECTION:=net
36   CATEGORY:=Network
37   DEPENDS:=+kmod-strongswan +libgmp @LINUX_2_4
38   TITLE+= (daemon)
39   DESCRIPTION+=\\\
40         \\\
41         This package contains the strongSwan user-land daemon.
42   URL:=http://www.strongswan.org/
43 endef
44
45 define KernelPackage/strongswan
46   SUBMENU:=Network Support
47   $(call Package/strongswan/Default)
48   TITLE+= (kernel module)
49   DESCRIPTION+=\\\
50         \\\
51         This package contains the strongSwan kernel module.
52   VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
53   FILES:=$(PKG_BUILD_DIR)/linux/net/ipsec/ipsec.$(LINUX_KMOD_SUFFIX)
54   AUTOLOAD:=$(call AutoLoad,50,ipsec)
55 endef
56
57 PKG_MAKE_OPTS:= \
58                 LINUX_RELEASE="$(LINUX_RELEASE)" \
59                 KERNELSRC="$(LINUX_DIR)" \
60                 ARCH="$(LINUX_KARCH)" \
61                 CROSS_COMPILE="$(TARGET_CROSS)" \
62                 USERCOMPILE="$(TARGET_CFLAGS) -I./linux/include -I$(STAGING_DIR)/usr/include -L$(STAGING_DIR)/usr/lib" \
63                 IPSECDIR="/usr/lib/ipsec" \
64                 INC_USRLOCAL="/usr" \
65
66 define Build/Compile
67         $(MAKE) -C $(PKG_BUILD_DIR) \
68                 $(TARGET_CONFIGURE_OPTS) \
69                 $(PKG_MAKE_OPTS) \
70                 LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
71                 DESTDIR="$(PKG_INSTALL_DIR)" \
72                 programs module install
73 endef
74
75 define Package/strongswan/install
76         $(CP) $(PKG_INSTALL_DIR)/* $(1)
77         $(INSTALL_DIR) $(1)/etc/init.d
78         $(INSTALL_DIR) $(1)/etc/config
79         $(INSTALL_DIR) $(1)/etc/cron.tick
80         $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
81         $(INSTALL_DIR) $(1)/etc/hotplug.d/button
82         $(INSTALL_BIN) ./files/ipsec.init   $(1)/etc/init.d/ipsec
83         $(INSTALL_BIN) ./files/ipsec.cron   $(1)/etc/cron.tick/ipsec-wakeup
84         $(INSTALL_BIN) ./files/ipsec.iface  $(1)/etc/hotplug.d/iface/65-ipsec
85         $(INSTALL_BIN) ./files/ipsec.button $(1)/etc/hotplug.d/button/65-ipsec
86         $(INSTALL_DATA) ./files/ipsec.config $(1)/etc/config/ipsec
87         $(INSTALL_DATA) ./files/ipsec.conf $(1)/etc/ipsec.conf
88         rm -rf $(1)/usr/share
89         rm -rf $(1)/usr/man
90         rm -rf $(1)/var
91         rm -rf $(1)/etc/rc.d
92         find $(1) -name \*.old | xargs rm -rf
93 endef
94
95 $(eval $(call BuildPackage,strongswan))
96 $(eval $(call KernelPackage,strongswan))