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