precompile ppp active filter (reduces libpcap overhead to only a few k), enable by...
[openwrt/svn-archive/archive.git] / openwrt / package / ppp / Makefile
1 # $Id$
2
3 include $(TOPDIR)/rules.mk
4
5 PKG_NAME:=ppp
6 PKG_VERSION:=2.4.3
7 PKG_RELEASE:=7
8 PKG_MD5SUM:=848f6c3cafeb6074ffeb293c3af79b7c
9
10 PKG_SOURCE_URL:=ftp://ftp.samba.org/pub/ppp/
11 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
12 PKG_CAT:=zcat
13
14 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
15 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
16
17 include $(TOPDIR)/package/rules.mk
18
19 define PKG_mod_template
20
21 $$(IPKG_$(1)):
22 install -d -m0755 $$(IDIR_$(1))/usr/lib/pppd/$(PKG_VERSION)
23 install -m0755 $(PKG_INSTALL_DIR)/usr/lib/pppd/$(PKG_VERSION)/$(2).so \
24 $$(IDIR_$(1))/usr/lib/pppd/$(PKG_VERSION)/
25 $(RSTRIP) $$(IDIR_$(1))
26 $(IPKG_BUILD) $$(IDIR_$(1)) $(PACKAGE_DIR)
27
28 endef
29
30 $(eval $(call PKG_template,PPP,ppp,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
31 $(eval $(call PKG_template,PPP_MOD_PPPOA,ppp-mod-pppoa,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
32 $(eval $(call PKG_template,PPP_MOD_PPPOE,ppp-mod-pppoe,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
33 $(eval $(call PKG_template,PPP_MOD_RADIUS,ppp-mod-radius,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
34 $(eval $(call PKG_template,CHAT,chat,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
35 $(eval $(call PKG_template,PPPDUMP,pppdump,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
36 $(eval $(call PKG_template,PPPSTATS,pppstats,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
37
38 $(eval $(call PKG_mod_template,PPP_MOD_PPPOA,pppoatm))
39 $(eval $(call PKG_mod_template,PPP_MOD_PPPOE,rp-pppoe))
40 $(eval $(call PKG_mod_template,PPP_MOD_RADIUS,radius))
41
42 PKG_DEPEND:="kmod-ppp"
43 ifeq ($(BR2_PACKAGE_PPP_WITH_FILTER),y)
44 ENABLE_FILTER:="PRECOMPILED_FILTER=1"
45 endif
46
47 $(PKG_BUILD_DIR)/.configured:
48 (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
49 $(TARGET_CONFIGURE_OPTS) \
50 CFLAGS="$(TARGET_CFLAGS)" \
51 ./configure \
52 --target=$(GNU_TARGET_NAME) \
53 --host=$(GNU_TARGET_NAME) \
54 --build=$(GNU_HOST_NAME) \
55 --program-prefix="" \
56 --program-suffix="" \
57 --prefix=/usr \
58 --exec-prefix=/usr \
59 --bindir=/usr/bin \
60 --datadir=/usr/share \
61 --includedir=/usr/include \
62 --infodir=/usr/share/info \
63 --libdir=/usr/lib \
64 --libexecdir=/usr/lib \
65 --localstatedir=/var \
66 --mandir=/usr/share/man \
67 --sbindir=/usr/sbin \
68 --sysconfdir=/etc \
69 $(DISABLE_LARGEFILE) \
70 $(DISABLE_NLS) \
71 )
72 touch $@
73
74 $(PKG_BUILD_DIR)/.built:
75 rm -rf $(PKG_INSTALL_DIR)
76 mkdir -p $(PKG_INSTALL_DIR)/usr
77 $(MAKE) -C $(PKG_BUILD_DIR) \
78 CC=$(TARGET_CC) \
79 COPTS="$(TARGET_CFLAGS)" \
80 HAVE_INET6="1" \
81 $(ENABLE_FILTER) \
82 STAGING_DIR=$(STAGING_DIR) \
83 DESTDIR="$(PKG_INSTALL_DIR)/usr" \
84 all install
85 touch $@
86
87 ifeq ($(BR2_PACKAGE_PPP_WITH_FILTER),y)
88 INSTALL_FILTER=install -m0644 ./files/etc/ppp/filter $(IDIR_PPP)/etc/ppp/
89 endif
90
91 $(IPKG_PPP):
92 install -d -m0755 $(IDIR_PPP)/etc/ppp
93 ln -sf /tmp/resolv.conf $(IDIR_PPP)/etc/ppp/resolv.conf
94 install -m0600 ./files/etc/ppp/chap-secrets $(IDIR_PPP)/etc/ppp/
95 install -m0644 ./files/etc/ppp/options $(IDIR_PPP)/etc/ppp/
96 $(INSTALL_FILTER)
97 install -m0755 ./files/etc/ppp/ip-up $(IDIR_PPP)/etc/ppp/
98 install -m0755 ./files/etc/ppp/ip-down $(IDIR_PPP)/etc/ppp/
99 install -d -m0755 $(IDIR_PPP)/usr/sbin
100 install -m0755 $(PKG_INSTALL_DIR)/usr/sbin/pppd $(IDIR_PPP)/usr/sbin/
101 install -d -m0755 $(IDIR_PPP)/usr/lib/pppd
102 echo "Depends: $(PKG_DEPEND)" >> $(IDIR_PPP)/CONTROL/control
103 $(RSTRIP) $(IDIR_PPP)
104 $(IPKG_BUILD) $(IDIR_PPP) $(PACKAGE_DIR)
105
106 $(IDIR_PPP_MOD_PPPOA)/sbin/ifup.pppoa:
107 install -d -m0755 $(IDIR_PPP_MOD_PPPOA)/sbin
108 install -m0755 ./files/ifup.pppoa $(IDIR_PPP_MOD_PPPOA)/sbin/
109
110 $(IPKG_PPP_MOD_PPPOA): $(IDIR_PPP_MOD_PPPOA)/sbin/ifup.pppoa
111
112 $(IDIR_PPP_MOD_PPPOE)/sbin/ifup.pppoe:
113 install -d -m0755 $(IDIR_PPP_MOD_PPPOE)/sbin
114 install -m0755 ./files/ifup.pppoe $(IDIR_PPP_MOD_PPPOE)/sbin/
115
116 $(IPKG_PPP_MOD_PPPOE): $(IDIR_PPP_MOD_PPPOE)/sbin/ifup.pppoe
117
118 $(IDIR_PPP_MOD_RADIUS)/etc/ppp/radius.conf:
119 install -d -m0755 $(IDIR_PPP_MOD_RADIUS)/etc/ppp
120 install -m644 ./files/etc/ppp/radius.conf $(IDIR_PPP_MOD_RADIUS)/etc/ppp/
121 install -d -m0755 $(IDIR_PPP_MOD_RADIUS)/etc/ppp/radius
122 install -m644 ./files/etc/ppp/radius/dictionary* \
123 $(IDIR_PPP_MOD_RADIUS)/etc/ppp/radius/
124 install -m600 ./files/etc/ppp/radius/servers \
125 $(IDIR_PPP_MOD_RADIUS)/etc/ppp/radius/
126
127 $(IPKG_PPP_MOD_RADIUS): $(IDIR_PPP_MOD_RADIUS)/etc/ppp/radius.conf
128
129 $(IPKG_CHAT):
130 install -d -m0755 $(IDIR_CHAT)/usr/sbin
131 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/chat $(IDIR_CHAT)/usr/sbin/
132 $(RSTRIP) $(IDIR_CHAT)
133 $(IPKG_BUILD) $(IDIR_CHAT) $(PACKAGE_DIR)
134
135 $(IPKG_PPPDUMP):
136 install -d -m0755 $(IDIR_PPPDUMP)/usr/sbin
137 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/pppdump $(IDIR_PPPDUMP)/usr/sbin/
138 $(RSTRIP) $(IDIR_PPPDUMP)
139 $(IPKG_BUILD) $(IDIR_PPPDUMP) $(PACKAGE_DIR)
140
141 $(IPKG_PPPSTATS): $(IPKG_PPP)
142 install -d -m0755 $(IDIR_PPPSTATS)/usr/sbin
143 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/pppstats $(IDIR_PPPSTATS)/usr/sbin/
144 $(RSTRIP) $(IDIR_PPPSTATS)
145 $(IPKG_BUILD) $(IDIR_PPPSTATS) $(PACKAGE_DIR)
146