xref: /freebsd/sys/modules/Makefile (revision 3971d07be7da9ff83a3edbb61ecc33c37cde0f2c)
1# $FreeBSD$
2
3.include <bsd.own.mk>
4
5SUBDIR=	${_3dfx} \
6	${_3dfx_linux} \
7	${_aac} \
8	accf_data \
9	accf_http \
10	${_acpi} \
11	${_agp} \
12	aha \
13	${_ahb} \
14	${_aic} \
15	aic7xxx \
16	aio \
17	${_amd} \
18	amr \
19	${_an} \
20	${_aout} \
21	${_apm} \
22	${_ar} \
23	${_arcmsr} \
24	${_arcnet} \
25	${_arl} \
26	${_asmc} \
27	${_asr} \
28	ata \
29	${_ath} \
30	${_ath_hal} \
31	${_ath_rate_amrr} \
32	${_ath_rate_onoe} \
33	${_ath_rate_sample} \
34	aue \
35	${_auxio} \
36	axe \
37	bce \
38	bfe \
39	bge \
40	${_bios} \
41	${_bktr} \
42	bridgestp \
43	cam \
44	${_canbepm} \
45	${_canbus} \
46	${_cardbus} \
47	${_cbb} \
48	cd9660 \
49	cd9660_iconv \
50	cdce \
51	${_ce} \
52	${_ciss} \
53	${_cm} \
54	${_cmx} \
55	coda \
56	coda5 \
57	${_coff} \
58	${_coretemp} \
59	${_cp} \
60	${_cpufreq} \
61	${_crypto} \
62	${_cryptodev} \
63	${_cs} \
64	${_ctau} \
65	cue \
66	${_cx} \
67	cxgb \
68	dc \
69	dcons \
70	dcons_crom \
71	de \
72	${_digi} \
73	${_dpt} \
74	${_drm} \
75	dummynet \
76	${_ed} \
77	${_elink} \
78	${_em} \
79	en \
80	${_ep} \
81	${_ex} \
82	${_exca} \
83	${_ext2fs} \
84	fatm \
85	fdc \
86	fdescfs \
87	${_fe} \
88	firewire \
89	firmware \
90	fxp \
91	gem \
92	geom \
93	${_harp} \
94	hatm \
95	${_hfa} \
96	hifn \
97	hme \
98	${_hptiop} \
99	${_hptmv} \
100	${_hptrr} \
101	hwpmc \
102	${_i2c} \
103	${_ibcs2} \
104	${_ichwd} \
105	${_ida} \
106	${_idt} \
107	${_ie} \
108	if_bridge \
109	if_disc \
110	if_edsc \
111	if_ef \
112	if_faith \
113	if_gif \
114	if_gre \
115	if_lagg \
116	${_if_ndis} \
117	if_ppp \
118	if_sl \
119	if_stf \
120	if_tap \
121	if_tun \
122	if_vlan \
123	${_igb} \
124	${_iir} \
125	${_io} \
126	ipdivert \
127	${_ipfilter} \
128	ipfw \
129	ipfw_nat \
130	${_ipmi} \
131	ip_mroute_mod \
132	${_ips} \
133	${_ipw} \
134	${_ipwfw} \
135	iscsi \
136	isp \
137	ispfw \
138	${_iwi} \
139	${_iwifw} \
140	${_iwn} \
141	${_iwnfw} \
142	${_ixgb} \
143	joy \
144	${_k8temp} \
145	kbdmux \
146	krpc \
147	kue \
148	le \
149	lge \
150	libalias \
151	libiconv \
152	libmbpool \
153	libmchain \
154	${_linprocfs} \
155	${_linsysfs} \
156	${_linux} \
157	lmc \
158	lpt \
159	mac_biba \
160	mac_bsdextended \
161	mac_ifoff \
162	mac_lomac \
163	mac_mls \
164	mac_none \
165	mac_partition \
166	mac_portacl \
167	mac_seeotheruids \
168	mac_stub \
169	mac_test \
170	malo \
171	mcd \
172	md \
173	mem \
174	mfi \
175	mii \
176	mlx \
177	${_mly} \
178	mpt \
179	mqueue \
180	msdosfs \
181	msdosfs_iconv \
182	${_mse} \
183	msk \
184	mxge \
185	my \
186	${_ncp} \
187	${_ncv} \
188	${_ndis} \
189	netgraph \
190	${_nfe} \
191	nfsclient \
192	nfslockd \
193	nfsserver \
194	nge \
195	nmdm \
196	${_nsp} \
197	ntfs \
198	ntfs_iconv \
199	nullfs \
200	${_nve} \
201	${_nvram} \
202	${_nwfs} \
203	${_nxge} \
204	${_oltr} \
205	${_padlock} \
206	patm \
207	${_pccard} \
208	${_pcfclock} \
209	pcn \
210	${_pecoff} \
211	${_pf} \
212	${_pflog} \
213	plip \
214	${_pmc} \
215	portalfs \
216	ppbus \
217	ppc \
218	ppi \
219	pps \
220	procfs \
221	pseudofs \
222	${_pst} \
223	puc \
224	ral \
225	${_random} \
226	${_ray} \
227	rc \
228	rc4 \
229	re \
230	reiserfs \
231	rl \
232	rp \
233	rue \
234	rum \
235	${_s3} \
236	${_safe} \
237	${_sbni} \
238	sbsh \
239	scc \
240	scd \
241	${_scsi_low} \
242	sem \
243	sf \
244	${_sio} \
245	sis \
246	sk \
247	${_smbfs} \
248	sn \
249	${_snc} \
250	snp \
251	${_sound} \
252	${_speaker} \
253	${_splash} \
254	${_sppp} \
255	${_sr} \
256	ste \
257	${_stg} \
258	stge \
259	${_streams} \
260	sym \
261	${_syscons} \
262	sysvipc \
263	ti \
264	tl \
265	${_tmpfs} \
266	trm \
267	${_twa} \
268	twe \
269	tx \
270	txp \
271	uark \
272	uart \
273	ubsa \
274	ubsec \
275	ubser \
276	ucom \
277	ucycom \
278	udav \
279	udbp \
280	udf \
281	udf_iconv \
282	ufm \
283	${_ufs} \
284	ufoma \
285	uftdi \
286	ugen \
287	uhid \
288	ukbd \
289	ulpt \
290	umass \
291	umct \
292	umodem \
293	ums \
294	unionfs \
295	uplcom \
296	ural \
297	urio \
298	usb \
299	uscanner \
300	uslcom \
301	utopia \
302	uvisor \
303	uvscom \
304	${_vesa} \
305	vge \
306	vkbd \
307	${_vpo} \
308	vr \
309	vx \
310	wb \
311	${_wi} \
312	wlan \
313	wlan_acl \
314	wlan_amrr \
315	wlan_ccmp \
316	wlan_rssadapt \
317	wlan_tkip \
318	wlan_wep \
319	wlan_xauth \
320	${_wpi} \
321	${_wpifw} \
322	${_xe} \
323	xfs \
324	xl \
325	${_zfs} \
326	zlib \
327	zyd
328
329.if ${MACHINE_ARCH} != "powerpc"
330_syscons=	syscons
331_vpo=		vpo
332.endif
333
334.if defined(ALL_MODULES)
335_ufs=		ufs
336.endif
337
338# Disabled in 7.0 as netatm is not MPSAFE.
339#if ${MK_ATM} != "no"
340#_harp=		harp
341#.endif
342
343.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
344.if exists(${.CURDIR}/../opencrypto)
345_crypto=	crypto
346_cryptodev=	cryptodev
347.endif
348.if exists(${.CURDIR}/../crypto)
349_random=	random
350.endif
351.endif
352
353.if ${MK_IPFILTER} != "no" || defined(ALL_MODULES)
354_ipfilter=	ipfilter
355.endif
356
357.if ${MK_PF} != "no" || defined(ALL_MODULES)
358_pf=		pf
359_pflog=		pflog
360.endif
361
362.if ${MACHINE_ARCH} == "i386"
363# XXX some of these can move to the general case when de-i386'ed
364# XXX some of these can move now, but are untested on other architectures.
365_3dfx=		3dfx
366_3dfx_linux=	3dfx_linux
367_agp=		agp
368_aic=		aic
369_amd=		amd
370_an=		an
371_aout=		aout
372_apm=		apm
373_ar=		ar
374_arcnet=	arcnet
375_ath=		ath
376_ath_hal=	ath_hal
377_ath_rate_amrr=	ath_rate_amrr
378_ath_rate_onoe=	ath_rate_onoe
379_ath_rate_sample=ath_rate_sample
380_bktr=		bktr
381_cardbus=	cardbus
382_cbb=		cbb
383_ce=		ce
384_coff=		coff
385_cp=		cp
386_cpufreq=	cpufreq
387_cs=		cs
388_digi=		digi
389_drm=		drm
390_ed=		ed
391_elink=		elink
392_em=		em
393_ep=		ep
394_exca=		exca
395_ext2fs=	ext2fs
396_fe=		fe
397# Disabled due to non-MPSAFEty in 7.0
398#_hfa=		hfa
399_i2c=		i2c
400_ibcs2=		ibcs2
401_ie=		ie
402_if_ndis=	if_ndis
403_igb=		igb
404_io=		io
405_linprocfs=	linprocfs
406_linsysfs=	linsysfs
407_linux=		linux
408_mse=		mse
409.if ${MK_NCP} != "no"
410_ncp=		ncp
411.endif
412_ncv=		ncv
413_ndis=		ndis
414_nsp=		nsp
415.if ${MK_NCP} != "no"
416_nwfs=		nwfs
417.endif
418_oltr=		oltr
419_pccard=	pccard
420_pcfclock=	pcfclock
421_pecoff=	pecoff
422_pst=		pst
423_ray=		ray
424_safe=		safe
425_sbni=		sbni
426_scsi_low=	scsi_low
427_sio=		sio
428_smbfs=		smbfs
429_sound=		sound
430_speaker=	speaker
431_splash=	splash
432_sppp=		sppp
433_sr=		sr
434_stg=		stg
435_streams=	streams
436_tmpfs=		tmpfs
437_wi=		wi
438_xe=		xe
439.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
440_zfs=		zfs
441.endif
442.if ${MACHINE} == "i386"
443_aac=		aac
444_acpi=		acpi
445_ahb=		ahb
446_arcmsr=	arcmsr
447_arl=		arl
448_asmc=		asmc
449_asr=		asr
450_bios=		bios
451_ciss=		ciss
452_cm=		cm
453_cmx=		cmx
454_coretemp=	coretemp
455_ctau=		ctau
456_cx=		cx
457_dpt=		dpt
458_ex=		ex
459_hptiop=	hptiop
460_hptmv=		hptmv
461_hptrr=		hptrr
462_ichwd=		ichwd
463_ida=		ida
464# Disabled due to non-MPSAFEty in 7.0
465#_idt=		idt
466_iir=		iir
467_ipmi=		ipmi
468_ips=		ips
469_ipw=		ipw
470_ipwfw=		ipwfw
471_iwi=		iwi
472_iwifw=		iwifw
473_iwn=		iwn
474_iwnfw=		iwnfw
475_ixgb=		ixgb
476_mly=		mly
477_nfe=		nfe
478_nve=		nve
479_nvram=		nvram
480_nxge=		nxge
481_wpi=		wpi
482_wpifw=		wpifw
483.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
484.if exists(${.CURDIR}/../crypto/via)
485_padlock=	padlock
486.endif
487.endif
488_s3=		s3
489_twa=		twa
490_vesa=		vesa
491.elif ${MACHINE} == "pc98"
492_canbepm=	canbepm
493_canbus=	canbus
494_pmc=		pmc
495_snc=		snc
496.endif
497.endif
498
499.if ${MACHINE_ARCH} == "amd64"
500_aac=		aac
501_acpi=		acpi
502_agp=		agp
503_an=		an
504_arcmsr=	arcmsr
505_asmc=		asmc
506_ath=		ath
507_ath_hal=	ath_hal
508_ath_rate_amrr=	ath_rate_amrr
509_ath_rate_onoe=	ath_rate_onoe
510_ath_rate_sample=ath_rate_sample
511_cardbus=	cardbus
512_cbb=		cbb
513_cmx=		cmx
514_ciss=		ciss
515_coretemp=	coretemp
516_cpufreq=	cpufreq
517_digi=		digi
518_drm=		drm
519_ed=		ed
520_em=		em
521_exca=		exca
522_ext2fs=	ext2fs
523_hptiop=	hptiop
524_hptmv=		hptmv
525_hptrr=		hptrr
526_i2c=		i2c
527_ichwd=		ichwd
528_ida=		ida
529_if_ndis=	if_ndis
530_igb=		igb
531_iir=		iir
532_io=		io
533_ipmi=		ipmi
534_ips=		ips
535_ipw=		ipw
536_ipwfw=		ipwfw
537_iwn=		iwn
538_iwnfw=		iwnfw
539_ixgb=		ixgb
540_k8temp=	k8temp
541_linprocfs=	linprocfs
542_linsysfs=	linsysfs
543_linux=		linux
544_mly=		mly
545_ndis=		ndis
546_nfe=		nfe
547_nve=		nve
548_nvram=		nvram
549_nxge=		nxge
550_pccard=	pccard
551_safe=		safe
552_scsi_low=	scsi_low
553_smbfs=		smbfs
554_sound=		sound
555_speaker=	speaker
556_sppp=		sppp
557_tmpfs=		tmpfs
558_twa=		twa
559_wi=		wi
560_wpi=		wpi
561_wpifw=		wpifw
562.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
563_zfs=		zfs
564.endif
565.endif
566
567.if ${MACHINE_ARCH} == "ia64"
568# Modules not enabled on ia64 (as compared to i386) include:
569#	aac acpi aout apm atspeaker drm ibcs2 linprocfs linux ncv
570#	nsp oltr pecoff s3 sbni stg vesa
571# acpi is not enabled because it is broken as a module on ia64
572_aic=		aic
573#_ar=		ar	not 64-bit clean
574_an=		an
575_arcnet=	arcnet
576_asr=		asr
577_bktr=		bktr
578_cardbus=	cardbus
579_cbb=		cbb
580_ciss=		ciss
581_cm=		cm
582_cmx=		cmx
583_coff=		coff
584_cpufreq=	cpufreq
585_em=		em
586_ep=		ep
587_exca=		exca
588_fe=		fe
589_hfa=		hfa
590_igb=		igb
591_iir=		iir
592_mly=		mly
593_pccard=	pccard
594_scsi_low=	scsi_low
595_smbfs=		smbfs
596_sound=		sound
597_splash=	splash
598_sppp=		sppp
599#_sr=		sr		not 64bit clean
600_streams=	streams
601_wi=		wi
602_xe=		xe
603.endif
604
605.if ${MACHINE_ARCH} == "powerpc"
606_an=		an
607_ath=		ath
608_ath_hal=	ath_hal
609_ath_rate_amrr=	ath_rate_amrr
610_ath_rate_onoe=	ath_rate_onoe
611_ath_rate_sample=ath_rate_sample
612_nvram=		powermac_nvram
613_smbfs=		smbfs
614.endif
615
616.if ${MACHINE_ARCH} == "sparc64"
617_ath=		ath
618_ath_hal=	ath_hal
619_ath_rate_amrr=	ath_rate_amrr
620_ath_rate_onoe=	ath_rate_onoe
621_ath_rate_sample=ath_rate_sample
622_auxio=		auxio
623_em=		em
624_i2c=		i2c
625_igb=		igb
626_sound=		sound
627.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
628_zfs=		zfs
629.endif
630.endif
631
632.if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
633SUBDIR=${MODULES_OVERRIDE}
634.endif
635
636.for reject in ${WITHOUT_MODULES}
637SUBDIR:= ${SUBDIR:N${reject}}
638.endfor
639
640# Calling kldxref(8) for each module is expensive.
641.if !defined(NO_XREF)
642.MAKEFLAGS+=	-DNO_XREF
643afterinstall:
644	@if type kldxref >/dev/null 2>&1; then \
645		${ECHO} kldxref ${DESTDIR}${KMODDIR}; \
646		kldxref ${DESTDIR}${KMODDIR}; \
647	fi
648.endif
649
650.include <bsd.subdir.mk>
651