xref: /freebsd/sys/modules/Makefile (revision 4f7d1876d532e6607cebd4ea3775094ee8c05dba)
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	${_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	${_bm} \
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	coda \
57	coda5 \
58	${_coff} \
59	${_coretemp} \
60	${_cp} \
61	${_cpufreq} \
62	${_crypto} \
63	${_cryptodev} \
64	${_cs} \
65	${_ctau} \
66	cue \
67	${_cx} \
68	cxgb \
69	${_cyclic} \
70	dc \
71	dcons \
72	dcons_crom \
73	de \
74	${_digi} \
75	${_dpt} \
76	${_drm} \
77	${_dtrace} \
78	dummynet \
79	${_ed} \
80	${_elink} \
81	${_em} \
82	en \
83	${_ep} \
84	${_et} \
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	${_opensolaris} \
207	${_padlock} \
208	patm \
209	${_pccard} \
210	${_pcfclock} \
211	pcn \
212	${_pf} \
213	${_pflog} \
214	plip \
215	${_pmc} \
216	portalfs \
217	ppbus \
218	ppc \
219	ppi \
220	pps \
221	procfs \
222	pseudofs \
223	${_pst} \
224	puc \
225	ral \
226	${_random} \
227	${_ray} \
228	rc \
229	rc4 \
230	${_rdma} \
231	re \
232	reiserfs \
233	rl \
234	rp \
235	rue \
236	rum \
237	${_s3} \
238	${_safe} \
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.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
339.if exists(${.CURDIR}/../opencrypto)
340_crypto=	crypto
341_cryptodev=	cryptodev
342.endif
343.if exists(${.CURDIR}/../crypto)
344_random=	random
345.endif
346.endif
347
348.if ${MK_IPFILTER} != "no" || defined(ALL_MODULES)
349_ipfilter=	ipfilter
350.endif
351
352.if ${MK_PF} != "no" || defined(ALL_MODULES)
353_pf=		pf
354_pflog=		pflog
355.endif
356
357.if ${MACHINE_ARCH} == "i386"
358# XXX some of these can move to the general case when de-i386'ed
359# XXX some of these can move now, but are untested on other architectures.
360_3dfx=		3dfx
361_3dfx_linux=	3dfx_linux
362_agp=		agp
363_aic=		aic
364_amd=		amd
365_an=		an
366_aout=		aout
367_apm=		apm
368_ar=		ar
369_arcnet=	arcnet
370_ath=		ath
371_ath_hal=	ath_hal
372_ath_rate_amrr=	ath_rate_amrr
373_ath_rate_onoe=	ath_rate_onoe
374_ath_rate_sample=ath_rate_sample
375_bktr=		bktr
376_cardbus=	cardbus
377_cbb=		cbb
378_ce=		ce
379_coff=		coff
380_cp=		cp
381_cpufreq=	cpufreq
382_cs=		cs
383.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
384_cyclic=	cyclic
385.endif
386_digi=		digi
387_drm=		drm
388.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
389_dtrace=	dtrace
390.endif
391_ed=		ed
392_elink=		elink
393_em=		em
394_ep=		ep
395_et=		et
396_exca=		exca
397_ext2fs=	ext2fs
398_fe=		fe
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.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
419_opensolaris=	opensolaris
420.endif
421_pccard=	pccard
422_pcfclock=	pcfclock
423_pst=		pst
424_ray=		ray
425_rdma=		rdma
426_safe=		safe
427_scsi_low=	scsi_low
428_sio=		sio
429_smbfs=		smbfs
430_sound=		sound
431_speaker=	speaker
432_splash=	splash
433_sppp=		sppp
434_sr=		sr
435_stg=		stg
436_streams=	streams
437_tmpfs=		tmpfs
438_wi=		wi
439_xe=		xe
440.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
441_zfs=		zfs
442.endif
443.if ${MACHINE} == "i386"
444_aac=		aac
445_acpi=		acpi
446_ahb=		ahb
447_arcmsr=	arcmsr
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_iir=		iir
465_ipmi=		ipmi
466_ips=		ips
467_ipw=		ipw
468_ipwfw=		ipwfw
469_iwi=		iwi
470_iwifw=		iwifw
471_iwn=		iwn
472_iwnfw=		iwnfw
473_ixgb=		ixgb
474_mly=		mly
475_nfe=		nfe
476_nve=		nve
477_nvram=		nvram
478_nxge=		nxge
479_wpi=		wpi
480_wpifw=		wpifw
481.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
482.if exists(${.CURDIR}/../crypto/via)
483_padlock=	padlock
484.endif
485.endif
486_s3=		s3
487_twa=		twa
488_vesa=		vesa
489.elif ${MACHINE} == "pc98"
490_canbepm=	canbepm
491_canbus=	canbus
492_pmc=		pmc
493_snc=		snc
494.endif
495.endif
496
497.if ${MACHINE_ARCH} == "amd64"
498_aac=		aac
499_acpi=		acpi
500_agp=		agp
501_an=		an
502_arcmsr=	arcmsr
503_asmc=		asmc
504_ath=		ath
505_ath_hal=	ath_hal
506_ath_rate_amrr=	ath_rate_amrr
507_ath_rate_onoe=	ath_rate_onoe
508_ath_rate_sample=ath_rate_sample
509_cardbus=	cardbus
510_cbb=		cbb
511_cmx=		cmx
512_ciss=		ciss
513_coretemp=	coretemp
514_cpufreq=	cpufreq
515.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
516_cyclic=	cyclic
517.endif
518_digi=		digi
519_drm=		drm
520.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
521_dtrace=	dtrace
522.endif
523_ed=		ed
524_et=		et
525_em=		em
526_exca=		exca
527_ext2fs=	ext2fs
528_hptiop=	hptiop
529_hptmv=		hptmv
530_hptrr=		hptrr
531_i2c=		i2c
532_ichwd=		ichwd
533_ida=		ida
534_if_ndis=	if_ndis
535_igb=		igb
536_iir=		iir
537_io=		io
538_ipmi=		ipmi
539_ips=		ips
540_ipw=		ipw
541_ipwfw=		ipwfw
542_iwn=		iwn
543_iwnfw=		iwnfw
544_ixgb=		ixgb
545_k8temp=	k8temp
546_linprocfs=	linprocfs
547_linsysfs=	linsysfs
548_linux=		linux
549_mly=		mly
550_ndis=		ndis
551_nfe=		nfe
552_nve=		nve
553_nvram=		nvram
554_nxge=		nxge
555.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
556_opensolaris=	opensolaris
557.endif
558_pccard=	pccard
559_rdma=		rdma
560_safe=		safe
561_scsi_low=	scsi_low
562_smbfs=		smbfs
563_sound=		sound
564_speaker=	speaker
565_sppp=		sppp
566_tmpfs=		tmpfs
567_twa=		twa
568_wi=		wi
569_wpi=		wpi
570_wpifw=		wpifw
571.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
572_zfs=		zfs
573.endif
574.endif
575
576.if ${MACHINE_ARCH} == "ia64"
577# Modules not enabled on ia64 (as compared to i386) include:
578#	aac acpi aout apm atspeaker drm ibcs2 linprocfs linux ncv
579#	nsp s3 stg vesa
580# acpi is not enabled because it is broken as a module on ia64
581_aic=		aic
582#_ar=		ar	not 64-bit clean
583_an=		an
584_arcnet=	arcnet
585_asr=		asr
586_bktr=		bktr
587_cardbus=	cardbus
588_cbb=		cbb
589_ciss=		ciss
590_cm=		cm
591_cmx=		cmx
592_coff=		coff
593_cpufreq=	cpufreq
594_em=		em
595_ep=		ep
596_exca=		exca
597_fe=		fe
598_igb=		igb
599_iir=		iir
600_mly=		mly
601_pccard=	pccard
602_scsi_low=	scsi_low
603_smbfs=		smbfs
604_sound=		sound
605_splash=	splash
606_sppp=		sppp
607#_sr=		sr		not 64bit clean
608_streams=	streams
609_wi=		wi
610_xe=		xe
611.endif
612
613.if ${MACHINE_ARCH} == "powerpc"
614_an=		an
615_ath=		ath
616_ath_hal=	ath_hal
617_ath_rate_amrr=	ath_rate_amrr
618_ath_rate_onoe=	ath_rate_onoe
619_ath_rate_sample=ath_rate_sample
620_bm=		bm
621_nvram=		powermac_nvram
622_smbfs=		smbfs
623.endif
624
625.if ${MACHINE_ARCH} == "sparc64"
626_ath=		ath
627_ath_hal=	ath_hal
628_ath_rate_amrr=	ath_rate_amrr
629_ath_rate_onoe=	ath_rate_onoe
630_ath_rate_sample=ath_rate_sample
631_auxio=		auxio
632_em=		em
633_i2c=		i2c
634_igb=		igb
635_sound=		sound
636.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
637_zfs=		zfs
638.endif
639.endif
640
641.if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
642SUBDIR=${MODULES_OVERRIDE}
643.endif
644
645.for reject in ${WITHOUT_MODULES}
646SUBDIR:= ${SUBDIR:N${reject}}
647.endfor
648
649# Calling kldxref(8) for each module is expensive.
650.if !defined(NO_XREF)
651.MAKEFLAGS+=	-DNO_XREF
652afterinstall:
653	@if type kldxref >/dev/null 2>&1; then \
654		${ECHO} kldxref ${DESTDIR}${KMODDIR}; \
655		kldxref ${DESTDIR}${KMODDIR}; \
656	fi
657.endif
658
659.include <bsd.subdir.mk>
660