xref: /freebsd/usr.bin/Makefile (revision 9f665e12ce05fddd94d50190fce2f9dadeab0ab0)
1839f16abSGarrett Wollman#	From: @(#)Makefile	8.3 (Berkeley) 1/7/94
2c3aac50fSPeter Wemm# $FreeBSD$
39b50d902SRodney W. Grimes
4c501e7deSBaptiste Daroussin.include <src.opts.mk>
5e1fe3dbaSRuslan Ermilov
60a50d08dSJordan K. Hubbard# XXX MISSING:		deroff diction graph learn plot
7861999b4SBruce Evans#			spell spline struct xsend
8023f0373SGordon Tetlow# XXX Use GNU versions: diff ld patch
973407b34SGarrett Wollman#
10cfad5290SMarcel Moolenaar
11728fb54dSEd MasteSUBDIR=	alias \
125cd19a3cSGarrett Wollman	apply \
13cba9c8bdSTim J. Robbins	asa \
149a1523bcSDavid E. O'Brien	awk \
15cb7f1224SGary Palmer	banner \
16cb7f1224SGary Palmer	basename \
176eea92a4SDavid E. O'Brien	brandelf \
18cdf63a70SMartin Matuska	bsdcat \
19ba10db99SColin Percival	bsdiff \
20d6a9fd06SDavid E. O'Brien	bzip2 \
21bc366011SDavid E. O'Brien	bzip2recover \
22cb7f1224SGary Palmer	cap_mkdb \
23cb7f1224SGary Palmer	chat \
24cb7f1224SGary Palmer	chpass \
25cb7f1224SGary Palmer	cksum \
26cb7f1224SGary Palmer	cmp \
27cb7f1224SGary Palmer	col \
28dee69ea5SBaptiste Daroussin	colldef \
29cb7f1224SGary Palmer	colrm \
30cb7f1224SGary Palmer	column \
31cb7f1224SGary Palmer	comm \
32cb7f1224SGary Palmer	compress \
33bc72ba9cSJeff Roberson	cpuset \
34ea9e961cSTim J. Robbins	csplit \
35130f4520SKenneth D. Merry	ctlstat \
36cb7f1224SGary Palmer	cut \
37a17665bcSBaptiste Daroussin	diff \
38cb7f1224SGary Palmer	dirname \
39cb7f1224SGary Palmer	du \
40cbb66355SDavid E. O'Brien	elf2aout \
418237286eSDavid E. O'Brien	elfdump \
42489c66feSJoerg Wunsch	enigma \
43cb7f1224SGary Palmer	env \
44cb7f1224SGary Palmer	expand \
45cb7f1224SGary Palmer	false \
46cb7f1224SGary Palmer	fetch \
47cb7f1224SGary Palmer	find \
4807ea9a7cSXin LI	fmt \
49cb7f1224SGary Palmer	fold \
5087bc830fSDima Ruban	fstat \
514aeb1c05SPaul Saab	fsync \
52155c182aSPeter Wemm	gcore \
53cb7f1224SGary Palmer	gencat \
54f5b9907cSEric van Gyzen	getaddrinfo \
55298f4dc3SJake Burkholder	getconf \
56c912a3f7SMaxim Konovalov	getent \
57cb7f1224SGary Palmer	getopt \
58a23d1c70SDavid E. O'Brien	grep \
599a9ea25fSXin LI	gzip \
60cb7f1224SGary Palmer	head \
61cb7f1224SGary Palmer	hexdump \
62cb7f1224SGary Palmer	id \
63c048a83fSBaptiste Daroussin	ident \
64cb7f1224SGary Palmer	ipcrm \
65cb7f1224SGary Palmer	ipcs \
66cb7f1224SGary Palmer	join \
67cb7f1224SGary Palmer	jot \
68cb7f1224SGary Palmer	keylogin \
69cb7f1224SGary Palmer	keylogout \
70cb7f1224SGary Palmer	killall \
71cb7f1224SGary Palmer	ktrace \
72ed7a104fSJake Burkholder	ktrdump \
73cb7f1224SGary Palmer	lam \
74cb7f1224SGary Palmer	lastcomm \
75aaa41712SDoug Rabson	ldd \
769106cde5SBruce Evans	leave \
776f7d2d90SPaul Saab	less \
786f7d2d90SPaul Saab	lessecho \
796f7d2d90SPaul Saab	lesskey \
80cb7f1224SGary Palmer	limits \
8193cdc37dSAlexey Zelkin	locale \
82057ca2d4SBaptiste Daroussin	localedef \
83cb7f1224SGary Palmer	lock \
84cb7f1224SGary Palmer	lockf \
85cb7f1224SGary Palmer	logger \
86cb7f1224SGary Palmer	login \
87bd43dc42SDag-Erling Smørgrav	logins \
88cb7f1224SGary Palmer	logname \
89cb7f1224SGary Palmer	look \
90cb7f1224SGary Palmer	lorder \
91cb7f1224SGary Palmer	lsvfs \
9281ad8388SMartin Matuska	lzmainfo \
93cb7f1224SGary Palmer	m4 \
94cc4842a1SUlrich Spörlein	mandoc \
95cb7f1224SGary Palmer	mesg \
969106cde5SBruce Evans	minigzip \
97a2854cdfSRuslan Ermilov	ministat \
98cb7f1224SGary Palmer	mkdep \
99cb7f1224SGary Palmer	mkfifo \
10081a44173SMarcel Moolenaar	mkimg \
101dee69ea5SBaptiste Daroussin	mklocale \
102cb7f1224SGary Palmer	mktemp \
1035cf3bf70SMax Khon	mkuzip \
104e4dc55c3SDoug Rabson	mt \
105cb7f1224SGary Palmer	ncal \
106cb7f1224SGary Palmer	netstat \
107776c387aSTim J. Robbins	newgrp \
108cb7f1224SGary Palmer	nfsstat \
109cb7f1224SGary Palmer	nice \
110f2155981SBrian Somers	nl \
1116520495aSAdrian Chadd	numactl \
112cb7f1224SGary Palmer	nohup \
113cb7f1224SGary Palmer	opieinfo \
114cb7f1224SGary Palmer	opiekey \
115cb7f1224SGary Palmer	opiepasswd \
116cb7f1224SGary Palmer	pagesize \
117cb7f1224SGary Palmer	passwd \
118cb7f1224SGary Palmer	paste \
1192dd076b8SGabor Kovesdan	patch \
120b9f63041STim J. Robbins	pathchk \
1219a3009b8SGeorge V. Neville-Neil	perror \
122cb7f1224SGary Palmer	pr \
123cb7f1224SGary Palmer	printenv \
124cb7f1224SGary Palmer	printf \
1257402f93eSKonstantin Belousov	proccontrol \
126b59f38b5SRobert Watson	procstat \
1279215669cSBaptiste Daroussin	protect \
1286ec54a57SEdward Tomasz Napierala	rctl \
129cb7f1224SGary Palmer	renice \
1303d222369SConrad Meyer	resizewin \
131cb7f1224SGary Palmer	rev \
1327c7cef72SEd Schouten	revoke \
133cb7f1224SGary Palmer	rpcinfo \
134cb7f1224SGary Palmer	rs \
135cb7f1224SGary Palmer	rup \
136cb7f1224SGary Palmer	rusers \
137cb7f1224SGary Palmer	rwall \
138cb7f1224SGary Palmer	script \
13913b5b548SBaptiste Daroussin	sdiff \
140cb7f1224SGary Palmer	sed \
14147200bbdSGavin Atkinson	send-pr \
142208987a5SXin LI	seq \
143cb7f1224SGary Palmer	shar \
144cb7f1224SGary Palmer	showmount \
14528bfda34SDag-Erling Smørgrav	sockstat \
146363da138SBaptiste Daroussin	soelim \
14785d7de10SGabor Kovesdan	sort \
148cb7f1224SGary Palmer	split \
149d4d239aeSDoug Barton	stat \
1506486b015SJeremie Le Hen	stdbuf \
151cb7f1224SGary Palmer	su \
1528df85cf6SDima Ruban	systat \
153743f138eSTim J. Robbins	tabs \
154cb7f1224SGary Palmer	tail \
155e813a37fSTim Kientzle	tar \
156cb7f1224SGary Palmer	tcopy \
157cb7f1224SGary Palmer	tee \
158cb7f1224SGary Palmer	time \
159c501e7deSBaptiste Daroussin	timeout \
160afb5951fSMark Murray	tip \
161cb7f1224SGary Palmer	top \
162cb7f1224SGary Palmer	touch \
163cb7f1224SGary Palmer	tput \
164cb7f1224SGary Palmer	tr \
165cb7f1224SGary Palmer	true \
166edeb84a1SSheldon Hearn	truncate \
167cb7f1224SGary Palmer	tset \
168cb7f1224SGary Palmer	tsort \
169cb7f1224SGary Palmer	tty \
170cb7f1224SGary Palmer	uname \
171cb7f1224SGary Palmer	unexpand \
172cb7f1224SGary Palmer	uniq \
1734c0191c5SRoman Divacky	unzip \
174cb7f1224SGary Palmer	units \
175cb7f1224SGary Palmer	unvis \
176cb7f1224SGary Palmer	uudecode \
177cb7f1224SGary Palmer	uuencode \
178cb7f1224SGary Palmer	vis \
1790600c890SBruce Evans	vmstat \
180cb7f1224SGary Palmer	w \
181cb7f1224SGary Palmer	wall \
182cb7f1224SGary Palmer	wc \
183cb7f1224SGary Palmer	what \
184e9a55423SJohan Karlsson	whereis \
185cb7f1224SGary Palmer	which \
186cb7f1224SGary Palmer	whois \
187cb7f1224SGary Palmer	write \
188cb7f1224SGary Palmer	xargs \
189cb7f1224SGary Palmer	xinstall \
19041019211SMarcel Moolenaar	xo \
19181ad8388SMartin Matuska	xz \
19281ad8388SMartin Matuska	xzdec \
193e2290905SBaptiste Daroussin	yes \
194e2290905SBaptiste Daroussin	zstd
1955c931089SJohn Birrell
196690f477dSSam Leffler# NB: keep these sorted by MK_* knobs
197690f477dSSam Leffler
1983a845236SWarner LoshSUBDIR.${MK_AT}+=	at
1993a845236SWarner LoshSUBDIR.${MK_ATM}+=	atm
2003a845236SWarner LoshSUBDIR.${MK_BLUETOOTH}+=	bluetooth
2013a845236SWarner LoshSUBDIR.${MK_BSD_CPIO}+=	cpio
2023a845236SWarner LoshSUBDIR.${MK_CALENDAR}+=	calendar
2033a845236SWarner LoshSUBDIR.${MK_CLANG}+=	clang
204f987297fSEd MasteSUBDIR.${MK_DIALOG}+=	dpv
2053a845236SWarner LoshSUBDIR.${MK_EE}+=	ee
2063a845236SWarner LoshSUBDIR.${MK_FILE}+=	file
2073a845236SWarner LoshSUBDIR.${MK_FINGER}+=	finger
2083a845236SWarner LoshSUBDIR.${MK_FTP}+=	ftp
2093a845236SWarner LoshSUBDIR.${MK_GAMES}+=	caesar
2103a845236SWarner LoshSUBDIR.${MK_GAMES}+=	factor
2113a845236SWarner LoshSUBDIR.${MK_GAMES}+=	fortune
2123a845236SWarner LoshSUBDIR.${MK_GAMES}+=	grdc
2133a845236SWarner LoshSUBDIR.${MK_GAMES}+=	morse
2143a845236SWarner LoshSUBDIR.${MK_GAMES}+=	number
2153a845236SWarner LoshSUBDIR.${MK_GAMES}+=	pom
2163a845236SWarner LoshSUBDIR.${MK_GAMES}+=	primes
2173a845236SWarner LoshSUBDIR.${MK_GAMES}+=	random
21858144364SBryan Drewery.if ${MK_GPL_DTC} != "yes"
219a0706eb4SDavid Chisnall.if ${COMPILER_FEATURES:Mc++11}
22058144364SBryan DrewerySUBDIR+=	dtc
22158144364SBryan Drewery.endif
222a0706eb4SDavid Chisnall.endif
2233a845236SWarner LoshSUBDIR.${MK_GROFF}+=	vgrind
2243a845236SWarner LoshSUBDIR.${MK_HESIOD}+=	hesinfo
2253a845236SWarner LoshSUBDIR.${MK_ICONV}+=	iconv
2263a845236SWarner LoshSUBDIR.${MK_ICONV}+=	mkcsmapper
2273a845236SWarner LoshSUBDIR.${MK_ICONV}+=	mkesdb
2283a845236SWarner LoshSUBDIR.${MK_ISCSI}+=	iscsictl
2293a845236SWarner LoshSUBDIR.${MK_KDUMP}+=	kdump
2303a845236SWarner LoshSUBDIR.${MK_KDUMP}+=	truss
2313a845236SWarner LoshSUBDIR.${MK_KERBEROS_SUPPORT}+=	compile_et
2323a845236SWarner LoshSUBDIR.${MK_LDNS_UTILS}+=	drill
2333a845236SWarner LoshSUBDIR.${MK_LDNS_UTILS}+=	host
2343a845236SWarner LoshSUBDIR.${MK_LOCATE}+=	locate
235690f477dSSam Leffler# XXX msgs?
2363a845236SWarner LoshSUBDIR.${MK_MAIL}+=	biff
2373a845236SWarner LoshSUBDIR.${MK_MAIL}+=	from
2383a845236SWarner LoshSUBDIR.${MK_MAIL}+=	mail
2393a845236SWarner LoshSUBDIR.${MK_MAIL}+=	msgs
2403a845236SWarner LoshSUBDIR.${MK_MAKE}+=	bmake
2413a845236SWarner LoshSUBDIR.${MK_MAN_UTILS}+=	catman
2423a845236SWarner LoshSUBDIR.${MK_MAN_UTILS}+=	man
2433a845236SWarner LoshSUBDIR.${MK_NETCAT}+=	nc
2443a845236SWarner LoshSUBDIR.${MK_NIS}+=	ypcat
2453a845236SWarner LoshSUBDIR.${MK_NIS}+=	ypmatch
2463a845236SWarner LoshSUBDIR.${MK_NIS}+=	ypwhich
2473a845236SWarner LoshSUBDIR.${MK_OPENSSH}+=	ssh-copy-id
2483a845236SWarner LoshSUBDIR.${MK_OPENSSL}+=	bc
2493a845236SWarner LoshSUBDIR.${MK_OPENSSL}+=	chkey
2503a845236SWarner LoshSUBDIR.${MK_OPENSSL}+=	dc
2513a845236SWarner LoshSUBDIR.${MK_OPENSSL}+=	newkey
2523a845236SWarner LoshSUBDIR.${MK_QUOTAS}+=	quota
2533a845236SWarner LoshSUBDIR.${MK_RCMDS}+=	rlogin
2543a845236SWarner LoshSUBDIR.${MK_RCMDS}+=	rsh
2553a845236SWarner LoshSUBDIR.${MK_RCMDS}+=	ruptime
2563a845236SWarner LoshSUBDIR.${MK_RCMDS}+=	rwho
2573a845236SWarner LoshSUBDIR.${MK_SENDMAIL}+=	vacation
2583a845236SWarner LoshSUBDIR.${MK_TALK}+=	talk
2593a845236SWarner LoshSUBDIR.${MK_TELNET}+=	telnet
2603a845236SWarner LoshSUBDIR.${MK_TESTS}+=	tests
2613a845236SWarner LoshSUBDIR.${MK_TEXTPROC}+=	checknr
2623a845236SWarner LoshSUBDIR.${MK_TEXTPROC}+=	colcrt
2633a845236SWarner LoshSUBDIR.${MK_TEXTPROC}+=	ul
2643a845236SWarner LoshSUBDIR.${MK_TFTP}+=	tftp
2653a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	addr2line
2663a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	ar
2673a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	c89
2683a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	c99
2693a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	ctags
2703a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	cxxfilt
2713a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	elfcopy
2723a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	file2c
273e8ab4348SAndrey A. Chernov# ARM64TODO gprof does not build
274e8ab4348SAndrey A. Chernov# RISCVTODO gprof does not build
275e8ab4348SAndrey A. Chernov.if ${MACHINE_ARCH} != "aarch64" && ${MACHINE_CPUARCH} != "riscv"
2763a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	gprof
277da713b9eSAndrew Turner.endif
2783a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	indent
2793a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	lex
2803a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	mkstr
2813a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	nm
2823a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	readelf
2833a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	rpcgen
2843a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	unifdef
2853a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	size
2863a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	strings
287da713b9eSAndrew Turner.if ${MACHINE_ARCH} != "aarch64" # ARM64TODO xlint does not build
2883a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	xlint
289da713b9eSAndrew Turner.endif
2903a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	xstr
2913a845236SWarner LoshSUBDIR.${MK_TOOLCHAIN}+=	yacc
2923a845236SWarner LoshSUBDIR.${MK_VI}+=	vi
2933a845236SWarner LoshSUBDIR.${MK_VT}+=	vtfontcvt
2943a845236SWarner LoshSUBDIR.${MK_USB}+=	usbhidaction
2953a845236SWarner LoshSUBDIR.${MK_USB}+=	usbhidctl
2963a845236SWarner LoshSUBDIR.${MK_UTMPX}+=	last
297d74808ddSEd Maste.if ${MK_CXX} != "no"
2983a845236SWarner LoshSUBDIR.${MK_UTMPX}+=	users
2991c052a8cSRuslan Bukin.endif
3003a845236SWarner LoshSUBDIR.${MK_UTMPX}+=	who
3013a845236SWarner LoshSUBDIR.${MK_SVN}+=	svn
3023a845236SWarner LoshSUBDIR.${MK_SVNLITE}+=	svn
303937a2000SPeter Wemm
304*9f665e12SBryan Drewery# These are normally only handled for build-tools.
305*9f665e12SBryan Drewery.if make(clean*)
306*9f665e12SBryan DrewerySUBDIR+=	mkcsmapper_static
307*9f665e12SBryan DrewerySUBDIR+=	mkesdb_static
308*9f665e12SBryan Drewery.endif
309*9f665e12SBryan Drewery
3108cfc8258SWarner Losh.include <bsd.arch.inc.mk>
311d10a8d6cSRuslan Ermilov
3123a845236SWarner LoshSUBDIR:=	${SUBDIR:O:u}
31369618fcfSPyun YongHyeon
31454ff5d73SDimitry AndricSUBDIR_PARALLEL=
31554ff5d73SDimitry Andric
3169b50d902SRodney W. Grimes.include <bsd.subdir.mk>
317