xref: /freebsd/sys/modules/Makefile (revision 7a07b896c5c42c73ddc14baf71778b10f1d4e84f)
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 \
2009261c4fSBrooks Davis	aue \
2187b4a259SBill Paul	axe \
2295d67482SBill Paul	bge \
238c4026b5SPaul Saab	bridge \
24aa980888SJake Burkholder	cam \
25aa980888SJake Burkholder	cd9660 \
2609261c4fSBrooks Davis	coda \
27f544a528SMark Murray	${_crypto} \
28f544a528SMark Murray	${_cryptodev} \
2909261c4fSBrooks Davis	cue \
3009261c4fSBrooks Davis	dc \
3109261c4fSBrooks Davis	de \
3209261c4fSBrooks Davis	digi \
338c4026b5SPaul Saab	dummynet \
347d361237SHartmut Brandt	en \
35fb24f088SHartmut Brandt	fatm \
3609261c4fSBrooks Davis	fdc \
3742d6ed03SBruce Evans	fdescfs \
387d2ba89bSJohn Baldwin	firewire \
3909261c4fSBrooks Davis	fxp \
405d9bef64SPoul-Henning Kamp	geom \
41f8a984edSJonathan Lemon	gx \
42c594298bSHartmut Brandt	hatm \
438b7ce2ffSSam Leffler	hifn \
4409261c4fSBrooks Davis	if_disc \
4509261c4fSBrooks Davis	if_ef \
4642d6ed03SBruce Evans	if_faith \
4709261c4fSBrooks Davis	if_gif \
48b5e8c7d7SMaxim Sobolev	if_gre \
4909261c4fSBrooks Davis	if_ppp \
5009261c4fSBrooks Davis	if_sl \
5109261c4fSBrooks Davis	if_stf \
5209261c4fSBrooks Davis	if_tap \
5309261c4fSBrooks Davis	if_tun \
54214bfc97SBrooks Davis	if_vlan \
5509261c4fSBrooks Davis	ip6fw \
56fffcbbcdSBill Fenner	ip_mroute_mod \
5709261c4fSBrooks Davis	ipfw \
5897af632bSJohn Baldwin	isp \
5909261c4fSBrooks Davis	ispfw \
6009261c4fSBrooks Davis	joy \
6109261c4fSBrooks Davis	kue \
6209261c4fSBrooks Davis	lge \
630e3b6d50SSheldon Hearn	libiconv \
6409261c4fSBrooks Davis	libmchain \
651b6c2589SPoul-Henning Kamp	lpt \
66ebbd4fa8SRobert Watson	mac_biba \
67ebbd4fa8SRobert Watson	mac_bsdextended \
68ebbd4fa8SRobert Watson	mac_ifoff \
695773cccfSRobert Watson	mac_lomac \
70ebbd4fa8SRobert Watson	mac_mls \
71ebbd4fa8SRobert Watson	mac_none \
7251363000SRobert Watson	mac_partition \
7303d03162SRobert Watson	mac_portacl \
74ebbd4fa8SRobert Watson	mac_seeotheruids \
75ebbd4fa8SRobert Watson	mac_test \
76e73b093aSMatthew N. Dodd	mcd \
7709261c4fSBrooks Davis	md \
7809261c4fSBrooks Davis	mii \
7909261c4fSBrooks Davis	mlx \
80bc96e1c7SJohn Baldwin	mpt \
8186597d47SMaxime Henrion	msdosfs \
82e4de92ceSRuslan Ermilov	my \
83eb25edbdSPeter Wemm	nfsclient \
84eb25edbdSPeter Wemm	nfsserver \
8509261c4fSBrooks Davis	nge \
8609261c4fSBrooks Davis	nmdm \
8709261c4fSBrooks Davis	ntfs \
8809261c4fSBrooks Davis	nullfs \
8909261c4fSBrooks Davis	pcn \
901b6c2589SPoul-Henning Kamp	plip \
9109261c4fSBrooks Davis	portalfs \
921b6c2589SPoul-Henning Kamp	ppbus \
931b6c2589SPoul-Henning Kamp	ppi \
941b6c2589SPoul-Henning Kamp	pps \
953fd18735SDag-Erling Smørgrav	procfs \
963fd18735SDag-Erling Smørgrav	pseudofs \
97147e2e20SScott Long	raidframe \
9809261c4fSBrooks Davis	${_random} \
99787f1498SJohn Baldwin	rc \
1000ac19bd5SSam Leffler	rc4 \
10109261c4fSBrooks Davis	rl \
10209261c4fSBrooks Davis	rp \
10311e04b05SShunsuke Akiyama	rue \
1047d0de413SMax Khon	sbsh \
10526a9ce3eSMatthew N. Dodd	scd \
10609261c4fSBrooks Davis	sf \
10709261c4fSBrooks Davis	sis \
10809261c4fSBrooks Davis	sk \
10909261c4fSBrooks Davis	sn \
11009261c4fSBrooks Davis	snp \
11109261c4fSBrooks Davis	ste \
11209261c4fSBrooks Davis	sym \
11309261c4fSBrooks Davis	sysvipc \
11409261c4fSBrooks Davis	ti \
11509261c4fSBrooks Davis	tl \
116f3d92b26SOlivier Houchard	trm \
11742d6ed03SBruce Evans	twe \
11809261c4fSBrooks Davis	tx \
119362c5c1eSBill Paul	txp \
12051d123d6SAlexander Kabaev	ubsa \
1218b7ce2ffSSam Leffler	ubsec \
122916e6e02SJosef Karthauser	ucom \
12309261c4fSBrooks Davis	udbp \
124df263cbdSScott Long	udf \
12542d6ed03SBruce Evans	ufm \
12631f48889SJosef Karthauser	uftdi \
12709261c4fSBrooks Davis	ugen \
12809261c4fSBrooks Davis	uhid \
12909261c4fSBrooks Davis	ukbd \
13009261c4fSBrooks Davis	ulpt \
13109261c4fSBrooks Davis	umapfs \
13209261c4fSBrooks Davis	umass \
13309261c4fSBrooks Davis	umodem \
13409261c4fSBrooks Davis	ums \
13509261c4fSBrooks Davis	unionfs \
136916e6e02SJosef Karthauser	uplcom \
13709261c4fSBrooks Davis	urio \
13809261c4fSBrooks Davis	usb \
1392fd84f56SNick Hibma	uscanner \
140591f4054SHartmut Brandt	utopia \
141ca095220SJosef Karthauser	uvisor \
142916e6e02SJosef Karthauser	uvscom \
14309261c4fSBrooks Davis	vpo \
14409261c4fSBrooks Davis	vr \
14509261c4fSBrooks Davis	vx \
14609261c4fSBrooks Davis	wb \
1470ac19bd5SSam Leffler	wlan \
14809261c4fSBrooks Davis	xl
149256c4043SNick Hibma
1507a07b896SIan Dowse.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "alpha"
151ce3ae5c7SIan Dowse.if defined(WANT_EXT2FS_MODULE) || defined(ALL_MODULES)
15242d6ed03SBruce EvansSUBDIR+=ext2fs
153aa980888SJake Burkholder.endif
1547a07b896SIan Dowse.endif
155aa980888SJake Burkholder
156ce3ae5c7SIan Dowse.if !defined(NO_IPFILTER) || defined(ALL_MODULES)
1577a43a96aSRuslan ErmilovSUBDIR+=ipfilter
1587a43a96aSRuslan Ermilov.endif
1597a43a96aSRuslan Ermilov
16042d6ed03SBruce Evans.if ${MACHINE_ARCH} != "sparc64"
16142d6ed03SBruce EvansSUBDIR+=syscons
16242d6ed03SBruce Evans.endif
16342d6ed03SBruce Evans
16428cc91d8SMike Smith# XXX some of these can move to the general case when de-i386'ed
1654e54e04eSWarner Losh# XXX some of these can move now, but are untested on other architectures.
16601c8945cSJohn Baldwin.if ${MACHINE_ARCH} == "i386"
167f6af4ff6SJohn BaldwinSUBDIR+=3dfx \
168f801952aSPeter Wemm	agp \
169f6af4ff6SJohn Baldwin	aic \
1703729f1a5SYoshihiro Takahashi	aout \
17142d6ed03SBruce Evans	apm \
1723729f1a5SYoshihiro Takahashi	ar \
1733729f1a5SYoshihiro Takahashi	arcnet \
174f7883a79SRobert Watson	awi \
1753729f1a5SYoshihiro Takahashi	bktr \
1763729f1a5SYoshihiro Takahashi	coff \
177484be8eaSYoshihiro Takahashi	drm \
17801c8945cSJohn Baldwin	ed \
179187e120cSMatthew N. Dodd	elink \
1803729f1a5SYoshihiro Takahashi	em \
1810921c98bSYoshihiro Takahashi	ep \
1823729f1a5SYoshihiro Takahashi	fe \
1833729f1a5SYoshihiro Takahashi	fpu \
1843729f1a5SYoshihiro Takahashi	gnufpu \
1853729f1a5SYoshihiro Takahashi	hea \
1863729f1a5SYoshihiro Takahashi	hfa \
18749336098SNicolas Souchu	i2c \
1883729f1a5SYoshihiro Takahashi	ibcs2 \
189dd4cb1b8SMatthew N. Dodd	ie \
1903729f1a5SYoshihiro Takahashi	linprocfs \
1913729f1a5SYoshihiro Takahashi	linux \
19201c8945cSJohn Baldwin	lnc \
193ef9e45ddSTim J. Robbins	ncp \
1943729f1a5SYoshihiro Takahashi	ncv \
1953729f1a5SYoshihiro Takahashi	netgraph \
19642d6ed03SBruce Evans	nsp \
197ef9e45ddSTim J. Robbins	nwfs \
1983729f1a5SYoshihiro Takahashi	oltr \
1990921c98bSYoshihiro Takahashi	pccard \
20042d6ed03SBruce Evans	pecoff \
2013729f1a5SYoshihiro Takahashi	ray \
2023729f1a5SYoshihiro Takahashi	sbni \
2033729f1a5SYoshihiro Takahashi	scsi_low \
2043729f1a5SYoshihiro Takahashi	smbfs \
2053729f1a5SYoshihiro Takahashi	sound \
206a71a3073SMatthew N. Dodd	speaker \
2073729f1a5SYoshihiro Takahashi	splash \
2083729f1a5SYoshihiro Takahashi	sppp \
2093729f1a5SYoshihiro Takahashi	sr \
2103729f1a5SYoshihiro Takahashi	stg \
2113729f1a5SYoshihiro Takahashi	streams \
2123729f1a5SYoshihiro Takahashi	vinum \
2133729f1a5SYoshihiro Takahashi	wi \
2143729f1a5SYoshihiro Takahashi	xe
21501c8945cSJohn Baldwin
21601c8945cSJohn Baldwin.if ${MACHINE} == "i386"
21701c8945cSJohn BaldwinSUBDIR+=aac \
21801c8945cSJohn Baldwin	acpi \
21901c8945cSJohn Baldwin	asr \
22081d9009aSMatthew N. Dodd	bios \
22101c8945cSJohn Baldwin	cardbus \
22201c8945cSJohn Baldwin	cbb \
22301c8945cSJohn Baldwin	ciss \
22401c8945cSJohn Baldwin	cm \
225ba32bfe2SYoshihiro Takahashi	dpt \
22601c8945cSJohn Baldwin	el \
227ba32bfe2SYoshihiro Takahashi	ex \
22801c8945cSJohn Baldwin	exca \
229ba32bfe2SYoshihiro Takahashi	idt \
23001c8945cSJohn Baldwin	iir \
2313e4e4849SYoshihiro Takahashi	ips \
23201c8945cSJohn Baldwin	mly \
23301c8945cSJohn Baldwin	s3 \
23401c8945cSJohn Baldwin	vesa
23501c8945cSJohn Baldwin
23601c8945cSJohn Baldwin.elif ${MACHINE} == "pc98"
23783536948SYoshihiro TakahashiSUBDIR+=canbepm \
23883536948SYoshihiro Takahashi	canbus \
23901c8945cSJohn Baldwin	pmc \
24001c8945cSJohn Baldwin	snc
24101c8945cSJohn Baldwin.endif
2423729f1a5SYoshihiro Takahashi.endif
2433729f1a5SYoshihiro Takahashi
2443adcb4ceSMarcel Moolenaar.if ${MACHINE_ARCH} == "ia64"
2458c7cf505SMarcel Moolenaar# Modules not enabled on ia64 (as compared to i386) include:
2468c7cf505SMarcel Moolenaar#	aac acpi aout apm atspeaker drm fpu gnufpu ibcs2 linprocfs linux ncv
2478c7cf505SMarcel Moolenaar#	nsp oltr pecoff s3 sbni stg vesa
2483adcb4ceSMarcel MoolenaarSUBDIR+=aic \
2498c7cf505SMarcel Moolenaar	ar \
2503adcb4ceSMarcel Moolenaar	arcnet \
2518c7cf505SMarcel Moolenaar	asr \
2528c7cf505SMarcel Moolenaar	bktr \
2538c7cf505SMarcel Moolenaar	cardbus \
2548c7cf505SMarcel Moolenaar	cbb \
2553adcb4ceSMarcel Moolenaar	ciss \
2563adcb4ceSMarcel Moolenaar	cm \
2573adcb4ceSMarcel Moolenaar	coff \
2583adcb4ceSMarcel Moolenaar	el \
2593adcb4ceSMarcel Moolenaar	em \
2608c7cf505SMarcel Moolenaar	ep \
2618c7cf505SMarcel Moolenaar	exca \
2623adcb4ceSMarcel Moolenaar	fe \
2638c7cf505SMarcel Moolenaar	hea \
2648c7cf505SMarcel Moolenaar	hfa \
2653adcb4ceSMarcel Moolenaar	iir \
2663adcb4ceSMarcel Moolenaar	mly \
2678c7cf505SMarcel Moolenaar	netgraph \
2688c7cf505SMarcel Moolenaar	pccard \
2693adcb4ceSMarcel Moolenaar	ray \
2708c7cf505SMarcel Moolenaar	rc \
2713adcb4ceSMarcel Moolenaar	scsi_low \
2723adcb4ceSMarcel Moolenaar	smbfs \
2738c7cf505SMarcel Moolenaar	sound \
2743adcb4ceSMarcel Moolenaar	splash \
2758c7cf505SMarcel Moolenaar	sppp \
2763adcb4ceSMarcel Moolenaar	sr \
2773adcb4ceSMarcel Moolenaar	streams \
2788c7cf505SMarcel Moolenaar	vinum \
2793adcb4ceSMarcel Moolenaar	wi \
2803adcb4ceSMarcel Moolenaar	xe
2813adcb4ceSMarcel Moolenaar.endif
2823adcb4ceSMarcel Moolenaar
2836c1029b1SAndrew Gallatin.if ${MACHINE_ARCH} == "alpha"
28405d1e23aSEric AnholtSUBDIR+=agp \
28505d1e23aSEric Anholt	linprocfs \
2863adcb4ceSMarcel Moolenaar	linux \
2873adcb4ceSMarcel Moolenaar	osf1 \
2883adcb4ceSMarcel Moolenaar	sound \
289ed323145SMarcel Moolenaar	sppp \
290ed323145SMarcel Moolenaar	vinum
2916c1029b1SAndrew Gallatin.endif
2926c1029b1SAndrew Gallatin
29373badb24SDavid E. O'Brien.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "sparc64"
29473badb24SDavid E. O'BrienSUBDIR+=gem
29573badb24SDavid E. O'Brien.endif
29673badb24SDavid E. O'Brien
297b1c519deSDavid E. O'Brien.if ${MACHINE_ARCH} == "sparc64"
29873badb24SDavid E. O'BrienSUBDIR+=hme
299b1c519deSDavid E. O'Brien.endif
300b1c519deSDavid E. O'Brien
301ce3ae5c7SIan Dowse.if defined(ALL_MODULES)
302ce3ae5c7SIan DowseSUBDIR+=ufs
303ce3ae5c7SIan Dowse.endif
304ce3ae5c7SIan Dowse
3055a7ed3fbSPoul-Henning Kamp.if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
306581a68a2SWarner LoshSUBDIR=${MODULES_OVERRIDE}
307581a68a2SWarner Losh.endif
308581a68a2SWarner Losh
3095e82ed7bSRuslan Ermilov# Calling kldxref(8) for each module is expensive.
3104875819cSJake Burkholder.if !defined(NO_XREF)
31199bca506SRuslan Ermilov.MAKEFLAGS+=	-DNO_XREF
3125e82ed7bSRuslan Ermilovafterinstall:
313be1d673dSRuslan Ermilov	@if type kldxref >/dev/null 2>&1; then \
314be1d673dSRuslan Ermilov		${ECHO} kldxref ${DESTDIR}${KMODDIR}; \
315be1d673dSRuslan Ermilov		kldxref ${DESTDIR}${KMODDIR}; \
316be1d673dSRuslan Ermilov	fi
3175e82ed7bSRuslan Ermilov.endif
3185e82ed7bSRuslan Ermilov
3190eec3684SGarrett Wollman.include <bsd.subdir.mk>
320