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))