1#	From: @(#)Makefile	8.3 (Berkeley) 1/7/94
2# $FreeBSD: stable/11/usr.bin/Makefile 368285 2020-12-02 21:39:54Z dim $
3
4.include <src.opts.mk>
5
6# XXX MISSING:		deroff diction graph learn plot
7#			spell spline struct xsend
8# XXX Use GNU versions: diff ld patch
9# Moved to secure: bdes
10#
11
12SUBDIR=	alias \
13	apply \
14	asa \
15	awk \
16	banner \
17	basename \
18	brandelf \
19	bsdcat \
20	bsdiff \
21	bzip2 \
22	bzip2recover \
23	cap_mkdb \
24	chat \
25	chpass \
26	cksum \
27	cmp \
28	col \
29	colldef \
30	colrm \
31	column \
32	comm \
33	compress \
34	cpuset \
35	csplit \
36	ctlstat \
37	cut \
38	dirname \
39	du \
40	elf2aout \
41	elfdump \
42	enigma \
43	env \
44	etdump \
45	expand \
46	false \
47	fetch \
48	find \
49	fmt \
50	fold \
51	fstat \
52	fsync \
53	gcore \
54	gencat \
55	getaddrinfo \
56	getconf \
57	getent \
58	getopt \
59	grep \
60	gzip \
61	head \
62	hexdump \
63	id \
64	ident \
65	ipcrm \
66	ipcs \
67	join \
68	jot \
69	keylogin \
70	keylogout \
71	killall \
72	ktrace \
73	ktrdump \
74	lam \
75	lastcomm \
76	ldd \
77	leave \
78	less \
79	lessecho \
80	lesskey \
81	limits \
82	locale \
83	localedef \
84	lock \
85	lockf \
86	logger \
87	login \
88	logins \
89	logname \
90	look \
91	lorder \
92	lsvfs \
93	lzmainfo \
94	m4 \
95	mandoc \
96	mesg \
97	minigzip \
98	ministat \
99	mkdep \
100	mkfifo \
101	mkimg \
102	mklocale \
103	mktemp \
104	mkuzip \
105	mt \
106	ncal \
107	netstat \
108	newgrp \
109	nfsstat \
110	nice \
111	nl \
112	numactl \
113	nohup \
114	opieinfo \
115	opiekey \
116	opiepasswd \
117	pagesize \
118	passwd \
119	paste \
120	patch \
121	pathchk \
122	perror \
123	pr \
124	printenv \
125	printf \
126	proccontrol \
127	procstat \
128	protect \
129	rctl \
130	renice \
131	resizewin \
132	rev \
133	revoke \
134	rpcinfo \
135	rs \
136	rup \
137	ruptime \
138	rusers \
139	rwall \
140	rwho \
141	script \
142	sdiff \
143	sed \
144	send-pr \
145	seq \
146	shar \
147	showmount \
148	sockstat \
149	soelim \
150	sort \
151	split \
152	stat \
153	stdbuf \
154	strings \
155	su \
156	systat \
157	tabs \
158	tail \
159	tar \
160	tcopy \
161	tee \
162	time \
163	timeout \
164	tip \
165	top \
166	touch \
167	tput \
168	tr \
169	true \
170	truncate \
171	tset \
172	tsort \
173	tty \
174	uname \
175	unexpand \
176	uniq \
177	unzip \
178	units \
179	unvis \
180	uudecode \
181	uuencode \
182	vis \
183	vmstat \
184	w \
185	wall \
186	wc \
187	what \
188	whereis \
189	which \
190	whois \
191	write \
192	xargs \
193	xinstall \
194	xo \
195	xz \
196	xzdec \
197	yes
198
199# NB: keep these sorted by MK_* knobs
200
201SUBDIR.${MK_AT}+=	at
202SUBDIR.${MK_ATM}+=	atm
203SUBDIR.${MK_BLUETOOTH}+=	bluetooth
204SUBDIR.${MK_BSD_CPIO}+=	cpio
205SUBDIR.${MK_CALENDAR}+=	calendar
206SUBDIR.${MK_CLANG}+=	clang
207SUBDIR.${MK_DIALOG}+=	dpv
208SUBDIR.${MK_EE}+=	ee
209SUBDIR.${MK_FILE}+=	file
210SUBDIR.${MK_FINGER}+=	finger
211SUBDIR.${MK_FTP}+=	ftp
212SUBDIR.${MK_GAMES}+=	caesar
213SUBDIR.${MK_GAMES}+=	factor
214SUBDIR.${MK_GAMES}+=	fortune
215SUBDIR.${MK_GAMES}+=	grdc
216SUBDIR.${MK_GAMES}+=	morse
217SUBDIR.${MK_GAMES}+=	number
218SUBDIR.${MK_GAMES}+=	pom
219SUBDIR.${MK_GAMES}+=	primes
220SUBDIR.${MK_GAMES}+=	random
221.if ${MK_GNU_DIFF} == "no"
222SUBDIR+=		diff
223.endif
224.if ${MK_GPL_DTC} != "yes"
225.if ${COMPILER_FEATURES:Mc++11}
226SUBDIR+=	dtc
227.endif
228.endif
229SUBDIR.${MK_GROFF}+=	vgrind
230SUBDIR.${MK_HESIOD}+=	hesinfo
231SUBDIR.${MK_ICONV}+=	iconv
232SUBDIR.${MK_ICONV}+=	mkcsmapper
233SUBDIR.${MK_ICONV}+=	mkesdb
234SUBDIR.${MK_ISCSI}+=	iscsictl
235SUBDIR.${MK_KDUMP}+=	kdump
236SUBDIR.${MK_KDUMP}+=	truss
237SUBDIR.${MK_KERBEROS_SUPPORT}+=	compile_et
238SUBDIR.${MK_LDNS_UTILS}+=	drill
239SUBDIR.${MK_LDNS_UTILS}+=	host
240SUBDIR.${MK_LOCATE}+=	locate
241# XXX msgs?
242SUBDIR.${MK_MAIL}+=	biff
243SUBDIR.${MK_MAIL}+=	from
244SUBDIR.${MK_MAIL}+=	mail
245SUBDIR.${MK_MAIL}+=	msgs
246SUBDIR.${MK_MAKE}+=	bmake
247SUBDIR.${MK_MAN_UTILS}+=	catman
248.if ${MK_MANDOCDB} == "no"	# AND
249SUBDIR.${MK_MAN_UTILS}+=	makewhatis
250.endif
251SUBDIR.${MK_MAN_UTILS}+=	man
252SUBDIR.${MK_NETCAT}+=	nc
253SUBDIR.${MK_NIS}+=	ypcat
254SUBDIR.${MK_NIS}+=	ypmatch
255SUBDIR.${MK_NIS}+=	ypwhich
256SUBDIR.${MK_OPENSSH}+=	ssh-copy-id
257SUBDIR.${MK_OPENSSL}+=	bc
258SUBDIR.${MK_OPENSSL}+=	chkey
259SUBDIR.${MK_OPENSSL}+=	dc
260SUBDIR.${MK_OPENSSL}+=	newkey
261SUBDIR.${MK_QUOTAS}+=	quota
262SUBDIR.${MK_RCMDS}+=	rlogin
263SUBDIR.${MK_RCMDS}+=	rsh
264SUBDIR.${MK_SENDMAIL}+=	vacation
265SUBDIR.${MK_TALK}+=	talk
266SUBDIR.${MK_TELNET}+=	telnet
267SUBDIR.${MK_TESTS}+=	tests
268SUBDIR.${MK_TEXTPROC}+=	checknr
269SUBDIR.${MK_TEXTPROC}+=	colcrt
270SUBDIR.${MK_TEXTPROC}+=	ul
271SUBDIR.${MK_TFTP}+=	tftp
272SUBDIR.${MK_TOOLCHAIN}+=	addr2line
273SUBDIR.${MK_TOOLCHAIN}+=	ar
274SUBDIR.${MK_TOOLCHAIN}+=	c89
275SUBDIR.${MK_TOOLCHAIN}+=	c99
276SUBDIR.${MK_TOOLCHAIN}+=	ctags
277.if ${MK_LLVM_CXXFILT} == "no"
278SUBDIR.${MK_TOOLCHAIN}+=	cxxfilt
279.endif
280SUBDIR.${MK_TOOLCHAIN}+=	elfcopy
281SUBDIR.${MK_TOOLCHAIN}+=	file2c
282# ARM64TODO gprof does not build
283# RISCVTODO gprof does not build
284.if ${MACHINE_ARCH} != "aarch64" && ${MACHINE_CPUARCH} != "riscv"
285SUBDIR.${MK_TOOLCHAIN}+=	gprof
286.endif
287SUBDIR.${MK_TOOLCHAIN}+=	indent
288SUBDIR.${MK_TOOLCHAIN}+=	lex
289SUBDIR.${MK_TOOLCHAIN}+=	mkstr
290SUBDIR.${MK_TOOLCHAIN}+=	nm
291SUBDIR.${MK_TOOLCHAIN}+=	readelf
292SUBDIR.${MK_TOOLCHAIN}+=	rpcgen
293SUBDIR.${MK_TOOLCHAIN}+=	unifdef
294SUBDIR.${MK_TOOLCHAIN}+=	size
295.if ${MK_LINT} != "no" && ${MACHINE_ARCH} != "aarch64" # ARM64TODO xlint does not build
296SUBDIR.${MK_TOOLCHAIN}+=	xlint
297.endif
298SUBDIR.${MK_TOOLCHAIN}+=	xstr
299SUBDIR.${MK_TOOLCHAIN}+=	yacc
300SUBDIR.${MK_VI}+=	vi
301SUBDIR.${MK_VT}+=	vtfontcvt
302SUBDIR.${MK_USB}+=	usbhidaction
303SUBDIR.${MK_USB}+=	usbhidctl
304SUBDIR.${MK_UTMPX}+=	last
305.if ${MACHINE_CPUARCH} != "riscv" # RISCVTODO users does not build
306SUBDIR.${MK_UTMPX}+=	users
307.endif
308SUBDIR.${MK_UTMPX}+=	who
309SUBDIR.${MK_SVN}+=	svn
310SUBDIR.${MK_SVNLITE}+=	svn
311SUBDIR.${MK_OFED}+=	ofed
312
313# These are normally only handled for build-tools.
314.if make(clean*)
315SUBDIR+=	mkcsmapper_static
316SUBDIR+=	mkesdb_static
317.endif
318
319.include <bsd.arch.inc.mk>
320
321SUBDIR_PARALLEL=
322
323.include <bsd.subdir.mk>
324