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