xref: /freebsd/sys/modules/Makefile (revision 58aa55efa516dc7613f7bf72dfc718a967e298e5)
1c3aac50fSPeter Wemm# $FreeBSD$
20eec3684SGarrett Wollman
3ce3ae5c7SIan Dowse.if !defined(NOCRYPT) || defined(ALL_MODULES)
4ce3ae5c7SIan Dowse.if exists(${.CURDIR}/../opencrypto)
5f544a528SMark Murray_crypto=	crypto
6f544a528SMark Murray_cryptodev=	cryptodev
7f544a528SMark Murray.endif
8ce3ae5c7SIan Dowse.if exists(${.CURDIR}/../crypto)
9a6278a2aSMark Murray_random=	random
10fd8b5fb2SMark Murray.endif
11ce3ae5c7SIan Dowse.endif
12fd8b5fb2SMark Murray
13f6af4ff6SJohn BaldwinSUBDIR=	accf_data \
1409261c4fSBrooks Davis	accf_http \
1509261c4fSBrooks Davis	aha \
16fb404d6fSScott Long	aic7xxx \
1721d56e9cSAlfred Perlstein	aio \
1809261c4fSBrooks Davis	amr \
1909261c4fSBrooks Davis	an \
2081e151e4SSam Leffler	ath \
2109261c4fSBrooks Davis	aue \
2287b4a259SBill Paul	axe \
2395d67482SBill Paul	bge \
248c4026b5SPaul Saab	bridge \
25aa980888SJake Burkholder	cam \
26aa980888SJake Burkholder	cd9660 \
2709261c4fSBrooks Davis	coda \
28f544a528SMark Murray	${_crypto} \
29f544a528SMark Murray	${_cryptodev} \
3009261c4fSBrooks Davis	cue \
3109261c4fSBrooks Davis	dc \
3209261c4fSBrooks Davis	de \
3309261c4fSBrooks Davis	digi \
348c4026b5SPaul Saab	dummynet \
357d361237SHartmut Brandt	en \
36fb24f088SHartmut Brandt	fatm \
3709261c4fSBrooks Davis	fdc \
3842d6ed03SBruce Evans	fdescfs \
397d2ba89bSJohn Baldwin	firewire \
4009261c4fSBrooks Davis	fxp \
415d9bef64SPoul-Henning Kamp	geom \
42f8a984edSJonathan Lemon	gx \
4358aa55efSHartmut Brandt	harp \
44c594298bSHartmut Brandt	hatm \
458b7ce2ffSSam Leffler	hifn \
4609261c4fSBrooks Davis	if_disc \
4709261c4fSBrooks Davis	if_ef \
4842d6ed03SBruce Evans	if_faith \
4909261c4fSBrooks Davis	if_gif \
50b5e8c7d7SMaxim Sobolev	if_gre \
5109261c4fSBrooks Davis	if_ppp \
5209261c4fSBrooks Davis	if_sl \
5309261c4fSBrooks Davis	if_stf \
5409261c4fSBrooks Davis	if_tap \
5509261c4fSBrooks Davis	if_tun \
56214bfc97SBrooks Davis	if_vlan \
5709261c4fSBrooks Davis	ip6fw \
58fffcbbcdSBill Fenner	ip_mroute_mod \
5909261c4fSBrooks Davis	ipfw \
6097af632bSJohn Baldwin	isp \
6109261c4fSBrooks Davis	ispfw \
6209261c4fSBrooks Davis	joy \
6309261c4fSBrooks Davis	kue \
6409261c4fSBrooks Davis	lge \
650e3b6d50SSheldon Hearn	libiconv \
667e9024cdSHartmut Brandt	libmbpool \
6709261c4fSBrooks Davis	libmchain \
681b6c2589SPoul-Henning Kamp	lpt \
69ebbd4fa8SRobert Watson	mac_biba \
70ebbd4fa8SRobert Watson	mac_bsdextended \
71ebbd4fa8SRobert Watson	mac_ifoff \
725773cccfSRobert Watson	mac_lomac \
73ebbd4fa8SRobert Watson	mac_mls \
74ebbd4fa8SRobert Watson	mac_none \
7551363000SRobert Watson	mac_partition \
7603d03162SRobert Watson	mac_portacl \
77ebbd4fa8SRobert Watson	mac_seeotheruids \
78ebbd4fa8SRobert Watson	mac_test \
79e73b093aSMatthew N. Dodd	mcd \
8009261c4fSBrooks Davis	md \
8109261c4fSBrooks Davis	mii \
8209261c4fSBrooks Davis	mlx \
83bc96e1c7SJohn Baldwin	mpt \
8486597d47SMaxime Henrion	msdosfs \
85e4de92ceSRuslan Ermilov	my \
86eb25edbdSPeter Wemm	nfsclient \
87eb25edbdSPeter Wemm	nfsserver \
8809261c4fSBrooks Davis	nge \
8909261c4fSBrooks Davis	nmdm \
9009261c4fSBrooks Davis	ntfs \
9109261c4fSBrooks Davis	nullfs \
928dd4275cSHartmut Brandt	patm \
9309261c4fSBrooks Davis	pcn \
941b6c2589SPoul-Henning Kamp	plip \
9509261c4fSBrooks Davis	portalfs \
961b6c2589SPoul-Henning Kamp	ppbus \
971b6c2589SPoul-Henning Kamp	ppi \
981b6c2589SPoul-Henning Kamp	pps \
993fd18735SDag-Erling Smørgrav	procfs \
1003fd18735SDag-Erling Smørgrav	pseudofs \
101147e2e20SScott Long	raidframe \
10209261c4fSBrooks Davis	${_random} \
103787f1498SJohn Baldwin	rc \
1040ac19bd5SSam Leffler	rc4 \
10509261c4fSBrooks Davis	rl \
10609261c4fSBrooks Davis	rp \
10711e04b05SShunsuke Akiyama	rue \
1087d0de413SMax Khon	sbsh \
10926a9ce3eSMatthew N. Dodd	scd \
11009261c4fSBrooks Davis	sf \
11109261c4fSBrooks Davis	sis \
11209261c4fSBrooks Davis	sk \
11309261c4fSBrooks Davis	sn \
11409261c4fSBrooks Davis	snp \
11509261c4fSBrooks Davis	ste \
11609261c4fSBrooks Davis	sym \
11709261c4fSBrooks Davis	sysvipc \
11809261c4fSBrooks Davis	ti \
11909261c4fSBrooks Davis	tl \
120f3d92b26SOlivier Houchard	trm \
12142d6ed03SBruce Evans	twe \
12209261c4fSBrooks Davis	tx \
123362c5c1eSBill Paul	txp \
12451d123d6SAlexander Kabaev	ubsa \
1258b7ce2ffSSam Leffler	ubsec \
126916e6e02SJosef Karthauser	ucom \
12709261c4fSBrooks Davis	udbp \
128df263cbdSScott Long	udf \
12942d6ed03SBruce Evans	ufm \
13031f48889SJosef Karthauser	uftdi \
13109261c4fSBrooks Davis	ugen \
13209261c4fSBrooks Davis	uhid \
13309261c4fSBrooks Davis	ukbd \
13409261c4fSBrooks Davis	ulpt \
13509261c4fSBrooks Davis	umapfs \
13609261c4fSBrooks Davis	umass \
137c31c8523SScott Long	umct \
13809261c4fSBrooks Davis	umodem \
13909261c4fSBrooks Davis	ums \
14009261c4fSBrooks Davis	unionfs \
141916e6e02SJosef Karthauser	uplcom \
14209261c4fSBrooks Davis	urio \
14309261c4fSBrooks Davis	usb \
1442fd84f56SNick Hibma	uscanner \
145591f4054SHartmut Brandt	utopia \
146ca095220SJosef Karthauser	uvisor \
147916e6e02SJosef Karthauser	uvscom \
14809261c4fSBrooks Davis	vpo \
14909261c4fSBrooks Davis	vr \
15009261c4fSBrooks Davis	vx \
15109261c4fSBrooks Davis	wb \
1520ac19bd5SSam Leffler	wlan \
15309261c4fSBrooks Davis	xl
154256c4043SNick Hibma
1557a07b896SIan Dowse.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "alpha"
156ce3ae5c7SIan Dowse.if defined(WANT_EXT2FS_MODULE) || defined(ALL_MODULES)
15742d6ed03SBruce EvansSUBDIR+=ext2fs
158aa980888SJake Burkholder.endif
1597a07b896SIan Dowse.endif
160aa980888SJake Burkholder
161ce3ae5c7SIan Dowse.if !defined(NO_IPFILTER) || defined(ALL_MODULES)
1627a43a96aSRuslan ErmilovSUBDIR+=ipfilter
1637a43a96aSRuslan Ermilov.endif
1647a43a96aSRuslan Ermilov
16542d6ed03SBruce Evans.if ${MACHINE_ARCH} != "sparc64"
16642d6ed03SBruce EvansSUBDIR+=syscons
16742d6ed03SBruce Evans.endif
16842d6ed03SBruce Evans
16928cc91d8SMike Smith# XXX some of these can move to the general case when de-i386'ed
1704e54e04eSWarner Losh# XXX some of these can move now, but are untested on other architectures.
17101c8945cSJohn Baldwin.if ${MACHINE_ARCH} == "i386"
172f6af4ff6SJohn BaldwinSUBDIR+=3dfx \
173f801952aSPeter Wemm	agp \
174f6af4ff6SJohn Baldwin	aic \
175cf8603ceSRuslan Ermilov	amd \
1763729f1a5SYoshihiro Takahashi	aout \
17742d6ed03SBruce Evans	apm \
1783729f1a5SYoshihiro Takahashi	ar \
1793729f1a5SYoshihiro Takahashi	arcnet \
18081e151e4SSam Leffler	ath_hal \
181f7883a79SRobert Watson	awi \
1823729f1a5SYoshihiro Takahashi	bktr \
1833729f1a5SYoshihiro Takahashi	coff \
184484be8eaSYoshihiro Takahashi	drm \
18501c8945cSJohn Baldwin	ed \
186187e120cSMatthew N. Dodd	elink \
1873729f1a5SYoshihiro Takahashi	em \
1880921c98bSYoshihiro Takahashi	ep \
1893729f1a5SYoshihiro Takahashi	fe \
1903729f1a5SYoshihiro Takahashi	fpu \
1913729f1a5SYoshihiro Takahashi	gnufpu \
1923729f1a5SYoshihiro Takahashi	hea \
1933729f1a5SYoshihiro Takahashi	hfa \
19449336098SNicolas Souchu	i2c \
1953729f1a5SYoshihiro Takahashi	ibcs2 \
196dd4cb1b8SMatthew N. Dodd	ie \
1973729f1a5SYoshihiro Takahashi	linprocfs \
1983729f1a5SYoshihiro Takahashi	linux \
19901c8945cSJohn Baldwin	lnc \
200ef9e45ddSTim J. Robbins	ncp \
2013729f1a5SYoshihiro Takahashi	ncv \
2023729f1a5SYoshihiro Takahashi	netgraph \
20342d6ed03SBruce Evans	nsp \
204ef9e45ddSTim J. Robbins	nwfs \
2053729f1a5SYoshihiro Takahashi	oltr \
2060921c98bSYoshihiro Takahashi	pccard \
20742d6ed03SBruce Evans	pecoff \
2083729f1a5SYoshihiro Takahashi	ray \
2093729f1a5SYoshihiro Takahashi	sbni \
2103729f1a5SYoshihiro Takahashi	scsi_low \
2113729f1a5SYoshihiro Takahashi	smbfs \
2123729f1a5SYoshihiro Takahashi	sound \
213a71a3073SMatthew N. Dodd	speaker \
2143729f1a5SYoshihiro Takahashi	splash \
2153729f1a5SYoshihiro Takahashi	sppp \
2163729f1a5SYoshihiro Takahashi	sr \
2173729f1a5SYoshihiro Takahashi	stg \
2183729f1a5SYoshihiro Takahashi	streams \
2193729f1a5SYoshihiro Takahashi	vinum \
2203729f1a5SYoshihiro Takahashi	wi \
2213729f1a5SYoshihiro Takahashi	xe
22201c8945cSJohn Baldwin
22301c8945cSJohn Baldwin.if ${MACHINE} == "i386"
22401c8945cSJohn BaldwinSUBDIR+=aac \
22501c8945cSJohn Baldwin	acpi \
22601c8945cSJohn Baldwin	asr \
22781d9009aSMatthew N. Dodd	bios \
22801c8945cSJohn Baldwin	cardbus \
22901c8945cSJohn Baldwin	cbb \
23001c8945cSJohn Baldwin	ciss \
23101c8945cSJohn Baldwin	cm \
232ba32bfe2SYoshihiro Takahashi	dpt \
23301c8945cSJohn Baldwin	el \
234ba32bfe2SYoshihiro Takahashi	ex \
23501c8945cSJohn Baldwin	exca \
236ba32bfe2SYoshihiro Takahashi	idt \
23701c8945cSJohn Baldwin	iir \
2383e4e4849SYoshihiro Takahashi	ips \
23901c8945cSJohn Baldwin	mly \
24001c8945cSJohn Baldwin	s3 \
24101c8945cSJohn Baldwin	vesa
24201c8945cSJohn Baldwin
24301c8945cSJohn Baldwin.elif ${MACHINE} == "pc98"
24483536948SYoshihiro TakahashiSUBDIR+=canbepm \
24583536948SYoshihiro Takahashi	canbus \
24601c8945cSJohn Baldwin	pmc \
24701c8945cSJohn Baldwin	snc
24801c8945cSJohn Baldwin.endif
2493729f1a5SYoshihiro Takahashi.endif
2503729f1a5SYoshihiro Takahashi
2513adcb4ceSMarcel Moolenaar.if ${MACHINE_ARCH} == "ia64"
2528c7cf505SMarcel Moolenaar# Modules not enabled on ia64 (as compared to i386) include:
2538c7cf505SMarcel Moolenaar#	aac acpi aout apm atspeaker drm fpu gnufpu ibcs2 linprocfs linux ncv
2548c7cf505SMarcel Moolenaar#	nsp oltr pecoff s3 sbni stg vesa
2553adcb4ceSMarcel MoolenaarSUBDIR+=aic \
2568c7cf505SMarcel Moolenaar	ar \
2573adcb4ceSMarcel Moolenaar	arcnet \
2588c7cf505SMarcel Moolenaar	asr \
2598c7cf505SMarcel Moolenaar	bktr \
2608c7cf505SMarcel Moolenaar	cardbus \
2618c7cf505SMarcel Moolenaar	cbb \
2623adcb4ceSMarcel Moolenaar	ciss \
2633adcb4ceSMarcel Moolenaar	cm \
2643adcb4ceSMarcel Moolenaar	coff \
2653adcb4ceSMarcel Moolenaar	el \
2663adcb4ceSMarcel Moolenaar	em \
2678c7cf505SMarcel Moolenaar	ep \
2688c7cf505SMarcel Moolenaar	exca \
2693adcb4ceSMarcel Moolenaar	fe \
2708c7cf505SMarcel Moolenaar	hea \
2718c7cf505SMarcel Moolenaar	hfa \
2723adcb4ceSMarcel Moolenaar	iir \
2733adcb4ceSMarcel Moolenaar	mly \
2748c7cf505SMarcel Moolenaar	netgraph \
2758c7cf505SMarcel Moolenaar	pccard \
2763adcb4ceSMarcel Moolenaar	ray \
2778c7cf505SMarcel Moolenaar	rc \
2783adcb4ceSMarcel Moolenaar	scsi_low \
2793adcb4ceSMarcel Moolenaar	smbfs \
2808c7cf505SMarcel Moolenaar	sound \
2813adcb4ceSMarcel Moolenaar	splash \
2828c7cf505SMarcel Moolenaar	sppp \
2833adcb4ceSMarcel Moolenaar	sr \
2843adcb4ceSMarcel Moolenaar	streams \
2858c7cf505SMarcel Moolenaar	vinum \
2863adcb4ceSMarcel Moolenaar	wi \
2873adcb4ceSMarcel Moolenaar	xe
2883adcb4ceSMarcel Moolenaar.endif
2893adcb4ceSMarcel Moolenaar
2906c1029b1SAndrew Gallatin.if ${MACHINE_ARCH} == "alpha"
29105d1e23aSEric AnholtSUBDIR+=agp \
29205d1e23aSEric Anholt	linprocfs \
2933adcb4ceSMarcel Moolenaar	linux \
2943adcb4ceSMarcel Moolenaar	osf1 \
2953adcb4ceSMarcel Moolenaar	sound \
296ed323145SMarcel Moolenaar	sppp \
297ed323145SMarcel Moolenaar	vinum
2986c1029b1SAndrew Gallatin.endif
2996c1029b1SAndrew Gallatin
30073badb24SDavid E. O'Brien.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "sparc64"
30173badb24SDavid E. O'BrienSUBDIR+=gem
30273badb24SDavid E. O'Brien.endif
30373badb24SDavid E. O'Brien
304b1c519deSDavid E. O'Brien.if ${MACHINE_ARCH} == "sparc64"
30573badb24SDavid E. O'BrienSUBDIR+=hme
306b1c519deSDavid E. O'Brien.endif
307b1c519deSDavid E. O'Brien
308ce3ae5c7SIan Dowse.if defined(ALL_MODULES)
30961340e72SRuslan ErmilovSUBDIR+=null
310ce3ae5c7SIan DowseSUBDIR+=ufs
311ce3ae5c7SIan Dowse.endif
312ce3ae5c7SIan Dowse
3135a7ed3fbSPoul-Henning Kamp.if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
314581a68a2SWarner LoshSUBDIR=${MODULES_OVERRIDE}
315581a68a2SWarner Losh.endif
316581a68a2SWarner Losh
3175e82ed7bSRuslan Ermilov# Calling kldxref(8) for each module is expensive.
3184875819cSJake Burkholder.if !defined(NO_XREF)
31999bca506SRuslan Ermilov.MAKEFLAGS+=	-DNO_XREF
3205e82ed7bSRuslan Ermilovafterinstall:
321be1d673dSRuslan Ermilov	@if type kldxref >/dev/null 2>&1; then \
322be1d673dSRuslan Ermilov		${ECHO} kldxref ${DESTDIR}${KMODDIR}; \
323be1d673dSRuslan Ermilov		kldxref ${DESTDIR}${KMODDIR}; \
324be1d673dSRuslan Ermilov	fi
3255e82ed7bSRuslan Ermilov.endif
3265e82ed7bSRuslan Ermilov
3270eec3684SGarrett Wollman.include <bsd.subdir.mk>
328