xref: /freebsd/sys/modules/Makefile (revision 99bca5069e8ceb556bfdcd33a6d0f0003b8f5ce8)
1c3aac50fSPeter Wemm# $FreeBSD$
20eec3684SGarrett Wollman
3f544a528SMark Murray.if exists(${.CURDIR}/../opencrypto) && !defined(NOCRYPT)
4f544a528SMark Murray_crypto=	crypto
5f544a528SMark Murray_cryptodev=	cryptodev
6f544a528SMark Murray.endif
7fd8b5fb2SMark Murray.if exists(${.CURDIR}/../crypto) && !defined(NOCRYPT)
8a6278a2aSMark Murray_random=	random
9fd8b5fb2SMark Murray.endif
10fd8b5fb2SMark Murray
11f6af4ff6SJohn BaldwinSUBDIR=	accf_data \
1209261c4fSBrooks Davis	accf_http \
1309261c4fSBrooks Davis	aha \
14fb404d6fSScott Long	aic7xxx \
1521d56e9cSAlfred Perlstein	aio \
1609261c4fSBrooks Davis	amr \
1709261c4fSBrooks Davis	an \
1809261c4fSBrooks Davis	aue \
1995d67482SBill Paul	bge \
208c4026b5SPaul Saab	bridge \
21aa980888SJake Burkholder	cam \
2209261c4fSBrooks Davis	ccd \
23aa980888SJake Burkholder	cd9660 \
2409261c4fSBrooks Davis	coda \
25f544a528SMark Murray	${_crypto} \
26f544a528SMark Murray	${_cryptodev} \
2709261c4fSBrooks Davis	cue \
2809261c4fSBrooks Davis	dc \
2909261c4fSBrooks Davis	de \
3009261c4fSBrooks Davis	digi \
318c4026b5SPaul Saab	dummynet \
3209261c4fSBrooks Davis	fdc \
3342d6ed03SBruce Evans	fdescfs \
347d2ba89bSJohn Baldwin	firewire \
3509261c4fSBrooks Davis	fxp \
36f8a984edSJonathan Lemon	gx \
378b7ce2ffSSam Leffler	hifn \
3809261c4fSBrooks Davis	if_disc \
3909261c4fSBrooks Davis	if_ef \
4042d6ed03SBruce Evans	if_faith \
4109261c4fSBrooks Davis	if_gif \
42b5e8c7d7SMaxim Sobolev	if_gre \
4309261c4fSBrooks Davis	if_ppp \
4409261c4fSBrooks Davis	if_sl \
4509261c4fSBrooks Davis	if_stf \
4609261c4fSBrooks Davis	if_tap \
4709261c4fSBrooks Davis	if_tun \
48214bfc97SBrooks Davis	if_vlan \
4909261c4fSBrooks Davis	ip6fw \
50fffcbbcdSBill Fenner	ip_mroute_mod \
5109261c4fSBrooks Davis	ipfw \
5297af632bSJohn Baldwin	isp \
5309261c4fSBrooks Davis	ispfw \
5409261c4fSBrooks Davis	joy \
5509261c4fSBrooks Davis	kue \
5609261c4fSBrooks Davis	lge \
570e3b6d50SSheldon Hearn	libiconv \
5809261c4fSBrooks Davis	libmchain \
591b6c2589SPoul-Henning Kamp	lpt \
60ebbd4fa8SRobert Watson	mac_biba \
61ebbd4fa8SRobert Watson	mac_bsdextended \
62ebbd4fa8SRobert Watson	mac_ifoff \
635773cccfSRobert Watson	mac_lomac \
64ebbd4fa8SRobert Watson	mac_mls \
65ebbd4fa8SRobert Watson	mac_none \
6651363000SRobert Watson	mac_partition \
6703d03162SRobert Watson	mac_portacl \
68ebbd4fa8SRobert Watson	mac_seeotheruids \
69ebbd4fa8SRobert Watson	mac_test \
70e73b093aSMatthew N. Dodd	mcd \
7109261c4fSBrooks Davis	md \
7209261c4fSBrooks Davis	mii \
7309261c4fSBrooks Davis	mlx \
74bc96e1c7SJohn Baldwin	mpt \
7586597d47SMaxime Henrion	msdosfs \
76e4de92ceSRuslan Ermilov	my \
77eb25edbdSPeter Wemm	nfsclient \
78eb25edbdSPeter Wemm	nfsserver \
7909261c4fSBrooks Davis	nge \
8009261c4fSBrooks Davis	nmdm \
8109261c4fSBrooks Davis	ntfs \
8209261c4fSBrooks Davis	nullfs \
8309261c4fSBrooks Davis	pcn \
841b6c2589SPoul-Henning Kamp	plip \
8509261c4fSBrooks Davis	portalfs \
861b6c2589SPoul-Henning Kamp	ppbus \
871b6c2589SPoul-Henning Kamp	ppi \
881b6c2589SPoul-Henning Kamp	pps \
893fd18735SDag-Erling Smørgrav	procfs \
903fd18735SDag-Erling Smørgrav	pseudofs \
91147e2e20SScott Long	raidframe \
9209261c4fSBrooks Davis	${_random} \
93787f1498SJohn Baldwin	rc \
940ac19bd5SSam Leffler	rc4 \
9509261c4fSBrooks Davis	rl \
9609261c4fSBrooks Davis	rp \
9709261c4fSBrooks Davis	sf \
9809261c4fSBrooks Davis	sis \
9909261c4fSBrooks Davis	sk \
10009261c4fSBrooks Davis	sn \
10109261c4fSBrooks Davis	snp \
10209261c4fSBrooks Davis	ste \
10309261c4fSBrooks Davis	sym \
10409261c4fSBrooks Davis	sysvipc \
10509261c4fSBrooks Davis	ti \
10609261c4fSBrooks Davis	tl \
107f3d92b26SOlivier Houchard	trm \
10842d6ed03SBruce Evans	twe \
10909261c4fSBrooks Davis	tx \
110362c5c1eSBill Paul	txp \
11151d123d6SAlexander Kabaev	ubsa \
1128b7ce2ffSSam Leffler	ubsec \
113916e6e02SJosef Karthauser	ucom \
11409261c4fSBrooks Davis	udbp \
115df263cbdSScott Long	udf \
11642d6ed03SBruce Evans	ufm \
11731f48889SJosef Karthauser	uftdi \
11809261c4fSBrooks Davis	ugen \
11909261c4fSBrooks Davis	uhid \
12009261c4fSBrooks Davis	ukbd \
12109261c4fSBrooks Davis	ulpt \
12209261c4fSBrooks Davis	umapfs \
12309261c4fSBrooks Davis	umass \
12409261c4fSBrooks Davis	umodem \
12509261c4fSBrooks Davis	ums \
12609261c4fSBrooks Davis	unionfs \
127916e6e02SJosef Karthauser	uplcom \
12809261c4fSBrooks Davis	urio \
12909261c4fSBrooks Davis	usb \
1302fd84f56SNick Hibma	uscanner \
131ca095220SJosef Karthauser	uvisor \
132916e6e02SJosef Karthauser	uvscom \
13309261c4fSBrooks Davis	vpo \
13409261c4fSBrooks Davis	vr \
13509261c4fSBrooks Davis	vx \
13609261c4fSBrooks Davis	wb \
1370ac19bd5SSam Leffler	wlan \
13809261c4fSBrooks Davis	xl
139256c4043SNick Hibma
14042d6ed03SBruce Evans.if defined(WANT_EXT2FS_MODULE)
14142d6ed03SBruce EvansSUBDIR+=ext2fs
142aa980888SJake Burkholder.endif
143aa980888SJake Burkholder
1448c7cf505SMarcel Moolenaar.if !defined(NO_IPFILTER)
1457a43a96aSRuslan ErmilovSUBDIR+=ipfilter
1467a43a96aSRuslan Ermilov.endif
1477a43a96aSRuslan Ermilov
14842d6ed03SBruce Evans.if ${MACHINE_ARCH} != "sparc64"
14942d6ed03SBruce EvansSUBDIR+=syscons
15042d6ed03SBruce Evans.endif
15142d6ed03SBruce Evans
15228cc91d8SMike Smith# XXX some of these can move to the general case when de-i386'ed
1534e54e04eSWarner Losh# XXX some of these can move now, but are untested on other architectures.
15401c8945cSJohn Baldwin.if ${MACHINE_ARCH} == "i386"
155f6af4ff6SJohn BaldwinSUBDIR+=3dfx \
156f801952aSPeter Wemm	agp \
157f6af4ff6SJohn Baldwin	aic \
1583729f1a5SYoshihiro Takahashi	aout \
15942d6ed03SBruce Evans	apm \
1603729f1a5SYoshihiro Takahashi	ar \
1613729f1a5SYoshihiro Takahashi	arcnet \
162f7883a79SRobert Watson	awi \
1633729f1a5SYoshihiro Takahashi	bktr \
1643729f1a5SYoshihiro Takahashi	coff \
165484be8eaSYoshihiro Takahashi	drm \
16601c8945cSJohn Baldwin	ed \
1673729f1a5SYoshihiro Takahashi	em \
1680921c98bSYoshihiro Takahashi	ep \
1693729f1a5SYoshihiro Takahashi	fe \
1703729f1a5SYoshihiro Takahashi	fpu \
1713729f1a5SYoshihiro Takahashi	gnufpu \
1723729f1a5SYoshihiro Takahashi	hea \
1733729f1a5SYoshihiro Takahashi	hfa \
1743729f1a5SYoshihiro Takahashi	ibcs2 \
1753729f1a5SYoshihiro Takahashi	linprocfs \
1763729f1a5SYoshihiro Takahashi	linux \
17701c8945cSJohn Baldwin	lnc \
178ef9e45ddSTim J. Robbins	ncp \
1793729f1a5SYoshihiro Takahashi	ncv \
1803729f1a5SYoshihiro Takahashi	netgraph \
18142d6ed03SBruce Evans	nsp \
182ef9e45ddSTim J. Robbins	nwfs \
1833729f1a5SYoshihiro Takahashi	oltr \
1840921c98bSYoshihiro Takahashi	pccard \
18542d6ed03SBruce Evans	pecoff \
1863729f1a5SYoshihiro Takahashi	ray \
1873729f1a5SYoshihiro Takahashi	sbni \
1883729f1a5SYoshihiro Takahashi	scsi_low \
1893729f1a5SYoshihiro Takahashi	smbfs \
1903729f1a5SYoshihiro Takahashi	sound \
1913729f1a5SYoshihiro Takahashi	splash \
1923729f1a5SYoshihiro Takahashi	sppp \
1933729f1a5SYoshihiro Takahashi	sr \
1943729f1a5SYoshihiro Takahashi	stg \
1953729f1a5SYoshihiro Takahashi	streams \
1963729f1a5SYoshihiro Takahashi	vinum \
1973729f1a5SYoshihiro Takahashi	wi \
1983729f1a5SYoshihiro Takahashi	xe
19901c8945cSJohn Baldwin
20001c8945cSJohn Baldwin.if ${MACHINE} == "i386"
20101c8945cSJohn BaldwinSUBDIR+=aac \
20201c8945cSJohn Baldwin	acpi \
20301c8945cSJohn Baldwin	asr \
20401c8945cSJohn Baldwin	atspeaker \
20501c8945cSJohn Baldwin	cardbus \
20601c8945cSJohn Baldwin	cbb \
20701c8945cSJohn Baldwin	ciss \
20801c8945cSJohn Baldwin	cm \
20901c8945cSJohn Baldwin	el \
21001c8945cSJohn Baldwin	exca \
21101c8945cSJohn Baldwin	iir \
21201c8945cSJohn Baldwin	mly \
21301c8945cSJohn Baldwin	s3 \
2147534ac7aSMatthew N. Dodd	smapi \
21501c8945cSJohn Baldwin	vesa
21601c8945cSJohn Baldwin
21701c8945cSJohn Baldwin.elif ${MACHINE} == "pc98"
21883536948SYoshihiro TakahashiSUBDIR+=canbepm \
21983536948SYoshihiro Takahashi	canbus \
22083536948SYoshihiro Takahashi	pcspeaker \
22101c8945cSJohn Baldwin	pmc \
22201c8945cSJohn Baldwin	snc
22301c8945cSJohn Baldwin.endif
2243729f1a5SYoshihiro Takahashi.endif
2253729f1a5SYoshihiro Takahashi
2263adcb4ceSMarcel Moolenaar.if ${MACHINE_ARCH} == "ia64"
2278c7cf505SMarcel Moolenaar# Modules not enabled on ia64 (as compared to i386) include:
2288c7cf505SMarcel Moolenaar#	aac acpi aout apm atspeaker drm fpu gnufpu ibcs2 linprocfs linux ncv
2298c7cf505SMarcel Moolenaar#	nsp oltr pecoff s3 sbni stg vesa
2303adcb4ceSMarcel MoolenaarSUBDIR+=aic \
2318c7cf505SMarcel Moolenaar	ar \
2323adcb4ceSMarcel Moolenaar	arcnet \
2338c7cf505SMarcel Moolenaar	asr \
2348c7cf505SMarcel Moolenaar	bktr \
2358c7cf505SMarcel Moolenaar	cardbus \
2368c7cf505SMarcel Moolenaar	cbb \
2373adcb4ceSMarcel Moolenaar	ciss \
2383adcb4ceSMarcel Moolenaar	cm \
2393adcb4ceSMarcel Moolenaar	coff \
2403adcb4ceSMarcel Moolenaar	el \
2413adcb4ceSMarcel Moolenaar	em \
2428c7cf505SMarcel Moolenaar	ep \
2438c7cf505SMarcel Moolenaar	exca \
2443adcb4ceSMarcel Moolenaar	fe \
2458c7cf505SMarcel Moolenaar	hea \
2468c7cf505SMarcel Moolenaar	hfa \
2473adcb4ceSMarcel Moolenaar	iir \
2483adcb4ceSMarcel Moolenaar	mly \
2498c7cf505SMarcel Moolenaar	netgraph \
2508c7cf505SMarcel Moolenaar	pccard \
2513adcb4ceSMarcel Moolenaar	ray \
2528c7cf505SMarcel Moolenaar	rc \
2533adcb4ceSMarcel Moolenaar	scsi_low \
2543adcb4ceSMarcel Moolenaar	smbfs \
2558c7cf505SMarcel Moolenaar	sound \
2563adcb4ceSMarcel Moolenaar	splash \
2578c7cf505SMarcel Moolenaar	sppp \
2583adcb4ceSMarcel Moolenaar	sr \
2593adcb4ceSMarcel Moolenaar	streams \
2608c7cf505SMarcel Moolenaar	vinum \
2613adcb4ceSMarcel Moolenaar	wi \
2623adcb4ceSMarcel Moolenaar	xe
2633adcb4ceSMarcel Moolenaar.endif
2643adcb4ceSMarcel Moolenaar
2656c1029b1SAndrew Gallatin.if ${MACHINE_ARCH} == "alpha"
26605d1e23aSEric AnholtSUBDIR+=agp \
26705d1e23aSEric Anholt	linprocfs \
2683adcb4ceSMarcel Moolenaar	linux \
2693adcb4ceSMarcel Moolenaar	osf1 \
2703adcb4ceSMarcel Moolenaar	sound \
271ed323145SMarcel Moolenaar	sppp \
272ed323145SMarcel Moolenaar	vinum
2736c1029b1SAndrew Gallatin.endif
2746c1029b1SAndrew Gallatin
27573badb24SDavid E. O'Brien.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "sparc64"
27673badb24SDavid E. O'BrienSUBDIR+=gem
27773badb24SDavid E. O'Brien.endif
27873badb24SDavid E. O'Brien
279b1c519deSDavid E. O'Brien.if ${MACHINE_ARCH} == "sparc64"
28073badb24SDavid E. O'BrienSUBDIR+=hme
281b1c519deSDavid E. O'Brien.endif
282b1c519deSDavid E. O'Brien
2835a7ed3fbSPoul-Henning Kamp.if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
284581a68a2SWarner LoshSUBDIR=${MODULES_OVERRIDE}
285581a68a2SWarner Losh.endif
286581a68a2SWarner Losh
2875e82ed7bSRuslan Ermilov# Calling kldxref(8) for each module is expensive.
2884875819cSJake Burkholder.if !defined(NO_XREF)
28999bca506SRuslan Ermilov.MAKEFLAGS+=	-DNO_XREF
2905e82ed7bSRuslan Ermilovafterinstall:
291be1d673dSRuslan Ermilov	@if type kldxref >/dev/null 2>&1; then \
292be1d673dSRuslan Ermilov		${ECHO} kldxref ${DESTDIR}${KMODDIR}; \
293be1d673dSRuslan Ermilov		kldxref ${DESTDIR}${KMODDIR}; \
294be1d673dSRuslan Ermilov	fi
2955e82ed7bSRuslan Ermilov.endif
2965e82ed7bSRuslan Ermilov
2970eec3684SGarrett Wollman.include <bsd.subdir.mk>
298