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