new (last?) attempt at standardizing Makefiles
[openwrt/openwrt.git] / openwrt / package / kernel / modules.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
10 define KernelPackage/crypto
11 TITLE:=CryptoAPI modules
12 KCONFIG:= \
13 $(CONFIG_CRYPTO_HMAC) \
14 $(CONFIG_CRYPTO_NULL) \
15 $(CONFIG_CRYPTO_MD4) \
16 $(CONFIG_CRYPTO_MD5) \
17 $(CONFIG_CRYPTO_SHA1) \
18 $(CONFIG_CRYPTO_SHA256) \
19 $(CONFIG_CRYPTO_SHA512) \
20 $(CONFIG_CRYPTO_WP512) \
21 $(CONFIG_CRYPTO_TGR192) \
22 $(CONFIG_CRYPTO_DES) \
23 $(CONFIG_CRYPTO_BLOWFISH) \
24 $(CONFIG_CRYPTO_TWOFISH) \
25 $(CONFIG_CRYPTO_SERPENT) \
26 $(CONFIG_CRYPTO_AES) \
27 $(CONFIG_CRYPTO_CAST5) \
28 $(CONFIG_CRYPTO_CAST6) \
29 $(CONFIG_CRYPTO_TEA) \
30 $(CONFIG_CRYPTO_ARC4) \
31 $(CONFIG_CRYPTO_KHAZAD) \
32 $(CONFIG_CRYPTO_ANUBIS) \
33 $(CONFIG_CRYPTO_DEFLATE) \
34 $(CONFIG_CRYPTO_MICHAEL_MIC) \
35 $(CONFIG_CRYPTO_CRC32C)
36 FILES:=$(MODULES_DIR)/kernel/crypto/*.$(LINUX_KMOD_SUFFIX)
37 endef
38 $(eval $(call KernelPackage,crypto))
39
40 define KernelPackage/ide-core
41 TITLE:=Kernel support for IDE
42 DESCRIPTION:=\
43 Useful for usb mass storage devices (e.g. on WL-HDD)\\\
44 \\\
45 Includes: \\\
46 - ide-core \\\
47 - ide-detect \\\
48 - ide-disk
49 KCONFIG:=$(CONFIG_IDE)
50 FILES:=$(MODULES_DIR)/kernel/drivers/ide/*.$(LINUX_KMOD_SUFFIX)
51 AUTOLOAD:=$(call AutoLoad,20,ide-core) $(call AutoLoad,90,ide-detect ide-disk)
52 endef
53 $(eval $(call KernelPackage,ide-core))
54
55 define KernelPackage/ide-pdc202xx
56 TITLE:=PDC202xx IDE driver
57 KCONFIG:=$(CONFIG_BLK_DEV_PDC202XX_OLD)
58 FILES:=$(MODULES_DIR)/kernel/drivers/ide/pci/pdc202xx_old.$(LINUX_KMOD_SUFFIX)
59 AUTOLOAD:=$(call AutoLoad,30,pdc202xx_old)
60 endef
61 $(eval $(call KernelPackage,ide-pdc202xx))
62
63 define KernelPackage/ieee80211softmac
64 TITLE:=802.11 Networking stack
65 DESCRIPTION:=\\\
66 \\\
67 Includes: \\\
68 - ieee80211_crypt \\\
69 - ieee80211 \\\
70 - ieee80211_crypt_wep \\\
71 - ieee80211_crypt_tkip \\\
72 - ieee80211_crytp_ccmp \\\
73 - ieee80211softmac
74 KCONFIG:=$(CONFIG_IEEE80211_SOFTMAC)
75 FILES:=$(MODULES_DIR)/kernel/net/ieee80211/*.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/net/ieee80211/softmac/*.$(LINUX_KMOD_SUFFIX)
76 AUTOLOAD:=$(call AutoLoad,10, \
77 ieee80211_crypt \
78 ieee80211 \
79 ieee80211_crypt_wep \
80 ieee80211_crypt_tkip \
81 ieee80211_crypt_ccmp \
82 ieee80211softmac \
83 )
84 endef
85 $(eval $(call KernelPackage,ieee80211softmac))
86
87
88 WIMENU:=Wireless drivers
89
90 define KernelPackage/bcm43xx
91 TITLE:=Broadcom BCM43xx driver
92 DESCRIPTION:=\\\
93 \\\
94 Includes: \\\
95 - bcm43xx
96 KCONFIG:=$(CONFIG_BCM43XX)
97 FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/bcm43xx/bcm43xx.$(LINUX_KMOD_SUFFIX)
98 AUTOLOAD:=$(call Autoload,50,bcm43xx)
99 SUBMENU:=$(WIMENU)
100 endef
101 $(eval $(call KernelPackage,bcm43xx))
102
103 define KernelPackage/ipw2100
104 TITLE:=Intel IPw2100 driver
105 DESCRIPTION:=\\\
106 \\\
107 Includes: \\\
108 - ipw2100
109 KCONFIG:=$(CONFIG_IPW2100)
110 FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/ipw2100.$(LINUX_KMOD_SUFFIX)
111 AUTOLOAD:=$(call Autoload,50,ipw2100)
112 SUBMENU:=$(WIMENU)
113 endef
114 $(eval $(call KernelPackage,ipw2100))
115
116 define KernelPackage/ipw2200
117 TITLE:=Intel IPw2200 driver
118 DESCRIPTION:=\\\
119 \\\
120 Includes: \\\
121 - ipw2200
122 KCONFIG:=$(CONFIG_IPW2200)
123 FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/ipw2200.$(LINUX_KMOD_SUFFIX)
124 AUTOLOAD:=$(call Autoload,50,ipw2200)
125 SUBMENU:=$(WIMENU)
126 endef
127 $(eval $(call KernelPackage,ipw2200))
128
129
130 NFMENU:=Netfilter Extensions
131
132 define KernelPackage/ipt-conntrack
133 TITLE:=Modules for connection tracking
134 DESCRIPTION:=\
135 Netfilter (IPv4) kernel modules for connection tracking\\\
136 \\\
137 Includes: \\\
138 - ipt_conntrack \\\
139 - ipt_helper \\\
140 - ipt_connmark/CONNMARK
141 FILES:=$(foreach mod,$(IPT_CONNTRACK-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
142 SUBMENU:=$(NFMENU)
143 endef
144 $(eval $(call KernelPackage,ipt-conntrack))
145
146 define KernelPackage/ipt-filter
147 TITLE:=Modules for packet content inspection
148 DESCRIPTION:=\
149 Netfilter (IPv4) kernel modules for packet content inspection \\\
150 \\\
151 Includes: \\\
152 - ipt_ipp2p \\\
153 - ipt_layer7
154 FILES:=$(foreach mod,$(IPT_FILTER-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
155 SUBMENU:=$(NFMENU)
156 endef
157 $(eval $(call KernelPackage,ipt-filter))
158
159 define KernelPackage/ipt-ipopt
160 TITLE:=Modules for matching/changing IP packet options
161 DESCRIPTION:=\
162 Netfilter (IPv4) modules for matching/changing IP packet options \\\
163 \\\
164 Includes: \\\
165 - ipt_dscp/DSCP \\\
166 - ipt_ecn/ECN \\\
167 - ipt_length \\\
168 - ipt_mac \\\
169 - ipt_tos/TOS \\\
170 - ipt_tcpmms \\\
171 - ipt_ttl/TTL \\\
172 - ipt_unclean
173 FILES:=$(foreach mod,$(IPT_IPOPT-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
174 SUBMENU:=$(NFMENU)
175 endef
176 $(eval $(call KernelPackage,ipt-ipopt))
177
178 define KernelPackage/ipt-ipsec
179 TITLE:=Modules for matching IPSec packets
180 DESCRIPTION:=\
181 Netfilter (IPv4) modules for matching IPSec packets \\\
182 \\\
183 Includes: \\\
184 - ipt_ah \\\
185 - ipt_esp
186 FILES:=$(foreach mod,$(IPT_IPSEC-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
187 SUBMENU:=$(NFMENU)
188 endef
189 $(eval $(call KernelPackage,ipt-ipsec))
190
191 define KernelPackage/ipt-nat
192 TITLE:=Modules for extra NAT targets
193 DESCRIPTION:=\
194 Netfilter (IPv4) modules for extra NAT targets \\\
195 \\\
196 Includes: \\\
197 - ipt_REDIRECT \\\
198 - ipt_NETMAP
199 FILES:=$(foreach mod,$(IPT_NAT-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
200 SUBMENU:=$(NFMENU)
201 endef
202 $(eval $(call KernelPackage,ipt-nat))
203
204 define KernelPackage/ipt-nathelper
205 TITLE:=Extra Conntrack and NAT helpers
206 DESCRIPTION:=\
207 Extra Netfilter (IPv4) Conntrack and NAT helpers \\\
208 \\\
209 Includes: \\\
210 - ip_conntrack_amanda \\\
211 - ip_conntrack_proto_gre \\\
212 - ip_nat_proto_gre \\\
213 - ip_conntrack_pptp \\\
214 - ip_nat_pptp \\\
215 - ip_conntrack_sip \\\
216 - ip_nat_sip \\\
217 - ip_nat_snmp_basic \\\
218 - ip_conntrack_tftp
219 FILES:=$(foreach mod,$(IPT_NAT_EXTRA-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
220 SUBMENU:=$(NFMENU)
221 endef
222 $(eval $(call KernelPackage,ipt-nathelper))
223
224 define KernelPackage/ipt-imq
225 TITLE:=Intermediate Queueing support
226 DESCRIPTION:=\
227 Kernel support for Intermediate Queueing devices
228 KCONFIG:=$(CONFIG_IP_NF_TARGET_IMQ)
229 FILES:=$(MODULES_DIR)/kernel/net/ipv4/netfilter/*IMQ*.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/drivers/net/imq.$(LINUX_KMOD_SUFFIX)
230 SUBMENU:=$(NFMENU)
231 endef
232 $(eval $(call KernelPackage,ipt-imq))
233
234
235 define KernelPackage/ipt-queue
236 TITLE:=Module for user-space packet queueing
237 DESCRIPTION:=\
238 Netfilter (IPv4) module for user-space packet queueing \\\
239 \\\
240 Includes: \\\
241 - ipt_QUEUE
242 FILES:=$(foreach mod,$(IPT_QUEUE-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
243 SUBMENU:=$(NFMENU)
244 endef
245 $(eval $(call KernelPackage,ipt-queue))
246
247 define KernelPackage/ipt-ulog
248 TITLE:=Module for user-space packet logging
249 DESCRIPTION:=\
250 Netfilter (IPv4) module for user-space packet logging \\\
251 \\\
252 Includes: \\\
253 - ipt_ULOG
254 FILES:=$(foreach mod,$(IPT_ULOG-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
255 SUBMENU:=$(NFMENU)
256 endef
257 $(eval $(call KernelPackage,ipt-ulog))
258
259 define KernelPackage/ipt-extra
260 TITLE:=Extra modules
261 DESCRIPTION:=\
262 Other Netfilter (IPv4) kernel modules\\\
263 Includes: \\\
264 - ipt_limit \\\
265 - ipt_owner \\\
266 - ipt_physdev \\\
267 - ipt_pkttype \\\
268 - ipt_recent
269 FILES:=$(foreach mod,$(IPT_EXTRA-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
270 SUBMENU:=$(NFMENU)
271 endef
272 $(eval $(call KernelPackage,ipt-extra))
273
274 define KernelPackage/ip6tables
275 TITLE:=IPv6 modules
276 DESCRIPTION:=\
277 Netfilter IPv6 firewalling support
278 KCONFIG:=$(CONFIG_IP6_NF_IPTABLES)
279 FILES:=$(MODULES_DIR)/kernel/net/ipv6/netfilter/ip*.$(LINUX_KMOD_SUFFIX)
280 SUBMENU:=$(NFMENU)
281 endef
282 $(eval $(call KernelPackage,ip6tables))
283
284
285 define KernelPackage/arptables
286 TITLE:=ARP firewalling modules
287 DESCRIPTION:=\
288 Kernel modules for ARP firewalling
289 FILES:=$(MODULES_DIR)/kernel/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)
290 KCONFIG:=$(CONFIG_IP_NF_ARPTABLES)
291 SUBMENU:=$(NFMENU)
292 endef
293 $(eval $(call KernelPackage,arptables))
294
295
296 define KernelPackage/ebtables
297 TITLE:=Bridge firewalling modules
298 DESCRIPTION:=\
299 Kernel modules for Ethernet Bridge firewalling
300 FILES:=$(MODULES_DIR)/kernel/net/bridge/netfilter/*.$(LINUX_KMOD_SUFFIX)
301 KCONFIG:=$(CONFIG_BRIDGE_NF_EBTABLES)
302 SUBMENU:=$(NFMENU)
303 endef
304 $(eval $(call KernelPackage,ebtables))
305
306
307 define KernelPackage/ipv6
308 TITLE:=IPv6 support
309 DESCRIPTION:=\
310 Kernel modules for IPv6 support
311 KCONFIG:=$(CONFIG_IPV6)
312 FILES:=$(MODULES_DIR)/kernel/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
313 endef
314 $(eval $(call KernelPackage,ipv6))
315
316
317 define KernelPackage/gre
318 TITLE:=GRE support
319 DESCRIPTION:=\
320 Generic Routing Encapsulation support
321 KCONFIG=$(CONFIG_NET_IPGRE)
322 FILES=$(MODULES_DIR)/kernel/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
323 endef
324 $(eval $(call KernelPackage,gre))
325
326
327 define KernelPackage/tun
328 TITLE:=Universal TUN/TAP driver
329 DESCRIPTION:=\
330 Kernel support for the TUN/TAP tunneling device
331 KCONFIG:=$(CONFIG_TUN)
332 FILES:=$(MODULES_DIR)/kernel/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
333 endef
334 $(eval $(call KernelPackage,tun))
335
336
337 define KernelPackage/ppp
338 TITLE:=PPP modules
339 DESCRIPTION:=\
340 Kernel modules for PPP support
341 KCONFIG:=$(CONFIG_PPP)
342 endef
343
344 define KernelPackage/ppp/2.6
345 FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_async.ko $(MODULES_DIR)/kernel/drivers/net/ppp_generic.ko $(MODULES_DIR)/kernel/drivers/net/slhc.ko $(MODULES_DIR)/kernel/lib/crc-ccitt.ko
346 AUTOLOAD:=$(call AutoLoad,30,crc-ccitt)
347 endef
348
349 define KernelPackage/ppp/2.4
350 FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_async.o $(MODULES_DIR)/kernel/drivers/net/ppp_generic.o $(MODULES_DIR)/kernel/drivers/net/slhc.o
351 endef
352 $(eval $(call KernelPackage,ppp))
353
354
355 define KernelPackage/pppoe
356 TITLE:=PPPoE support
357 DESCRIPTION:=\
358 Kernel modules for PPPoE (PPP over Ethernet) support
359 DEPENDS:=kmod-ppp
360 KCONFIG:=$(CONFIG_PPPOE)
361 FILES:=$(MODULES_DIR)/kernel/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
362 endef
363 $(eval $(call KernelPackage,pppoe))
364
365
366 define KernelPackage/pppoa
367 TITLE:=PPPoA support
368 DESCRIPTION:=\
369 Kernel modules for PPPoA (PPP over ATM) support
370 DEPENDS:=kmod-ppp
371 KCONFIG:=$(CONFIG_PPPOATM)
372 FILES:=$(MODULES_DIR)/kernel/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
373 endef
374 $(eval $(call KernelPackage,pppoa))
375
376
377 define KernelPackage/mppe
378 TITLE:=Microsoft PPP compression/encryption
379 DESCRIPTION:=Kernel modules for Microsoft PPP compression/encryption
380 DEPENDS:=kmod-ppp
381 KCONFIG:=$(CONFIG_PPP_MPPE)
382 endef
383
384 define KernelPackage/mppe/2.4
385 FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
386 endef
387
388 define KernelPackage/mppe/2.6
389 FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
390 endef
391 $(eval $(call KernelPackage,mppe))
392
393
394 NDMENU:=Network Devices
395
396 define KernelPackage/natsemi
397 TITLE:=National Semiconductor DP8381x series
398 DESCRIPTION:=\
399 Kernel modules for National Semiconductor DP8381x series PCI Ethernet \\\
400 adapters.
401 FILES:=$(MODULES_DIR)/kernel/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
402 KCONFIG:=$(CONFIG_NATSEMI)
403 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
404 SUBMENU:=$(NDMENU)
405 endef
406 $(eval $(call KernelPackage,natsemi))
407
408 define KernelPackage/sis900
409 TITLE:=SiS 900 Ethernet support
410 DESCRIPTION:=\
411 Kernel modules for Sis 900 Ethernet adapters.
412 FILES:=$(MODULES_DIR)/kernel/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
413 KCONFIG:=$(CONFIG_SIS900)
414 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
415 SUBMENU:=$(NDMENU)
416 endef
417 $(eval $(call KernelPackage,sis900))
418
419 define KernelPackage/via-rhine
420 TITLE:=Via Rhine ethernet support
421 DESCRIPTION:=\
422 Kernel modules for Via Rhine Ethernet chipsets.
423 FILES:=$(MODULES_DIR)/kernel/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
424 KCONFIG:=$(CONFIG_VIA_RHINE)
425 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
426 SUBMENU:=$(NDMENU)
427 endef
428 $(eval $(call KernelPackage,via-rhine))
429
430 define KernelPackage/8139too
431 TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
432 DESCRIPTION:=\
433 Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
434 FILES:=$(MODULES_DIR)/kernel/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
435 KCONFIG:=$(CONFIG_8139TOO)
436 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
437 SUBMENU:=$(NDMENU)
438 endef
439 $(eval $(call KernelPackage,8139too))
440
441 define KernelPackage/e100
442 TITLE:=Intel(R) PRO/100+ cards kernel support
443 DESCRIPTION:=\
444 Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
445 FILES:=$(MODULES_DIR)/kernel/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
446 KCONFIG:=$(CONFIG_E100)
447 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
448 SUBMENU:=$(NDMENU)
449 endef
450 $(eval $(call KernelPackage,e100))
451
452 define KernelPackage/3c59x
453 TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
454 DESCRIPTION:=\
455 This option enables driver support for a large number of 10mbps and \\\
456 10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
457 - "Vortex" (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
458 - "Boomerang" (EtherLink XL 3c900 or 3c905) PCI \\\
459 - "Cyclone" (3c540/3c900/3c905/3c980/3c575/3c656) PCI and Cardbus \\\
460 - "Tornado" (3c905) PCI \\\
461 - "Hurricane" (3c555/3cSOHO) PCI
462 FILES:=$(MODULES_DIR)/kernel/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
463 KCONFIG:=$(CONFIG_3C59X)
464 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
465 SUBMENU:=$(NDMENU)
466 endef
467 $(eval $(call KernelPackage,3c59x))