master
config.mk
1VERSION = 2026-06-17T10-19-UTC
2PREFIX = /usr/local
3MANPREFIX = $(PREFIX)/share/man
4
5RANLIB = ranlib
6AR = ar
7ARFLAGS = rc
8
9# build toggles
10BUILD_POSIX = 1
11BUILD_LINUX = 1
12BUILD_NET = 1
13BUILD_XSI = 1
14BUILD_PSEUDO = 1
15BUILD_DEV = 0
16
17# include all sub-targets
18BUILD_POSIX_BASENAME = $(BUILD_POSIX)
19BUILD_POSIX_CAL = $(BUILD_POSIX)
20BUILD_POSIX_CAT = $(BUILD_POSIX)
21BUILD_POSIX_CHGRP = $(BUILD_POSIX)
22BUILD_POSIX_CHMOD = $(BUILD_POSIX)
23BUILD_POSIX_CHOWN = $(BUILD_POSIX)
24BUILD_POSIX_CKSUM = $(BUILD_POSIX)
25BUILD_POSIX_CMP = $(BUILD_POSIX)
26BUILD_POSIX_COMM = $(BUILD_POSIX)
27BUILD_POSIX_CP = $(BUILD_POSIX)
28BUILD_POSIX_CUT = $(BUILD_POSIX)
29BUILD_POSIX_DATE = $(BUILD_POSIX)
30BUILD_POSIX_DD = $(BUILD_POSIX)
31BUILD_POSIX_DF = $(BUILD_POSIX)
32BUILD_POSIX_DIRNAME = $(BUILD_POSIX)
33BUILD_POSIX_DU = $(BUILD_POSIX)
34BUILD_POSIX_ECHO = $(BUILD_POSIX)
35BUILD_POSIX_ED = $(BUILD_POSIX)
36BUILD_POSIX_ENV = $(BUILD_POSIX)
37BUILD_POSIX_EXPAND = $(BUILD_POSIX)
38BUILD_POSIX_EXPR = $(BUILD_POSIX)
39BUILD_POSIX_FALSE = $(BUILD_POSIX)
40BUILD_POSIX_FIND = $(BUILD_POSIX)
41BUILD_POSIX_FOLD = $(BUILD_POSIX)
42BUILD_POSIX_GETCONF = $(BUILD_POSIX)
43BUILD_POSIX_GREP = $(BUILD_POSIX)
44BUILD_POSIX_HEAD = $(BUILD_POSIX)
45BUILD_POSIX_ID = $(BUILD_POSIX)
46BUILD_POSIX_JOIN = $(BUILD_POSIX)
47BUILD_POSIX_KILL = $(BUILD_POSIX)
48BUILD_POSIX_LINK = $(BUILD_POSIX)
49BUILD_POSIX_LN = $(BUILD_POSIX)
50BUILD_POSIX_LOGGER = $(BUILD_POSIX)
51BUILD_POSIX_LOGNAME = $(BUILD_POSIX)
52BUILD_POSIX_LS = $(BUILD_POSIX)
53BUILD_POSIX_MESG = $(BUILD_POSIX)
54BUILD_POSIX_MKDIR = $(BUILD_POSIX)
55BUILD_POSIX_MKFIFO = $(BUILD_POSIX)
56BUILD_POSIX_MV = $(BUILD_POSIX)
57BUILD_POSIX_NICE = $(BUILD_POSIX)
58BUILD_POSIX_NL = $(BUILD_POSIX)
59BUILD_POSIX_NOHUP = $(BUILD_POSIX)
60BUILD_POSIX_OD = $(BUILD_POSIX)
61BUILD_POSIX_PASTE = $(BUILD_POSIX)
62BUILD_POSIX_PATHCHK = $(BUILD_POSIX)
63BUILD_POSIX_PRINTF = $(BUILD_POSIX)
64BUILD_POSIX_PS = $(BUILD_POSIX)
65BUILD_POSIX_PWD = $(BUILD_POSIX)
66BUILD_POSIX_READLINK = $(BUILD_POSIX)
67BUILD_POSIX_RENICE = $(BUILD_POSIX)
68BUILD_POSIX_RM = $(BUILD_POSIX)
69BUILD_POSIX_RMDIR = $(BUILD_POSIX)
70BUILD_POSIX_SED = $(BUILD_POSIX)
71BUILD_POSIX_SLEEP = $(BUILD_POSIX)
72BUILD_POSIX_SORT = $(BUILD_POSIX)
73BUILD_POSIX_SPLIT = $(BUILD_POSIX)
74BUILD_POSIX_TAIL = $(BUILD_POSIX)
75BUILD_POSIX_TEE = $(BUILD_POSIX)
76BUILD_POSIX_TEST = $(BUILD_POSIX)
77BUILD_POSIX_TIME = $(BUILD_POSIX)
78BUILD_POSIX_TOUCH = $(BUILD_POSIX)
79BUILD_POSIX_TR = $(BUILD_POSIX)
80BUILD_POSIX_TRUE = $(BUILD_POSIX)
81BUILD_POSIX_TSORT = $(BUILD_POSIX)
82BUILD_POSIX_TTY = $(BUILD_POSIX)
83BUILD_POSIX_UNAME = $(BUILD_POSIX)
84BUILD_POSIX_UNEXPAND = $(BUILD_POSIX)
85BUILD_POSIX_UNIQ = $(BUILD_POSIX)
86BUILD_POSIX_UNLINK = $(BUILD_POSIX)
87BUILD_POSIX_UUDECODE = $(BUILD_POSIX)
88BUILD_POSIX_UUENCODE = $(BUILD_POSIX)
89BUILD_POSIX_WC = $(BUILD_POSIX)
90BUILD_POSIX_WHO = $(BUILD_POSIX)
91BUILD_POSIX_XARGS = $(BUILD_POSIX)
92BUILD_POSIX_AWK = $(BUILD_POSIX)
93BUILD_POSIX_SH = $(BUILD_POSIX)
94BUILD_POSIX_PAX = $(BUILD_POSIX)
95
96# linux tools
97BUILD_LINUX_BLKDISCARD = $(BUILD_LINUX)
98BUILD_LINUX_CHVT = $(BUILD_LINUX)
99BUILD_LINUX_CTRLALTDEL = $(BUILD_LINUX)
100BUILD_LINUX_EJECT = $(BUILD_LINUX)
101BUILD_LINUX_FREERAMDISK = $(BUILD_LINUX)
102BUILD_LINUX_FSFREEZE = $(BUILD_LINUX)
103BUILD_LINUX_HWCLOCK = $(BUILD_LINUX)
104BUILD_LINUX_INSMOD = $(BUILD_LINUX)
105BUILD_LINUX_LSMOD = $(BUILD_LINUX)
106BUILD_LINUX_MODPROBE = $(BUILD_LINUX)
107BUILD_LINUX_DEPMOD = $(BUILD_LINUX)
108BUILD_LINUX_MKSWAP = $(BUILD_LINUX)
109BUILD_LINUX_MOUNT = $(BUILD_LINUX)
110BUILD_LINUX_MOUNTPOINT = $(BUILD_LINUX)
111BUILD_LINUX_PIVOT_ROOT = $(BUILD_LINUX)
112BUILD_LINUX_READAHEAD = $(BUILD_LINUX)
113BUILD_LINUX_RMMOD = $(BUILD_LINUX)
114BUILD_LINUX_SWAPLABEL = $(BUILD_LINUX)
115BUILD_LINUX_SWAPOFF = $(BUILD_LINUX)
116BUILD_LINUX_SWAPON = $(BUILD_LINUX)
117BUILD_LINUX_SWITCH_ROOT = $(BUILD_LINUX)
118BUILD_LINUX_TUNCTL = $(BUILD_LINUX)
119BUILD_LINUX_UMOUNT = $(BUILD_LINUX)
120BUILD_LINUX_UNSHARE = $(BUILD_LINUX)
121BUILD_LINUX_VTALLOW = $(BUILD_LINUX)
122
123# net tools
124BUILD_NET_NETCAT = $(BUILD_NET)
125BUILD_NET_TFTP = $(BUILD_NET)
126BUILD_NET_WGET = $(BUILD_NET)
127BUILD_NET_PING = $(BUILD_NET)
128BUILD_NET_SDHCP = $(BUILD_NET)
129BUILD_NET_IFCONFIG = $(BUILD_NET)
130BUILD_NET_HOST = $(BUILD_NET)
131BUILD_NET_HTTPD = $(BUILD_NET)
132BUILD_NET_IP = $(BUILD_NET)
133
134# xsi tools
135BUILD_XSI_MKNOD = $(BUILD_XSI)
136BUILD_XSI_PASSWD = $(BUILD_XSI)
137BUILD_XSI_SU = $(BUILD_XSI)
138
139# pseudo tools
140BUILD_PSEUDO_CHROOT = $(BUILD_PSEUDO)
141BUILD_PSEUDO_CLEAR = $(BUILD_PSEUDO)
142BUILD_PSEUDO_COLS = $(BUILD_PSEUDO)
143BUILD_PSEUDO_CRON = $(BUILD_PSEUDO)
144BUILD_PSEUDO_FLOCK = $(BUILD_PSEUDO)
145BUILD_PSEUDO_GETTY = $(BUILD_PSEUDO)
146BUILD_PSEUDO_HALT = $(BUILD_PSEUDO)
147BUILD_PSEUDO_HOSTNAME = $(BUILD_PSEUDO)
148BUILD_PSEUDO_KILLALL5 = $(BUILD_PSEUDO)
149BUILD_PSEUDO_LAST = $(BUILD_PSEUDO)
150BUILD_PSEUDO_LASTLOG = $(BUILD_PSEUDO)
151BUILD_PSEUDO_LOGIN = $(BUILD_PSEUDO)
152BUILD_PSEUDO_MD5SUM = $(BUILD_PSEUDO)
153BUILD_PSEUDO_MKTEMP = $(BUILD_PSEUDO)
154BUILD_PSEUDO_NOLOGIN = $(BUILD_PSEUDO)
155BUILD_PSEUDO_PAGESIZE = $(BUILD_PSEUDO)
156BUILD_PSEUDO_PRINTENV = $(BUILD_PSEUDO)
157BUILD_PSEUDO_RESPAWN = $(BUILD_PSEUDO)
158BUILD_PSEUDO_REV = $(BUILD_PSEUDO)
159BUILD_PSEUDO_SEQ = $(BUILD_PSEUDO)
160BUILD_PSEUDO_SETSID = $(BUILD_PSEUDO)
161BUILD_PSEUDO_SHA1SUM = $(BUILD_PSEUDO)
162BUILD_PSEUDO_SHA224SUM = $(BUILD_PSEUDO)
163BUILD_PSEUDO_SHA256SUM = $(BUILD_PSEUDO)
164BUILD_PSEUDO_SHA384SUM = $(BUILD_PSEUDO)
165BUILD_PSEUDO_SHA512SUM = $(BUILD_PSEUDO)
166BUILD_PSEUDO_SHA512_224SUM = $(BUILD_PSEUDO)
167BUILD_PSEUDO_SHA512_256SUM = $(BUILD_PSEUDO)
168BUILD_PSEUDO_SPONGE = $(BUILD_PSEUDO)
169BUILD_PSEUDO_STAT = $(BUILD_PSEUDO)
170BUILD_PSEUDO_TAR = $(BUILD_PSEUDO)
171BUILD_PSEUDO_TRUNCATE = $(BUILD_PSEUDO)
172BUILD_PSEUDO_WATCH = $(BUILD_PSEUDO)
173BUILD_PSEUDO_WHICH = $(BUILD_PSEUDO)
174BUILD_PSEUDO_WHOAMI = $(BUILD_PSEUDO)
175BUILD_PSEUDO_XINSTALL = $(BUILD_PSEUDO)
176BUILD_PSEUDO_YES = $(BUILD_PSEUDO)
177BUILD_PSEUDO_BASE64 = $(BUILD_PSEUDO)
178BUILD_PSEUDO_B3SUM = $(BUILD_PSEUDO)
179BUILD_PSEUDO_BLKID = $(BUILD_PSEUDO)
180BUILD_PSEUDO_LSBLK = $(BUILD_PSEUDO)
181BUILD_PSEUDO_FDISK = $(BUILD_PSEUDO)
182BUILD_PSEUDO_DMESG = $(BUILD_PSEUDO)
183BUILD_PSEUDO_FALLOCATE = $(BUILD_PSEUDO)
184BUILD_PSEUDO_FREE = $(BUILD_PSEUDO)
185BUILD_PSEUDO_PIDOF = $(BUILD_PSEUDO)
186BUILD_PSEUDO_PWDX = $(BUILD_PSEUDO)
187BUILD_PSEUDO_UPTIME = $(BUILD_PSEUDO)
188
189# dev tools
190BUILD_DEV_AR = $(BUILD_DEV)
191BUILD_DEV_LD = $(BUILD_DEV)
192BUILD_DEV_AS = $(BUILD_DEV)
193BUILD_DEV_CC = $(BUILD_DEV)
194
195# make tool
196BUILD_POSIX_MAKE = $(BUILD_POSIX)
197
198FEATURE_FIND_DELETE = 1
199FEATURE_FIND_QUIT = 1
200FEATURE_FIND_EMPTY = 1
201FEATURE_FIND_INUM = 1
202FEATURE_FIND_SAMEFILE = 1
203FEATURE_FIND_MAXDEPTH = 1
204FEATURE_FIND_MINDEPTH = 1
205FEATURE_FIND_MMIN = 1
206FEATURE_FIND_AMIN = 1
207FEATURE_FIND_CMIN = 1
208FEATURE_FIND_INAME = 1
209FEATURE_FIND_IPATH = 1
210FEATURE_FIND_REGEX = 1
211FEATURE_FIND_PRINT0 = 1
212FEATURE_SED_INPLACE = 1
213FEATURE_GREP_CONTEXT = 1
214FEATURE_GREP_MAX_COUNT = 1
215FEATURE_TAR_CREATE = 1
216FEATURE_TAR_EXCLUDE = 1
217FEATURE_STAT_FILESYSTEM = 1
218FEATURE_STAT_FORMAT = 1
219FEATURE_SORT_BIG = 1
220FEATURE_SORT_STABLE = 1
221FEATURE_OD_ENDIAN = 1
222FEATURE_SH_HISTEDIT = 1
223FEATURE_SH_LOCAL = 1
224FEATURE_SH_LET = 1
225FEATURE_SH_ULIMIT = 1
226FEATURE_SH_SETVAR = 1
227FEATURE_SH_WORDEXP = 1
228FEATURE_CAL_EXT = 1
229FEATURE_SED_PRESERVE_NEWLINE = 1
230FEATURE_LS_COLOR = 1
231FEATURE_MODPROBE_SHOW_DEPENDS = 1
232FEATURE_MODPROBE_BLACKLIST = 1
233FEATURE_MODPROBE_SYSLOG = 1
234FEATURE_MODPROBE_DIR_OVERRIDE = 1
235FEATURE_DEPMOD_ALIAS = 1
236FEATURE_DEPMOD_SYMBOLS = 1
237FEATURE_USE_LIBRESSL = 0
238FEATURE_USE_BEARSSL = 0
239FEATURE_USE_OPENSSL = 0
240FEATURE_TAR_TTY_SAFE = 1
241FEATURE_TAR_NOFOLLOW = 1
242FEATURE_READLINK_REALPATH = 1
243FEATURE_UMOUNT_OPTIONS = 1
244FEATURE_TAR_TO_STDOUT = 1
245FEATURE_TAR_KEEP_OLD = 1
246FEATURE_TAR_STRIP_COMPONENTS = 1
247FEATURE_TAR_FILES_FROM = 1
248FEATURE_TAR_EXCLUDE_FROM = 1
249FEATURE_IP_ROUTE_ADD_DEL = 1
250FEATURE_IP_LINK_SET = 1
251FEATURE_IP_ADDR_FLUSH = 1
252
253CPPFLAGS =\
254 -Ishared\
255 -DPREFIX=\"\$(PREFIX)\"\
256 -D_DEFAULT_SOURCE\
257 -D_GNU_SOURCE\
258 -D_NETBSD_SOURCE\
259 -D_BSD_SOURCE\
260 -D_XOPEN_SOURCE=700\
261 -D_FILE_OFFSET_BITS=64\
262 -DFEATURE_FIND_DELETE=$(FEATURE_FIND_DELETE)\
263 -DFEATURE_FIND_QUIT=$(FEATURE_FIND_QUIT)\
264 -DFEATURE_FIND_EMPTY=$(FEATURE_FIND_EMPTY)\
265 -DFEATURE_FIND_INUM=$(FEATURE_FIND_INUM)\
266 -DFEATURE_FIND_SAMEFILE=$(FEATURE_FIND_SAMEFILE)\
267 -DFEATURE_FIND_MAXDEPTH=$(FEATURE_FIND_MAXDEPTH)\
268 -DFEATURE_FIND_MINDEPTH=$(FEATURE_FIND_MINDEPTH)\
269 -DFEATURE_FIND_MMIN=$(FEATURE_FIND_MMIN)\
270 -DFEATURE_FIND_AMIN=$(FEATURE_FIND_AMIN)\
271 -DFEATURE_FIND_CMIN=$(FEATURE_FIND_CMIN)\
272 -DFEATURE_FIND_INAME=$(FEATURE_FIND_INAME)\
273 -DFEATURE_FIND_IPATH=$(FEATURE_FIND_IPATH)\
274 -DFEATURE_FIND_REGEX=$(FEATURE_FIND_REGEX)\
275 -DFEATURE_FIND_PRINT0=$(FEATURE_FIND_PRINT0)\
276 -DFEATURE_SED_INPLACE=$(FEATURE_SED_INPLACE)\
277 -DFEATURE_GREP_CONTEXT=$(FEATURE_GREP_CONTEXT)\
278 -DFEATURE_GREP_MAX_COUNT=$(FEATURE_GREP_MAX_COUNT)\
279 -DFEATURE_TAR_CREATE=$(FEATURE_TAR_CREATE)\
280 -DFEATURE_TAR_EXCLUDE=$(FEATURE_TAR_EXCLUDE)\
281 -DFEATURE_STAT_FILESYSTEM=$(FEATURE_STAT_FILESYSTEM)\
282 -DFEATURE_STAT_FORMAT=$(FEATURE_STAT_FORMAT)\
283 -DFEATURE_SORT_BIG=$(FEATURE_SORT_BIG)\
284 -DFEATURE_SORT_STABLE=$(FEATURE_SORT_STABLE)\
285 -DFEATURE_OD_ENDIAN=$(FEATURE_OD_ENDIAN)\
286 -DFEATURE_SH_HISTEDIT=$(FEATURE_SH_HISTEDIT)\
287 -DFEATURE_SH_LOCAL=$(FEATURE_SH_LOCAL)\
288 -DFEATURE_SH_LET=$(FEATURE_SH_LET)\
289 -DFEATURE_SH_ULIMIT=$(FEATURE_SH_ULIMIT)\
290 -DFEATURE_SH_SETVAR=$(FEATURE_SH_SETVAR)\
291 -DFEATURE_SH_WORDEXP=$(FEATURE_SH_WORDEXP)\
292 -DFEATURE_CAL_EXT=$(FEATURE_CAL_EXT)\
293 -DFEATURE_SED_PRESERVE_NEWLINE=$(FEATURE_SED_PRESERVE_NEWLINE)\
294 -DFEATURE_LS_COLOR=$(FEATURE_LS_COLOR)\
295 -DFEATURE_MODPROBE_SHOW_DEPENDS=$(FEATURE_MODPROBE_SHOW_DEPENDS)\
296 -DFEATURE_MODPROBE_BLACKLIST=$(FEATURE_MODPROBE_BLACKLIST)\
297 -DFEATURE_MODPROBE_SYSLOG=$(FEATURE_MODPROBE_SYSLOG)\
298 -DFEATURE_MODPROBE_DIR_OVERRIDE=$(FEATURE_MODPROBE_DIR_OVERRIDE)\
299 -DFEATURE_DEPMOD_ALIAS=$(FEATURE_DEPMOD_ALIAS)\
300 -DFEATURE_DEPMOD_SYMBOLS=$(FEATURE_DEPMOD_SYMBOLS)\
301 -DFEATURE_USE_LIBRESSL=$(FEATURE_USE_LIBRESSL)\
302 -DFEATURE_USE_BEARSSL=$(FEATURE_USE_BEARSSL)\
303 -DFEATURE_USE_OPENSSL=$(FEATURE_USE_OPENSSL)\
304 -DFEATURE_TAR_TTY_SAFE=$(FEATURE_TAR_TTY_SAFE)\
305 -DFEATURE_TAR_NOFOLLOW=$(FEATURE_TAR_NOFOLLOW)\
306 -DFEATURE_READLINK_REALPATH=$(FEATURE_READLINK_REALPATH)\
307 -DFEATURE_UMOUNT_OPTIONS=$(FEATURE_UMOUNT_OPTIONS)\
308 -DFEATURE_TAR_TO_STDOUT=$(FEATURE_TAR_TO_STDOUT)\
309 -DFEATURE_TAR_KEEP_OLD=$(FEATURE_TAR_KEEP_OLD)\
310 -DFEATURE_TAR_STRIP_COMPONENTS=$(FEATURE_TAR_STRIP_COMPONENTS)\
311 -DFEATURE_TAR_FILES_FROM=$(FEATURE_TAR_FILES_FROM)\
312 -DFEATURE_TAR_EXCLUDE_FROM=$(FEATURE_TAR_EXCLUDE_FROM)\
313 -DFEATURE_IP_ROUTE_ADD_DEL=$(FEATURE_IP_ROUTE_ADD_DEL)\
314 -DFEATURE_IP_LINK_SET=$(FEATURE_IP_LINK_SET)\
315 -DFEATURE_IP_ADDR_FLUSH=$(FEATURE_IP_ADDR_FLUSH) $(CPPFLAGS_TLS)
316
317CC = cc
318CFLAGS =
319LDFLAGS =
320LDLIBS_HISTEDIT_0 =
321LDLIBS_HISTEDIT_1 =
322LDLIBS_TLS_LIBRESSL_1 = -ltls
323LDLIBS_TLS_BEARSSL_1 = externalRepos/BearSSL/build/libbearssl.a
324LDLIBS_TLS_OPENSSL_1 = -lssl -lcrypto
325LDLIBS_TLS = $(LDLIBS_TLS_LIBRESSL_$(FEATURE_USE_LIBRESSL)) $(LDLIBS_TLS_BEARSSL_$(FEATURE_USE_BEARSSL)) $(LDLIBS_TLS_OPENSSL_$(FEATURE_USE_OPENSSL))
326CPPFLAGS_TLS_BEARSSL_1 = -IexternalRepos/BearSSL/inc
327LDFLAGS_TLS_BEARSSL_1 = -LexternalRepos/BearSSL/build
328CPPFLAGS_TLS = $(CPPFLAGS_TLS_BEARSSL_$(FEATURE_USE_BEARSSL))
329LDFLAGS_TLS = $(LDFLAGS_TLS_BEARSSL_$(FEATURE_USE_BEARSSL))
330LDLIBS = -lcrypt -lresolv $(LDLIBS_HISTEDIT_$(FEATURE_SH_HISTEDIT))