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