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