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