Makefile revision 1.216
1#	$NetBSD: Makefile,v 1.216 2019/01/27 02:08:43 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
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.if ${MACHINE_ARCH} == "x86_64" \
276    || ${MACHINE_CPU} == "arm" \
277    || ${MACHINE_ARCH} == "sparc64" \
278    || (!empty(MACHINE_ARCH:Mmips64*) && !defined(BSD_MK_COMPAT_FILE))
279SUBDIR+=	compat_netbsd32
280SUBDIR+=	compat_netbsd32_09	compat_netbsd32_12
281SUBDIR+=	compat_netbsd32_13	compat_netbsd32_16
282SUBDIR+=	compat_netbsd32_20	compat_netbsd32_30
283SUBDIR+=	compat_netbsd32_40	compat_netbsd32_50
284SUBDIR+=	compat_netbsd32_60	compat_netbsd32_80
285SUBDIR+=	compat_netbsd32_43
286SUBDIR+=	compat_netbsd32_mqueue
287SUBDIR+=	compat_netbsd32_nfssrv
288SUBDIR+=	compat_netbsd32_ptrace
289SUBDIR+=	compat_netbsd32_sysvipc
290SUBDIR+=	compat_netbsd32_sysvipc_10
291SUBDIR+=	compat_netbsd32_sysvipc_14
292SUBDIR+=	compat_netbsd32_sysvipc_50
293.endif
294
295.if ${MACHINE_ARCH} == "x86_64"
296SUBDIR+=	compat_linux32
297.endif
298
299.if ${MACHINE_ARCH} == "i386"
300SUBDIR+=	ati_pcigart
301SUBDIR+=	compat_freebsd
302SUBDIR+=	mach64drm
303SUBDIR+=	mgadrm
304SUBDIR+=	nsclpcsio
305SUBDIR+=	padlock
306SUBDIR+=	r128drm
307SUBDIR+=	radeondrm
308SUBDIR+=	savagedrm
309SUBDIR+=	sisdrm
310SUBDIR+=	tdfxdrm
311SUBDIR+=	viac7temp
312SUBDIR+=	viadrmums
313.endif
314
315.if ${MACHINE_ARCH} == "i386" || \
316    ${MACHINE_ARCH} == "x86_64"
317SUBDIR+=	azalia
318SUBDIR+=	compat_linux
319SUBDIR+=	drm
320SUBDIR+=	drmkms
321SUBDIR+=	drmkms_agp
322SUBDIR+=	drmkms_linux
323SUBDIR+=	drmkms_pci
324SUBDIR+=	i915drm
325SUBDIR+=	i915drmkms
326SUBDIR+=	pad
327#
328# ISA modules
329#
330SUBDIR+=	aps
331SUBDIR+=	finsio
332SUBDIR+=	itesio
333SUBDIR+=	lm
334SUBDIR+=	lm_isa
335SUBDIR+=	lm_isa_common
336SUBDIR+=	lm_wbsio
337SUBDIR+=	wbsio
338.endif
339
340.if ${MACHINE_CPU} == "m68k"
341SUBDIR+=	compat_aoutm68k
342#SUBDIR+=	compat_linux
343#SUBDIR+=	compat_sunos
344.endif
345
346.if ${MACHINE_ARCH} == "i386" || \
347    ${MACHINE_ARCH} == "x86_64" || \
348    ${MACHINE_ARCH} == "sparc64"
349SUBDIR+=	pwdog
350.endif
351
352.include <bsd.own.mk>
353
354#
355# NetBSD/usermode support
356#
357.if ${MACHINE_ARCH} == "i386" || \
358    ${MACHINE_ARCH} == "x86_64"
359SUBDIR+=	../arch/usermode/modules/syscallemu
360.endif
361
362# we need our device mapper for LVM
363.if (${MKLVM} != "no")
364SUBDIR+= 	dm
365.endif
366
367.if (${MKDTRACE} != "no")
368SUBDIR+=	cyclic
369SUBDIR+=	dtrace
370.endif
371
372# we need solaris for the dtrace and zfs modules
373.if (${MKDTRACE} != "no" || ${MKZFS} != "no")
374SUBDIR+=        solaris
375.endif
376
377.if (${MKZFS} != "no")
378SUBDIR+=	zfs
379.endif
380
381.if (${MKCOMPATMODULES} != "no")
382SUBDIR+=	arch
383.endif
384
385#
386# DTV modules
387#
388SUBDIR+=	dtv
389SUBDIR+=	dtv_math
390.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
391# tuners/demods
392SUBDIR+=	au8522
393SUBDIR+=	cx24227
394SUBDIR+=	lg3303
395SUBDIR+=	mt2131
396SUBDIR+=	nxt2k
397SUBDIR+=	tvpll
398SUBDIR+=	xc3028
399SUBDIR+=	xc5k
400SUBDIR+=	zl10353
401# hardware drivers
402SUBDIR+=	auvitek
403SUBDIR+=	coram
404SUBDIR+=	cxdtv
405SUBDIR+=	emdtv
406
407# Intel Integrated Memory Controller and associated SMBus
408# (Experimental)
409SUBDIR+=	imc
410SUBDIR+=	imcsmb
411
412.endif
413
414.if (${MKISCSI} != "no")
415SUBDIR+=	iscsi
416.endif
417
418# For now, all of these are disabled, pending resolution of how to deal
419# with attachment-specific modules and bus-specific modules (as opposed
420# to machine- or architecture-specific modules)
421
422.if 0
423SUBDIR+=	aac
424SUBDIR+=	amr
425SUBDIR+=	ataraid
426SUBDIR+=	cac
427SUBDIR+=	cac_eisa
428SUBDIR+=	cac_pci
429SUBDIR+=	if_vioif
430SUBDIR+=	ld
431SUBDIR+=	ld_aac
432SUBDIR+=	ld_amr
433SUBDIR+=	ld_ataraid
434SUBDIR+=	ld_cac
435SUBDIR+=	ld_icp
436SUBDIR+=	ld_mlx
437SUBDIR+=	ld_sdmmc
438SUBDIR+=	ld_twa
439SUBDIR+=	ld_twe
440SUBDIR+=	ld_virtio
441SUBDIR+=	mlx
442SUBDIR+=	mlx_eisa
443SUBDIR+=	mlx_pci
444SUBDIR+=	ld_nvme
445SUBDIR+=	nvme
446SUBDIR+=	twa
447SUBDIR+=	twe
448SUBDIR+=	viomb
449SUBDIR+=	virtio
450SUBDIR+=	virtio_pci
451SUBDIR+=	vioscsi
452.endif
453
454SUBDIR+=	examples	# build these regularly to avoid bit-rot
455
456.include <bsd.subdir.mk>
457