Improved autorebuild for kernel related stuff.
[openwrt.git] / package / kernel / modules / network.mk
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$
8
9 NSMENU:=Network Support
10
11 define KernelPackage/atm
12   TITLE:=ATM support
13   DEPENDS:=@ATM_SUPPORT
14   DESCRIPTION:= \
15     Kernel modules for ATM support
16   FILES:= \
17     $(LINUX_DIR)/net/atm/atm.$(LINUX_KMOD_SUFFIX) \
18     $(LINUX_DIR)/net/atm/br2684.$(LINUX_KMOD_SUFFIX)
19   KCONFIG:=$(CONFIG_ATM)
20   SUBMENU:=$(NSMENU)
21   AUTOLOAD:=$(call AutoLoad,30,atm br2684)
22 endef
23 $(eval $(call KernelPackage,atm))
24
25 define KernelPackage/atmtcp
26   TITLE:=ATM over TCP
27   DESCRIPTION:= \
28     Kernel module for ATM over TCP support
29   DEPENDS:=@LINUX_2_6 kmod-atm
30   FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.$(LINUX_KMOD_SUFFIX)
31   KCONFIG:=$(CONFIG_ATM_TCP)
32   SUBMENU:=$(NSMENU)
33   AUTOLOAD:=$(call AutoLoad,40,atmtcp)
34 endef
35 $(eval $(call KernelPackage,atmtcp))
36
37 define KernelPackage/bonding
38   TITLE:=Ethernet bonding driver
39   DESCRIPTION:= \
40     Kernel module for NIC bonding.
41   DEPENDS:=@LINUX_2_6_X86
42   FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.$(LINUX_KMOD_SUFFIX)
43   KCONFIG:=$(CONFIG_BONDING)
44   SUBMENU:=$(NSMENU)
45   AUTOLOAD:=$(call AutoLoad,40,bonding)
46 endef
47 $(eval $(call KernelPackage,bonding))
48
49 define KernelPackage/ipip
50   TITLE:=IP in IP encapsulation support
51   DESCRIPTION:=\
52         Kernel modules for IP in IP encapsulation
53   KCONFIG:=$(CONFIG_NET_IPIP)
54   SUBMENU:=$(NSMENU)
55 endef
56 $(eval $(call KernelPackage,ipip))
57
58 define KernelPackage/ipip/2.4
59   FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
60   AUTOLOAD:=$(call AutoLoad,30,ipip)
61 endef
62
63 define KernelPackage/ipip/2.6
64   FILES:= \
65         $(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX) \
66         $(LINUX_DIR)/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
67   AUTOLOAD:=$(call AutoLoad,30,ipip tunnel4)
68 endef
69
70
71 define KernelPackage/ipsec
72   TITLE:=IPsec related modules (IPv4 and IPv6)
73   DESCRIPTION:=\
74         Kernel modules for IPsec support in both IPv4 and IPv6.\\\
75         Includes:\\\
76         - af_key\\\
77         - xfrm_user
78   SUBMENU:=$(NSMENU)
79   DEPENDS:=@LINUX_2_6
80   KCONFIG:=$(CONFIG_NET_KEY)
81   FILES:= \
82         $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
83         $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
84 endef
85 $(eval $(call KernelPackage,ipsec))
86
87 define KernelPackage/ipsec4
88   TITLE:=IPsec related modules (IPv4)
89   DESCRIPTION:=\
90         Kernel modules for IPsec support in IPv4.\\\
91         Includes:\\\
92         - ah4\\\
93         - esp4\\\
94         - ipcomp\\\
95         - xfrm4_tunnel
96   SUBMENU:=$(NSMENU)
97   KCONFIG:=$(CONFIG_INET_AH)
98   DEPENDS:=kmod-ipsec
99   FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_tunnel, \
100         $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
101   )
102 endef
103 $(eval $(call KernelPackage,ipsec4))
104
105 define KernelPackage/ipsec6
106   TITLE:=IPsec related modules (IPv6)
107   DESCRIPTION:=\
108         Kernel modules for IPsec support in IPv6.\\\
109         Includes:\\\
110         - ah6\\\
111         - esp6\\\
112         - ipcomp6\\\
113         - xfrm6_tunnel
114   SUBMENU:=$(NSMENU)
115   KCONFIG:=$(CONFIG_INET6_AH)
116   DEPENDS:=kmod-ipsec
117   FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_tunnel, \
118         $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
119   )
120 endef
121 $(eval $(call KernelPackage,ipsec6))
122
123
124 define KernelPackage/ipv6
125   TITLE:=IPv6 support
126   DESCRIPTION:=\
127         Kernel modules for IPv6 support
128   KCONFIG:=$(CONFIG_IPV6)
129   SUBMENU:=$(NSMENU)
130 endef
131 define KernelPackage/ipv6/2.4
132   FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
133 endef
134 define KernelPackage/ipv6/2.6
135   FILES:= \
136         $(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX) \
137         $(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
138 endef
139 $(eval $(call KernelPackage,ipv6))
140
141
142 define KernelPackage/gre
143   TITLE:=GRE support
144   DESCRIPTION:=\
145         Generic Routing Encapsulation support
146   KCONFIG=$(CONFIG_NET_IPGRE)
147   FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
148   SUBMENU:=$(NSMENU)
149 endef
150 $(eval $(call KernelPackage,gre))
151
152
153 define KernelPackage/tun
154   TITLE:=Universal TUN/TAP driver
155   DESCRIPTION:=\
156         Kernel support for the TUN/TAP tunneling device
157   KCONFIG:=$(CONFIG_TUN)
158   FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
159   SUBMENU:=$(NSMENU)
160   AUTOLOAD:=$(call AutoLoad,30,tun)
161 endef
162 $(eval $(call KernelPackage,tun))
163
164
165 define KernelPackage/ppp
166   TITLE:=PPP modules
167   DESCRIPTION:=\
168         Kernel modules for PPP support
169   KCONFIG:=$(CONFIG_PPP)
170   SUBMENU:=$(NSMENU)
171 endef
172
173 define KernelPackage/ppp/2.6
174   FILES:= \
175         $(LINUX_DIR)/drivers/net/ppp_async.ko \
176         $(LINUX_DIR)/drivers/net/ppp_generic.ko \
177         $(LINUX_DIR)/drivers/net/slhc.ko \
178         $(LINUX_DIR)/lib/crc-ccitt.ko
179   AUTOLOAD:=$(call AutoLoad,30,crc-ccitt slhc ppp_generic ppp_async)
180 endef
181
182 define KernelPackage/ppp/2.4
183   FILES:= \
184         $(LINUX_DIR)/drivers/net/ppp_async.o \
185         $(LINUX_DIR)/drivers/net/ppp_generic.o \
186         $(LINUX_DIR)/drivers/net/slhc.o
187   AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
188 endef
189 $(eval $(call KernelPackage,ppp))
190
191
192 define KernelPackage/pppoe
193   TITLE:=PPPoE support
194   DESCRIPTION:=\
195         Kernel modules for PPPoE (PPP over Ethernet) support
196   DEPENDS:=kmod-ppp
197   KCONFIG:=$(CONFIG_PPPOE)
198   FILES:= \
199         $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
200         $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
201   SUBMENU:=$(NSMENU)
202 endef
203 $(eval $(call KernelPackage,pppoe))
204
205
206 define KernelPackage/pppoa
207   TITLE:=PPPoA support
208   DESCRIPTION:=\
209         Kernel modules for PPPoA (PPP over ATM) support
210   DEPENDS:=kmod-ppp
211   KCONFIG:=$(CONFIG_PPPOATM)
212   FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
213   AUTOLOAD:=$(call AutoLoad,40,pppoatm)
214   SUBMENU:=$(NSMENU)
215 endef
216 $(eval $(call KernelPackage,pppoa))
217
218
219 define KernelPackage/mppe
220   TITLE:=Microsoft PPP compression/encryption
221   DESCRIPTION:=Kernel modules for Microsoft PPP compression/encryption
222   DEPENDS:=kmod-ppp
223   KCONFIG:=$(CONFIG_PPP_MPPE)
224   SUBMENU:=$(NSMENU)
225 endef
226
227 define KernelPackage/mppe/2.4
228   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
229 endef
230
231 define KernelPackage/mppe/2.6
232   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
233 endef
234 $(eval $(call KernelPackage,mppe))
235
236
237 define KernelPackage/sched
238   TITLE:=Traffic schedulers
239   DESCRIPTION:=\
240         Kernel schedulers for IP traffic
241   FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
242   SUBMENU:=$(NSMENU)
243 endef
244 $(eval $(call KernelPackage,sched))
245
246
247
248 define KernelPackage/ax25
249   TITLE:=AX25 support
250   DESCRIPTION:=Kernel modules for AX25 support
251   SUBMENU:=$(NSMENU)
252   KCONFIG:=$(CONFIG_AX25)
253   FILES:= \
254         $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
255         $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
256   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
257 endef
258 $(eval $(call KernelPackage,ax25))
259
260
261
262
263 NDMENU:=Network Devices
264
265 define KernelPackage/natsemi
266   TITLE:=National Semiconductor DP8381x series 
267   DESCRIPTION:=\
268         Kernel modules for National Semiconductor DP8381x series PCI Ethernet \\\
269         adapters.
270   FILES:=$(LINUX_DIR)/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
271   KCONFIG:=$(CONFIG_NATSEMI)
272   DEPENDS:=@LINUX_2_6_X86
273   SUBMENU:=$(NDMENU)
274   AUTOLOAD:=$(call AutoLoad,20,natsemi)
275 endef
276 $(eval $(call KernelPackage,natsemi))
277
278 define KernelPackage/sis900
279   TITLE:=SiS 900 Ethernet support
280   DESCRIPTION:=\
281         Kernel modules for Sis 900 Ethernet adapters.
282   FILES:=$(LINUX_DIR)/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
283   KCONFIG:=$(CONFIG_SIS900)
284   DEPENDS:=@LINUX_2_6_X86
285   SUBMENU:=$(NDMENU)
286   AUTOLOAD:=$(call AutoLoad,50,sis900)
287 endef
288 $(eval $(call KernelPackage,sis900))
289
290 define KernelPackage/via-rhine
291   TITLE:=Via Rhine ethernet support
292   DESCRIPTION:=\
293         Kernel modules for Via Rhine Ethernet chipsets.
294   FILES:=$(LINUX_DIR)/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
295   KCONFIG:=$(CONFIG_VIA_RHINE)
296   DEPENDS:=@LINUX_2_6_X86
297   SUBMENU:=$(NDMENU)
298   AUTOLOAD:=$(call AutoLoad,50,via-rhine)
299 endef
300 $(eval $(call KernelPackage,via-rhine))
301
302 define KernelPackage/8139too
303   TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
304   DESCRIPTION:=\
305         Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
306   FILES:=$(LINUX_DIR)/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
307   KCONFIG:=$(CONFIG_8139TOO)
308   DEPENDS:=@LINUX_2_6_X86
309   SUBMENU:=$(NDMENU)
310   AUTOLOAD:=$(call AutoLoad,50,8139too)
311 endef
312 $(eval $(call KernelPackage,8139too))
313
314 define KernelPackage/r8169
315   TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
316   DESCRIPTION:=\
317         Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
318   FILES:=$(LINUX_DIR)/drivers/net/r8169.$(LINUX_KMOD_SUFFIX)
319   KCONFIG:=$(CONFIG_R8169)
320   DEPENDS:=@LINUX_2_6_X86 
321   SUBMENU:=$(NDMENU)
322   AUTOLOAD:=$(call AutoLoad,50,r8169)
323 endef
324 $(eval $(call KernelPackage,r8169))
325
326 define KernelPackage/ne2k-pci
327   TITLE:=ne2k-pci Ethernet Adapter kernel support
328   DESCRIPTION:=\
329         ne2k-pci Ethernet Adapter kernel support.
330   FILES:=$(LINUX_DIR)/drivers/net/ne2k-pci.$(LINUX_KMOD_SUFFIX) \
331         $(LINUX_DIR)/drivers/net/8390.$(LINUX_KMOD_SUFFIX)
332   KCONFIG:=$(CONFIG_NE2K_PCI)
333   DEPENDS:=@LINUX_2_6_X86
334   SUBMENU:=$(NDMENU)
335   AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
336 endef
337 $(eval $(call KernelPackage,ne2k-pci))
338
339 define KernelPackage/ixp4xx-npe
340   TITLE:=Intel(R) IXP4xx ethernet support
341   DESCRIPTION:=\
342         Kernel modules for Intel(R) IXP4xx onboard ethernet.
343   FILES:=$(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_npe.$(LINUX_KMOD_SUFFIX) \
344         $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_qmgr.$(LINUX_KMOD_SUFFIX) \
345         $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_mac.$(LINUX_KMOD_SUFFIX)
346   KCONFIG:=$(CONFIG_IXP4XX_MAC)
347   DEPENDS:=@LINUX_2_6_IXP4XX
348   SUBMENU:=$(NDMENU)
349   AUTOLOAD:=$(call AutoLoad,20,ixp4xx_npe ixp4xx_qmgr ixp4xx_mac)
350 endef
351 $(eval $(call KernelPackage,ixp4xx-npe))
352
353 define KernelPackage/e100
354   TITLE:=Intel(R) PRO/100+ cards kernel support
355   DESCRIPTION:=\
356         Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
357   FILES:=$(LINUX_DIR)/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
358   KCONFIG:=$(CONFIG_E100)
359   DEPENDS:=@LINUX_2_6_X86
360   SUBMENU:=$(NDMENU)
361   AUTOLOAD:=$(call AutoLoad,50,e100)
362 endef
363 $(eval $(call KernelPackage,e100))
364
365 define KernelPackage/e1000
366   TITLE:=Intel(R) PRO/1000 cards kernel support
367   DESCRIPTION:=\
368         Kernel modules for Intel(R) PRO/1000 Ethernet adapters.
369   FILES:=$(LINUX_DIR)/drivers/net/e1000/e1000.$(LINUX_KMOD_SUFFIX)
370   KCONFIG:=$(CONFIG_E1000)
371   DEPENDS:=@LINUX_2_6_X86
372   SUBMENU:=$(NDMENU)
373   AUTOLOAD:=$(call AutoLoad,50,e1000)
374 endef
375 $(eval $(call KernelPackage,e1000))
376
377 define KernelPackage/3c59x
378   TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
379   DESCRIPTION:=\
380         This option enables driver support for a large number of 10mbps and \\\
381         10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
382         - "Vortex"    (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
383         - "Boomerang" (EtherLink XL 3c900 or 3c905)            PCI \\\
384         - "Cyclone"   (3c540/3c900/3c905/3c980/3c575/3c656)    PCI and Cardbus \\\
385         - "Tornado"   (3c905)                                  PCI  \\\
386         - "Hurricane" (3c555/3cSOHO)                           PCI 
387   FILES:=$(LINUX_DIR)/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
388   KCONFIG:=$(CONFIG_3C59X)
389   DEPENDS:=@LINUX_2_6_X86
390   SUBMENU:=$(NDMENU)
391   AUTOLOAD:=$(call AutoLoad,50,3c59x)
392 endef
393 $(eval $(call KernelPackage,3c59x))