Makefile revision 1.224
1#	$NetBSD: Makefile,v 1.224 2019/08/08 16:06:14 skrll 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_CPU} != "aarch64" && \
192    ${MACHINE_ARCH} != "ia64"
193SUBDIR+=	exec_elf32
194.endif
195
196.if ${MACHINE_CPU} == "aarch64" || \
197    ${MACHINE_ARCH} == "alpha" || \
198    ${MACHINE_ARCH} == "ia64" || \
199    ${MACHINE_ARCH} == "sparc64" || \
200    ${MACHINE_ARCH} == "x86_64"
201SUBDIR+=	exec_elf64
202.endif
203
204.if ${MACHINE_ARCH} == "i386" || \
205    ${MACHINE_ARCH} == "x86_64"
206SUBDIR+=	amdsmn
207SUBDIR+=	amdtemp
208SUBDIR+=	amdzentemp
209SUBDIR+=	coretemp
210SUBDIR+=	est
211SUBDIR+=	hdafg
212SUBDIR+=	hdaudio
213SUBDIR+=	hdaudio_pci
214SUBDIR+=	hdaudioverbose
215SUBDIR+=	hpet
216SUBDIR+=	ichsmb
217SUBDIR+=	odcm
218SUBDIR+=	powernow
219SUBDIR+=	tco
220SUBDIR+=	tprof_x86
221SUBDIR+=	vmt
222.endif
223
224.if ${MACHINE_ARCH} == "x86_64"
225SUBDIR+=	nvmm
226.endif
227
228.if ${MACHINE_ARCH} == "i386" || \
229    ${MACHINE_ARCH} == "x86_64"
230SUBDIR+=	ubsec		# Builds on architectures with PCI bus
231.endif
232
233.if ${MKSLJIT} != "no"
234# No modules for 32-bit arm, mips and powerpc yet.
235.if ${MACHINE_ARCH} == "aarch64" || \
236    ${MACHINE_ARCH} == "i386"    || \
237    ${MACHINE_ARCH} == "sparc"   || \
238    ${MACHINE_ARCH} == "x86_64"
239SUBDIR+=	bpfjit
240SUBDIR+=	sljit
241.endif
242.endif
243
244#
245# ACPI modules
246#
247.if ${MACHINE_ARCH} == "i386" || \
248    ${MACHINE_ARCH} == "ia64" || \
249    ${MACHINE_ARCH} == "x86_64"
250SUBDIR+=	acpiverbose
251.endif
252
253.if ${MACHINE_ARCH} == "i386" || \
254    ${MACHINE_ARCH} == "x86_64"
255SUBDIR+=	acpiacad
256SUBDIR+=	acpibat
257SUBDIR+=	acpibut
258SUBDIR+=	acpicpu
259SUBDIR+=	acpidalb
260SUBDIR+=	acpifan
261SUBDIR+=	acpilid
262SUBDIR+=	acpipmtr
263SUBDIR+=	acpitz
264SUBDIR+=	acpivga
265SUBDIR+=	acpiwdrt
266SUBDIR+=	acpiwmi
267SUBDIR+=	aibs
268SUBDIR+=	asus
269SUBDIR+=	fujbp
270SUBDIR+=	fujhk
271SUBDIR+=	hpacel
272SUBDIR+=	hpqlb
273SUBDIR+=	thinkpad
274SUBDIR+=	wmidell
275SUBDIR+=	wmieeepc
276SUBDIR+=	wmihp
277SUBDIR+=	wmimsi
278.endif
279
280.include "${.CURDIR}/../compat/netbsd32/netbsd32.mk"
281.if ${COMPAT_USE_NETBSD32} != "no"
282
283SUBDIR+=	compat_netbsd32
284SUBDIR+=	compat_netbsd32_09	compat_netbsd32_12
285SUBDIR+=	compat_netbsd32_13	compat_netbsd32_16
286SUBDIR+=	compat_netbsd32_20	compat_netbsd32_30
287SUBDIR+=	compat_netbsd32_40	compat_netbsd32_50
288SUBDIR+=	compat_netbsd32_60	compat_netbsd32_80
289SUBDIR+=	compat_netbsd32_43
290SUBDIR+=	compat_netbsd32_mqueue
291SUBDIR+=	compat_netbsd32_nfssrv
292SUBDIR+=	compat_netbsd32_ptrace
293SUBDIR+=	compat_netbsd32_sysvipc
294SUBDIR+=	compat_netbsd32_sysvipc_10
295SUBDIR+=	compat_netbsd32_sysvipc_14
296SUBDIR+=	compat_netbsd32_sysvipc_50
297SUBDIR+=	compat_netbsd32_raid
298
299.if ${MACHINE_ARCH} == "x86_64"
300SUBDIR+=	compat_linux32
301.endif
302
303.endif
304
305.if ${MACHINE_ARCH} == "i386"
306SUBDIR+=	ati_pcigart
307SUBDIR+=	compat_freebsd
308SUBDIR+=	mach64drm
309SUBDIR+=	mgadrm
310SUBDIR+=	nsclpcsio
311SUBDIR+=	padlock
312SUBDIR+=	r128drm
313SUBDIR+=	radeondrm
314SUBDIR+=	savagedrm
315SUBDIR+=	sisdrm
316SUBDIR+=	tdfxdrm
317SUBDIR+=	viac7temp
318SUBDIR+=	viadrmums
319.endif
320
321.if ${MACHINE_ARCH} == "i386" || \
322    ${MACHINE_ARCH} == "x86_64"
323SUBDIR+=	azalia
324SUBDIR+=	compat_linux
325SUBDIR+=	drm
326SUBDIR+=	drmkms
327SUBDIR+=	drmkms_agp
328SUBDIR+=	drmkms_linux
329SUBDIR+=	drmkms_pci
330SUBDIR+=	i915drm
331SUBDIR+=	i915drmkms
332SUBDIR+=	pad
333#
334# ISA modules
335#
336SUBDIR+=	aps
337SUBDIR+=	finsio
338SUBDIR+=	itesio
339SUBDIR+=	lm
340SUBDIR+=	lm_isa
341SUBDIR+=	lm_isa_common
342SUBDIR+=	lm_wbsio
343SUBDIR+=	wbsio
344.endif
345
346.if ${MACHINE_CPU} == "m68k"
347SUBDIR+=	compat_aoutm68k
348#SUBDIR+=	compat_linux
349#SUBDIR+=	compat_sunos
350.endif
351
352.if ${MACHINE_ARCH} == "i386" || \
353    ${MACHINE_ARCH} == "x86_64" || \
354    ${MACHINE_ARCH} == "sparc64"
355SUBDIR+=	pwdog
356.endif
357
358.include <bsd.own.mk>
359
360#
361# NetBSD/usermode support
362#
363.if ${MACHINE_ARCH} == "i386" || \
364    ${MACHINE_ARCH} == "x86_64"
365SUBDIR+=	../arch/usermode/modules/syscallemu
366.endif
367
368# we need our device mapper for LVM
369.if (${MKLVM} != "no")
370SUBDIR+= 	dm
371.endif
372
373.if (${MKDTRACE} != "no")
374SUBDIR+=	cyclic
375SUBDIR+=	dtrace
376.endif
377
378# we need solaris for the dtrace and zfs modules
379.if (${MKDTRACE} != "no" || ${MKZFS} != "no")
380SUBDIR+=        solaris
381.endif
382
383.if (${MKZFS} != "no")
384SUBDIR+=	zfs
385.endif
386
387.if (${MKCOMPATMODULES} != "no")
388SUBDIR+=	arch
389.endif
390
391#
392# DTV modules
393#
394SUBDIR+=	dtv
395SUBDIR+=	dtv_math
396.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
397# tuners/demods
398SUBDIR+=	au8522
399SUBDIR+=	cx24227
400SUBDIR+=	lg3303
401SUBDIR+=	mt2131
402SUBDIR+=	nxt2k
403SUBDIR+=	tvpll
404SUBDIR+=	xc3028
405SUBDIR+=	xc5k
406SUBDIR+=	zl10353
407# hardware drivers
408SUBDIR+=	auvitek
409SUBDIR+=	coram
410SUBDIR+=	cxdtv
411SUBDIR+=	emdtv
412
413# Intel Integrated Memory Controller and associated SMBus
414# (Experimental)
415SUBDIR+=	imc
416SUBDIR+=	imcsmb
417
418.endif
419
420.if (${MKISCSI} != "no")
421SUBDIR+=	iscsi
422.endif
423
424# For now, all of these are disabled, pending resolution of how to deal
425# with attachment-specific modules and bus-specific modules (as opposed
426# to machine- or architecture-specific modules)
427
428.if 0
429SUBDIR+=	aac
430SUBDIR+=	amr
431SUBDIR+=	ataraid
432SUBDIR+=	cac
433SUBDIR+=	cac_eisa
434SUBDIR+=	cac_pci
435SUBDIR+=	if_vioif
436SUBDIR+=	ld
437SUBDIR+=	ld_aac
438SUBDIR+=	ld_amr
439SUBDIR+=	ld_ataraid
440SUBDIR+=	ld_cac
441SUBDIR+=	ld_icp
442SUBDIR+=	ld_mlx
443SUBDIR+=	ld_sdmmc
444SUBDIR+=	ld_twa
445SUBDIR+=	ld_twe
446SUBDIR+=	ld_virtio
447SUBDIR+=	mlx
448SUBDIR+=	mlx_eisa
449SUBDIR+=	mlx_pci
450SUBDIR+=	ld_nvme
451SUBDIR+=	nvme
452SUBDIR+=	twa
453SUBDIR+=	twe
454SUBDIR+=	viomb
455SUBDIR+=	virtio
456SUBDIR+=	virtio_pci
457SUBDIR+=	vioscsi
458.endif
459
460SUBDIR+=	examples	# build these regularly to avoid bit-rot
461
462.include <bsd.subdir.mk>
463