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