/* * standalone versions of -lcmd builtins */ :PACKAGE: ast cmd:space LICENSE = since=1992,author=gsf+dgk :ALL: :: cmdlib.h builtin.c CMD_BUILTIN == CMD_DYNAMIC == CMD_STANDALONE == LINKS = cp: ln mv cksum: md5sum sum NOBIN = getconf CAT = $(STDCAT|"cat") CMP = $(STDCMP|"cmp") 2>/dev/null CP = $(STDCP|"cp") LN = $(STDLN|"ln") RM = $(STDRM|"rm") BUILTINS :COMMAND: cmdlist.h $(SED) -e '/^CMDLIST(.*)$/!d' -e 's/CMDLIST(\(.*\))/\1/' $(NOBIN:C,.*,-e '/^&$/d',) $(LINKS:N!=*[:]:C,.*,-e '/^&$/d',) $(*) .INIT : .builtin .builtin : .MAKE .VIRTUAL .FORCE local T I if T = "$(NOBIN:D=$(BINDIR):B:S:T=F)" { $(RM) $(RMFLAGS) $(T) } end :ALL: $(BUILTINS) T = -lcmd if "$(PACKAGE_OPTIONS:N=optimize-space)" && "$(T:T=F)" == "-lcmd" T := $(BUILTINS:O=1) $(T) :: CMD_BUILTIN=1 CMD_DYNAMIC=1 builtin.c -lcmd -ldll for I $(BUILTINS:O>1) $(I) :LINK: $(T) end for I $(LINKS) if I != "*:" $(I) :LINK: $(T) end end else $(BINDIR) :INSTALLDIR: $(BUILTINS) $(BUILTINS) : .COMMAND $(&$("%.c":T=SM%)) CMD_BUILTIN=b_$$(<:B) builtin.c $(*$("%.c":T=SM%)) $(CAT) $(*:N=*builtin.c) > $(<).c $(RM) $(RMFLAGS) $(<) $(@$("%.c":T=SM%):/.*builtin.c$/$(<).c/) $(RM) $(RMFLAGS) $(<).c for I $(LINKS) if I == "*:" T := $(I:/.$//) else $(I) :LINK: $(T) end end end ":BUILTIN:" : .MAKE .OPERATOR local T P for T $(>) if T == "*=*" $(P).o : $(T) elif T == "[-+]l*" $(P) : $(T) else eval $(T) :: CMD_STANDALONE=b_$(T) $(T).c end P := $(T) end end :BUILTIN: dlls LICENSE=since=2002,author=gsf -ldll look mime \ pty LICENSE=since=2001,author=gsf+dgk -lutil \ nl LICENSE=since=2003,author=dgk asa od pr \ strings tr uudecode -luu uuencode -luu what who dontcare -lutil :: PROMO.mm RELEASE :TEST: asa cat chmod chown cksum cmp cp cut date expr fmt head join ln \ look mkdir mkfifo mktemp mv nl od paste rm tail tr uniq uuencode wc