Makefile revision 1.225
1#	$NetBSD: Makefile,v 1.225 2019/09/17 04:43:47 mrg Exp $
2
3.include <bsd.own.mk>
4
5# For all platforms
6
7# Modules for compatability with earlier versions of NetBSD
8
9SUBDIR+=	compat_util
10SUBDIR+=	compat_43   compat_sysctl_09_43
11SUBDIR+=	compat_09   compat_10   compat_12   compat_13   compat_14
12SUBDIR+=	compat_16   compat_20   compat_30   compat_40   compat_50
13SUBDIR+=	compat_60   compat_70   compat_80 
14
15SUBDIR+=	compat_sysv_10 compat_sysv_14 compat_sysv_50
16
17SUBDIR+=	compat_raid_50
18SUBDIR+=	compat_raid_80
19
20SUBDIR+=	compat_crypto_50
21
22SUBDIR+=	accf_dataready
23SUBDIR+=	accf_httpready
24SUBDIR+=	adosfs
25SUBDIR+=	aio
26SUBDIR+=	audio
27SUBDIR+=	autofs
28SUBDIR+=	blowfish
29SUBDIR+=	bpf
30SUBDIR+=	bpf_filter
31SUBDIR+=	bufq_disksort
32SUBDIR+=	bufq_fcfs
33SUBDIR+=	bufq_priocscan
34SUBDIR+=	bufq_readprio
35SUBDIR+=	camellia
36SUBDIR+=	cast128
37SUBDIR+=	ccd
38SUBDIR+=	cd9660
39SUBDIR+=	cgd
40SUBDIR+=	chfs
41SUBDIR+=	clockctl
42SUBDIR+=	compat_ossaudio
43SUBDIR+=	crypto
44SUBDIR+=	coda
45SUBDIR+=	coda5
46SUBDIR+=	coredump
47SUBDIR+=	dbcool
48SUBDIR+=	des
49SUBDIR+=	dk_subr
50SUBDIR+=	drvctl
51SUBDIR+=	efs
52SUBDIR+=	ext2fs
53SUBDIR+=	exec_script
54SUBDIR+=	fdesc
55SUBDIR+=	ffs
56SUBDIR+=	filecore
57SUBDIR+=	filemon
58SUBDIR+=	flash
59SUBDIR+=	fss
60SUBDIR+=	gpio
61SUBDIR+=	gpioiic
62SUBDIR+=	gpioow
63SUBDIR+=	gpiosim
64SUBDIR+=	gpioirq
65SUBDIR+=	gpiopps
66SUBDIR+=	hfs
67SUBDIR+=	hythygtemp
68SUBDIR+=	si70xxtemp
69SUBDIR+=	am2315temp
70SUBDIR+=	i2cexec
71SUBDIR+=	i2c_bitbang
72SUBDIR+=	if_agr
73SUBDIR+=	if_axe
74SUBDIR+=	if_axen
75SUBDIR+=	if_faith
76SUBDIR+=	if_gif
77SUBDIR+=	if_gre
78SUBDIR+=	if_l2tp
79SUBDIR+=	if_loop
80SUBDIR+=	if_mpls
81SUBDIR+=	if_mue
82SUBDIR+=	if_npflog
83SUBDIR+=	if_ppp
84SUBDIR+=	if_pppoe
85SUBDIR+=	if_sl
86SUBDIR+=	if_smsc
87SUBDIR+=	if_srt srt
88SUBDIR+=	if_stf
89SUBDIR+=	if_strip
90SUBDIR+=	if_tap tap
91SUBDIR+=	if_tun tun
92SUBDIR+=	if_udav
93SUBDIR+=	if_ure
94SUBDIR+=	if_vlan
95SUBDIR+=	iic
96SUBDIR+=	ip_ecn
97SUBDIR+=	ipl
98SUBDIR+=	kernfs
99SUBDIR+=	layerfs
100SUBDIR+=	lfs
101SUBDIR+=	lua
102SUBDIR+=	luasystm
103SUBDIR+=	luapmf
104SUBDIR+=	mfs
105SUBDIR+=	midi
106SUBDIR+=	miiverbose
107SUBDIR+=	miniroot
108SUBDIR+=	mqueue
109SUBDIR+=	msdos
110SUBDIR+=	nand
111SUBDIR+=	nandemulator
112SUBDIR+=	nfs
113SUBDIR+=	nfsserver
114SUBDIR+=	nilfs
115SUBDIR+=	npf
116SUBDIR+=	npf_alg_icmp
117SUBDIR+=	npf_ext_log
118SUBDIR+=	npf_ext_normalize
119SUBDIR+=	npf_ext_rndblock
120SUBDIR+=	ntfs
121SUBDIR+=	null
122SUBDIR+=	onewire
123SUBDIR+=	opencrypto
124SUBDIR+=	overlay
125SUBDIR+=	pciverbose
126SUBDIR+=	pf
127SUBDIR+=	ppp_bsdcomp
128SUBDIR+=	ppp_deflate
129SUBDIR+=	procfs
130SUBDIR+=	ptrace
131SUBDIR+=	ptrace_common
132SUBDIR+=	ptyfs
133SUBDIR+=	puffs
134SUBDIR+=	putter
135SUBDIR+=	raid
136SUBDIR+=	scsiverbose
137SUBDIR+=	sdtemp
138SUBDIR+=	secmodel_bsd44
139SUBDIR+=	secmodel_extensions
140SUBDIR+=	secmodel_overlay
141SUBDIR+=	securelevel
142SUBDIR+=	sequencer
143SUBDIR+=	skipjack
144SUBDIR+=	slcompress
145SUBDIR+=	smbfs
146SUBDIR+=	spdmem
147SUBDIR+=	spkr
148SUBDIR+=	sppp_subr
149SUBDIR+=	sysmon
150SUBDIR+=	sysmon_envsys
151SUBDIR+=	sysmon_power
152SUBDIR+=	sysmon_taskq
153SUBDIR+=	sysmon_wdog
154SUBDIR+=	sysvbfs
155SUBDIR+=	sysv_ipc
156SUBDIR+=	suser
157SUBDIR+=	swcrypto
158SUBDIR+=	swsensor
159SUBDIR+=	swwdog
160SUBDIR+=	tmpfs
161SUBDIR+=	ualea
162SUBDIR+=	uatp
163SUBDIR+=	udf
164SUBDIR+=	ufs
165SUBDIR+=	umap
166SUBDIR+=	union
167SUBDIR+=	usbnet
168SUBDIR+=	usbverbose
169SUBDIR+=	vcoda
170SUBDIR+=	v7fs
171SUBDIR+=	vnd
172SUBDIR+=	wapbl
173SUBDIR+=	wsbell
174SUBDIR+=	zlib
175SUBDIR+=	tprof
176.if (defined(NOTYET))
177SUBDIR+=	hifn		# Builds on architectures with PCI bus
178SUBDIR+=	unionfs
179.endif
180.if ${MKBINUTILS} != "no"
181SUBDIR+=	xldscripts
182.endif
183
184# Machine dependent section
185.if ${MACHINE_ARCH} == "i386" || \
186    ${MACHINE_CPU} == "m68k"
187SUBDIR+=	exec_aout
188.endif
189
190.if ${MACHINE_ARCH} != "alpha" && \
191    ${MACHINE_ARCH} != "ia64"
192SUBDIR+=	exec_elf32
193.endif
194
195.if ${MACHINE_CPU} == "aarch64" || \
196    ${MACHINE_ARCH} == "alpha" || \
197    ${MACHINE_ARCH} == "ia64" || \
198    ${MACHINE_ARCH} == "sparc64" || \
199    ${MACHINE_ARCH} == "x86_64"
200SUBDIR+=	exec_elf64
201.endif
202
203.if ${MACHINE_ARCH} == "i386" || \
204    ${MACHINE_ARCH} == "x86_64"
205SUBDIR+=	amdsmn
206SUBDIR+=	amdtemp
207SUBDIR+=	amdzentemp
208SUBDIR+=	coretemp
209SUBDIR+=	est
210SUBDIR+=	hdafg
211SUBDIR+=	hdaudio
212SUBDIR+=	hdaudio_pci
213SUBDIR+=	hdaudioverbose
214SUBDIR+=	hpet
215SUBDIR+=	ichsmb
216SUBDIR+=	odcm
217SUBDIR+=	powernow
218SUBDIR+=	tco
219SUBDIR+=	tprof_x86
220SUBDIR+=	vmt
221.endif
222
223.if ${MACHINE_ARCH} == "x86_64"
224SUBDIR+=	nvmm
225.endif
226
227.if ${MACHINE_ARCH} == "i386" || \
228    ${MACHINE_ARCH} == "x86_64"
229SUBDIR+=	ubsec		# Builds on architectures with PCI bus
230.endif
231
232.if ${MKSLJIT} != "no"
233# No modules for 32-bit arm, mips and powerpc yet.
234.if ${MACHINE_ARCH} == "aarch64" || \
235    ${MACHINE_ARCH} == "i386"    || \
236    ${MACHINE_ARCH} == "sparc"   || \
237    ${MACHINE_ARCH} == "x86_64"
238SUBDIR+=	bpfjit
239SUBDIR+=	sljit
240.endif
241.endif
242
243#
244# ACPI modules
245#
246.if ${MACHINE_ARCH} == "i386" || \
247    ${MACHINE_ARCH} == "ia64" || \
248    ${MACHINE_ARCH} == "x86_64"
249SUBDIR+=	acpiverbose
250.endif
251
252.if ${MACHINE_ARCH} == "i386" || \
253    ${MACHINE_ARCH} == "x86_64"
254SUBDIR+=	acpiacad
255SUBDIR+=	acpibat
256SUBDIR+=	acpibut
257SUBDIR+=	acpicpu
258SUBDIR+=	acpidalb
259SUBDIR+=	acpifan
260SUBDIR+=	acpilid
261SUBDIR+=	acpipmtr
262SUBDIR+=	acpitz
263SUBDIR+=	acpivga
264SUBDIR+=	acpiwdrt
265SUBDIR+=	acpiwmi
266SUBDIR+=	aibs
267SUBDIR+=	asus
268SUBDIR+=	fujbp
269SUBDIR+=	fujhk
270SUBDIR+=	hpacel
271SUBDIR+=	hpqlb
272SUBDIR+=	thinkpad
273SUBDIR+=	wmidell
274SUBDIR+=	wmieeepc
275SUBDIR+=	wmihp
276SUBDIR+=	wmimsi
277.endif
278
279.include "${.CURDIR}/../compat/netbsd32/netbsd32.mk"
280.if ${COMPAT_USE_NETBSD32} != "no"
281
282SUBDIR+=	compat_netbsd32
283SUBDIR+=	compat_netbsd32_09	compat_netbsd32_12
284SUBDIR+=	compat_netbsd32_13	compat_netbsd32_16
285SUBDIR+=	compat_netbsd32_20	compat_netbsd32_30
286SUBDIR+=	compat_netbsd32_40	compat_netbsd32_50
287SUBDIR+=	compat_netbsd32_60	compat_netbsd32_80
288SUBDIR+=	compat_netbsd32_43
289SUBDIR+=	compat_netbsd32_mqueue
290SUBDIR+=	compat_netbsd32_nfssrv
291SUBDIR+=	compat_netbsd32_ptrace
292SUBDIR+=	compat_netbsd32_sysvipc
293SUBDIR+=	compat_netbsd32_sysvipc_10
294SUBDIR+=	compat_netbsd32_sysvipc_14
295SUBDIR+=	compat_netbsd32_sysvipc_50
296SUBDIR+=	compat_netbsd32_raid
297
298.if ${MACHINE_ARCH} == "x86_64"
299SUBDIR+=	compat_linux32
300.endif
301
302.endif
303
304.if ${MACHINE_ARCH} == "i386"
305SUBDIR+=	ati_pcigart
306SUBDIR+=	compat_freebsd
307SUBDIR+=	mach64drm
308SUBDIR+=	mgadrm
309SUBDIR+=	nsclpcsio
310SUBDIR+=	padlock
311SUBDIR+=	r128drm
312SUBDIR+=	radeondrm
313SUBDIR+=	savagedrm
314SUBDIR+=	sisdrm
315SUBDIR+=	tdfxdrm
316SUBDIR+=	viac7temp
317SUBDIR+=	viadrmums
318.endif
319
320.if ${MACHINE_ARCH} == "i386" || \
321    ${MACHINE_ARCH} == "x86_64"
322SUBDIR+=	azalia
323SUBDIR+=	compat_linux
324SUBDIR+=	drm
325SUBDIR+=	drmkms
326SUBDIR+=	drmkms_agp
327SUBDIR+=	drmkms_linux
328SUBDIR+=	drmkms_pci
329SUBDIR+=	i915drm
330SUBDIR+=	i915drmkms
331SUBDIR+=	pad
332#
333# ISA modules
334#
335SUBDIR+=	aps
336SUBDIR+=	finsio
337SUBDIR+=	itesio
338SUBDIR+=	lm
339SUBDIR+=	lm_isa
340SUBDIR+=	lm_isa_common
341SUBDIR+=	lm_wbsio
342SUBDIR+=	wbsio
343.endif
344
345.if ${MACHINE_CPU} == "m68k"
346SUBDIR+=	compat_aoutm68k
347#SUBDIR+=	compat_linux
348#SUBDIR+=	compat_sunos
349.endif
350
351.if ${MACHINE_ARCH} == "i386" || \
352    ${MACHINE_ARCH} == "x86_64" || \
353    ${MACHINE_ARCH} == "sparc64"
354SUBDIR+=	pwdog
355.endif
356
357.include <bsd.own.mk>
358
359#
360# NetBSD/usermode support
361#
362.if ${MACHINE_ARCH} == "i386" || \
363    ${MACHINE_ARCH} == "x86_64"
364SUBDIR+=	../arch/usermode/modules/syscallemu
365.endif
366
367# we need our device mapper for LVM
368.if (${MKLVM} != "no")
369SUBDIR+= 	dm
370.endif
371
372.if (${MKDTRACE} != "no")
373SUBDIR+=	cyclic
374SUBDIR+=	dtrace
375.endif
376
377# we need solaris for the dtrace and zfs modules
378.if (${MKDTRACE} != "no" || ${MKZFS} != "no")
379SUBDIR+=        solaris
380.endif
381
382.if (${MKZFS} != "no")
383SUBDIR+=	zfs
384.endif
385
386.if (${MKCOMPATMODULES} != "no")
387SUBDIR+=	arch
388.endif
389
390#
391# DTV modules
392#
393SUBDIR+=	dtv
394SUBDIR+=	dtv_math
395.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
396# tuners/demods
397SUBDIR+=	au8522
398SUBDIR+=	cx24227
399SUBDIR+=	lg3303
400SUBDIR+=	mt2131
401SUBDIR+=	nxt2k
402SUBDIR+=	tvpll
403SUBDIR+=	xc3028
404SUBDIR+=	xc5k
405SUBDIR+=	zl10353
406# hardware drivers
407SUBDIR+=	auvitek
408SUBDIR+=	coram
409SUBDIR+=	cxdtv
410SUBDIR+=	emdtv
411
412# Intel Integrated Memory Controller and associated SMBus
413# (Experimental)
414SUBDIR+=	imc
415SUBDIR+=	imcsmb
416
417.endif
418
419.if (${MKISCSI} != "no")
420SUBDIR+=	iscsi
421.endif
422
423# For now, all of these are disabled, pending resolution of how to deal
424# with attachment-specific modules and bus-specific modules (as opposed
425# to machine- or architecture-specific modules)
426
427.if 0
428SUBDIR+=	aac
429SUBDIR+=	amr
430SUBDIR+=	ataraid
431SUBDIR+=	cac
432SUBDIR+=	cac_eisa
433SUBDIR+=	cac_pci
434SUBDIR+=	if_vioif
435SUBDIR+=	ld
436SUBDIR+=	ld_aac
437SUBDIR+=	ld_amr
438SUBDIR+=	ld_ataraid
439SUBDIR+=	ld_cac
440SUBDIR+=	ld_icp
441SUBDIR+=	ld_mlx
442SUBDIR+=	ld_sdmmc
443SUBDIR+=	ld_twa
444SUBDIR+=	ld_twe
445SUBDIR+=	ld_virtio
446SUBDIR+=	mlx
447SUBDIR+=	mlx_eisa
448SUBDIR+=	mlx_pci
449SUBDIR+=	ld_nvme
450SUBDIR+=	nvme
451SUBDIR+=	twa
452SUBDIR+=	twe
453SUBDIR+=	viomb
454SUBDIR+=	virtio
455SUBDIR+=	virtio_pci
456SUBDIR+=	vioscsi
457.endif
458
459SUBDIR+=	examples	# build these regularly to avoid bit-rot
460
461.include <bsd.subdir.mk>
462