summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitmodules189
m---------ar0
m---------asa0
m---------basename0
m---------bc0
m---------cal0
m---------cat0
m---------chgrp0
m---------chmod0
m---------chown0
m---------cksum0
m---------cmp0
m---------cp0
m---------crontab0
m---------ctags0
m---------date0
m---------dd0
m---------dirname0
m---------du0
m---------ed0
m---------env0
m---------ex0
m---------expand0
m---------file0
m---------getconf0
m---------grep0
m---------head0
m---------iconv0
m---------id0
m---------link0
m---------ln0
m---------locale0
m---------logger0
m---------logname0
m---------ls0
m---------mkdir0
m---------mkfifo0
m---------more0
m---------nice0
m---------nohup0
m---------od0
m---------paste0
m---------pathchk0
m---------printf0
m---------renice0
m---------rm0
m---------rmdir0
m---------sh0
m---------sleep0
m---------split0
-rw-r--r--src/Makefile29
-rw-r--r--src/ar.c2
-rw-r--r--src/asa.c2
-rw-r--r--src/basename.c2
-rw-r--r--src/bc.c2
-rw-r--r--src/cal.c2
-rw-r--r--src/cat.c2
-rw-r--r--src/chgrp.c2
-rw-r--r--src/chmod.c2
-rw-r--r--src/chown.c2
-rw-r--r--src/cksum.c2
-rw-r--r--src/cmp.c2
-rw-r--r--src/cp.c2
-rw-r--r--src/crontab.c2
-rw-r--r--src/ctags.c2
-rw-r--r--src/date.c2
-rw-r--r--src/dd.c2
-rw-r--r--src/dirname.c2
-rw-r--r--src/du.c2
-rw-r--r--src/ed.c9
-rw-r--r--src/env.c2
-rw-r--r--src/ex.c2
-rw-r--r--src/expand.c2
-rw-r--r--src/file.c3
-rw-r--r--src/getconf.c2
-rw-r--r--src/grep.c2
-rw-r--r--src/head.c2
-rw-r--r--src/iconv.c2
-rw-r--r--src/id.c2
-rw-r--r--src/link.c2
-rw-r--r--src/ln.c2
-rw-r--r--src/locale.c2
-rw-r--r--src/logger.c2
-rw-r--r--src/logname.c2
-rw-r--r--src/ls.c2
-rw-r--r--src/mkdir.c2
-rw-r--r--src/mkfifo.c2
-rw-r--r--src/more.c2
-rw-r--r--src/nice.c2
-rw-r--r--src/nohup.c2
-rw-r--r--src/od.c2
-rw-r--r--src/paste.c2
-rw-r--r--src/pathchk.c2
-rw-r--r--src/printf.c2
-rw-r--r--src/renice.c2
-rw-r--r--src/rm.c2
-rw-r--r--src/rmdir.c2
-rw-r--r--src/sh.c37
-rw-r--r--src/sleep.c2
-rw-r--r--src/split.c2
-rw-r--r--src/strings.c2
-rw-r--r--src/stty.c2
-rw-r--r--src/sum.c2
-rw-r--r--src/tail.c2
-rw-r--r--src/tee.c2
-rw-r--r--src/tput.c2
-rw-r--r--src/tr.c2
-rw-r--r--src/uname.c2
-rw-r--r--src/unlink.c2
-rw-r--r--src/uudecode.c2
-rw-r--r--src/uuencode.c2
-rw-r--r--src/wc.c2
-rw-r--r--src/who.c2
-rw-r--r--src/write.c2
m---------strings0
m---------stty0
m---------sum0
m---------tail0
m---------tee0
m---------tput0
m---------tr0
m---------uname0
m---------unlink0
m---------uudecode0
m---------uuencode0
m---------wc0
m---------who0
m---------write0
128 files changed, 387 insertions, 0 deletions
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..7744368
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,189 @@
+[submodule "tr"]
+ path = tr
+ url = git@gitlab.com:ung.org/bin/tr.git
+[submodule "tee"]
+ path = tee
+ url = git@gitlab.com:ung.org/bin/tee.git
+[submodule "tail"]
+ path = tail
+ url = git@gitlab.com:ung.org/bin/tail.git
+[submodule "renice"]
+ path = renice
+ url = git@gitlab.com:ung.org/bin/renice.git
+[submodule "mkfifo"]
+ path = mkfifo
+ url = git@gitlab.com:ung.org/bin/mkfifo.git
+[submodule "ln"]
+ path = ln
+ url = git@gitlab.com:ung.org/bin/ln.git
+[submodule "sum"]
+ path = sum
+ url = git@gitlab.com:ung.org/bin/sum.git
+[submodule "mkdir"]
+ path = mkdir
+ url = git@gitlab.com:ung.org/bin/mkdir.git
+[submodule "paste"]
+ path = paste
+ url = git@gitlab.com:ung.org/bin/paste.git
+[submodule "ex"]
+ path = ex
+ url = git@gitlab.com:ung.org/bin/ex.git
+[submodule "printf"]
+ path = printf
+ url = git@gitlab.com:ung.org/bin/printf.git
+[submodule "who"]
+ path = who
+ url = git@gitlab.com:ung.org/bin/who.git
+[submodule "pathchk"]
+ path = pathchk
+ url = git@gitlab.com:ung.org/bin/pathchk.git
+[submodule "od"]
+ path = od
+ url = git@gitlab.com:ung.org/bin/od.git
+[submodule "nohup"]
+ path = nohup
+ url = git@gitlab.com:ung.org/bin/nohup.git
+[submodule "nice"]
+ path = nice
+ url = git@gitlab.com:ung.org/bin/nice.git
+[submodule "ar"]
+ path = ar
+ url = git@gitlab.com:ung.org/bin/ar.git
+[submodule "write"]
+ path = write
+ url = git@gitlab.com:ung.org/bin/write.git
+[submodule "wc"]
+ path = wc
+ url = git@gitlab.com:ung.org/bin/wc.git
+[submodule "uuencode"]
+ path = uuencode
+ url = git@gitlab.com:ung.org/bin/uuencode.git
+[submodule "uudecode"]
+ path = uudecode
+ url = git@gitlab.com:ung.org/bin/uudecode.git
+[submodule "unlink"]
+ path = unlink
+ url = git@gitlab.com:ung.org/bin/unlink.git
+[submodule "uname"]
+ path = uname
+ url = git@gitlab.com:ung.org/bin/uname.git
+[submodule "tput"]
+ path = tput
+ url = git@gitlab.com:ung.org/bin/tput.git
+[submodule "stty"]
+ path = stty
+ url = git@gitlab.com:ung.org/bin/stty.git
+[submodule "strings"]
+ path = strings
+ url = git@gitlab.com:ung.org/bin/strings.git
+[submodule "split"]
+ path = split
+ url = git@gitlab.com:ung.org/bin/split.git
+[submodule "sleep"]
+ path = sleep
+ url = git@gitlab.com:ung.org/bin/sleep.git
+[submodule "sh"]
+ path = sh
+ url = git@gitlab.com:ung.org/bin/sh.git
+[submodule "rmdir"]
+ path = rmdir
+ url = git@gitlab.com:ung.org/bin/rmdir.git
+[submodule "rm"]
+ path = rm
+ url = git@gitlab.com:ung.org/bin/rm.git
+[submodule "more"]
+ path = more
+ url = git@gitlab.com:ung.org/bin/more.git
+[submodule "ls"]
+ path = ls
+ url = git@gitlab.com:ung.org/bin/ls.git
+[submodule "logname"]
+ path = logname
+ url = git@gitlab.com:ung.org/bin/logname.git
+[submodule "logger"]
+ path = logger
+ url = git@gitlab.com:ung.org/bin/logger.git
+[submodule "locale"]
+ path = locale
+ url = git@gitlab.com:ung.org/bin/locale.git
+[submodule "link"]
+ path = link
+ url = git@gitlab.com:ung.org/bin/link.git
+[submodule "id"]
+ path = id
+ url = git@gitlab.com:ung.org/bin/id.git
+[submodule "iconv"]
+ path = iconv
+ url = git@gitlab.com:ung.org/bin/iconv.git
+[submodule "head"]
+ path = head
+ url = git@gitlab.com:ung.org/bin/head.git
+[submodule "grep"]
+ path = grep
+ url = git@gitlab.com:ung.org/bin/grep.git
+[submodule "getconf"]
+ path = getconf
+ url = git@gitlab.com:ung.org/bin/getconf.git
+[submodule "file"]
+ path = file
+ url = git@gitlab.com:ung.org/bin/file.git
+[submodule "expand"]
+ path = expand
+ url = git@gitlab.com:ung.org/bin/expand.git
+[submodule "env"]
+ path = env
+ url = git@gitlab.com:ung.org/bin/env.git
+[submodule "ed"]
+ path = ed
+ url = git@gitlab.com:ung.org/bin/ed.git
+[submodule "du"]
+ path = du
+ url = git@gitlab.com:ung.org/bin/du.git
+[submodule "dirname"]
+ path = dirname
+ url = git@gitlab.com:ung.org/bin/dirname.git
+[submodule "dd"]
+ path = dd
+ url = git@gitlab.com:ung.org/bin/dd.git
+[submodule "date"]
+ path = date
+ url = git@gitlab.com:ung.org/bin/date.git
+[submodule "ctags"]
+ path = ctags
+ url = git@gitlab.com:ung.org/bin/ctags.git
+[submodule "crontab"]
+ path = crontab
+ url = git@gitlab.com:ung.org/bin/crontab.git
+[submodule "cp"]
+ path = cp
+ url = git@gitlab.com:ung.org/bin/cp.git
+[submodule "cmp"]
+ path = cmp
+ url = git@gitlab.com:ung.org/bin/cmp.git
+[submodule "cksum"]
+ path = cksum
+ url = git@gitlab.com:ung.org/bin/cksum.git
+[submodule "chown"]
+ path = chown
+ url = git@gitlab.com:ung.org/bin/chown.git
+[submodule "chmod"]
+ path = chmod
+ url = git@gitlab.com:ung.org/bin/chmod.git
+[submodule "chgrp"]
+ path = chgrp
+ url = git@gitlab.com:ung.org/bin/chgrp.git
+[submodule "cat"]
+ path = cat
+ url = git@gitlab.com:ung.org/bin/cat.git
+[submodule "cal"]
+ path = cal
+ url = git@gitlab.com:ung.org/bin/cal.git
+[submodule "bc"]
+ path = bc
+ url = git@gitlab.com:ung.org/bin/bc.git
+[submodule "basename"]
+ path = basename
+ url = git@gitlab.com:ung.org/bin/basename.git
+[submodule "asa"]
+ path = asa
+ url = git@gitlab.com:ung.org/bin/asa.git
diff --git a/ar b/ar
new file mode 160000
+Subproject 98d81f59877d9cc9c8f43082a88a7ea3356cf38
diff --git a/asa b/asa
new file mode 160000
+Subproject 540b9929adbd816c8134e622e74cc57e478a0f9
diff --git a/basename b/basename
new file mode 160000
+Subproject bfd22b3a54a68d147a2dfc717c8c37a303b529f
diff --git a/bc b/bc
new file mode 160000
+Subproject 5794d1391b221444c6e0ca956f573574a1c92c0
diff --git a/cal b/cal
new file mode 160000
+Subproject 979d802b6f36c5cf73eb2be41105870e2978349
diff --git a/cat b/cat
new file mode 160000
+Subproject fdbcccc467f39bc281c30fcc1e679afa0fe2dfa
diff --git a/chgrp b/chgrp
new file mode 160000
+Subproject 6ff4ec00482f299735276268853ff75311f7509
diff --git a/chmod b/chmod
new file mode 160000
+Subproject 0d948721acd30000b621a4246417f7d3c930490
diff --git a/chown b/chown
new file mode 160000
+Subproject df23ba33bd4d1af0a17f607dedd262bfabf3a13
diff --git a/cksum b/cksum
new file mode 160000
+Subproject 260e33f13acbdd2bbedf97a2c5e567bdc099d6d
diff --git a/cmp b/cmp
new file mode 160000
+Subproject 0defa702d64b5454456fb450bfed291c1057e30
diff --git a/cp b/cp
new file mode 160000
+Subproject 2dc7b09f9837f88d74e826288ac225dd0a1cca0
diff --git a/crontab b/crontab
new file mode 160000
+Subproject 3a97584dc3972fc862fc6c53752fc0341960645
diff --git a/ctags b/ctags
new file mode 160000
+Subproject c15422a3c8f5134e216ff23ee7b5841c3bb738d
diff --git a/date b/date
new file mode 160000
+Subproject 5d1afbf0b40e50a3c1dee8f9eca88cc56f64300
diff --git a/dd b/dd
new file mode 160000
+Subproject 56367b8a61ba71c3d86bc4e5ff2cd0e688d59d8
diff --git a/dirname b/dirname
new file mode 160000
+Subproject ef19c7338171c93cb13d08bf3860ee41ae826a9
diff --git a/du b/du
new file mode 160000
+Subproject dac9c416515dfde8d00eab4a0ad63b7752e0e85
diff --git a/ed b/ed
new file mode 160000
+Subproject 94375bb322851a501f96814140916158120997d
diff --git a/env b/env
new file mode 160000
+Subproject f4797b8b4549cd91b6c6b7d76b5e21aabbfc409
diff --git a/ex b/ex
new file mode 160000
+Subproject 034f6e0b13669923237a4478c4c33c1f8aedc7e
diff --git a/expand b/expand
new file mode 160000
+Subproject fbee7ba345536feaf637af8aaa90a347c1f4eed
diff --git a/file b/file
new file mode 160000
+Subproject 0c77d8d0e691c446a6bdcb9fa3dcfe4736587fa
diff --git a/getconf b/getconf
new file mode 160000
+Subproject cc43f15991d7095aea944d4d083a064f23c7a24
diff --git a/grep b/grep
new file mode 160000
+Subproject d3dcaf3619f0eec15c2145408ccb1397fc2c453
diff --git a/head b/head
new file mode 160000
+Subproject 41ae16c72828912c8f7710f9b0b961e754805d4
diff --git a/iconv b/iconv
new file mode 160000
+Subproject dae4c0745246a5e1a512ecdbe76c70d892b7937
diff --git a/id b/id
new file mode 160000
+Subproject f8d205dd3117aef8cd799608a93ba36944b990b
diff --git a/link b/link
new file mode 160000
+Subproject e14e15c4f6a62b253da26279e7cc616e19caa70
diff --git a/ln b/ln
new file mode 160000
+Subproject 69b820fa2c271f1eafaf692a0a8e57e22e83daa
diff --git a/locale b/locale
new file mode 160000
+Subproject f13d6dd9129f4fed3baf8d387cd11f98e005713
diff --git a/logger b/logger
new file mode 160000
+Subproject 9f17677561536bd0705e160a4cfa5d0fb9b722c
diff --git a/logname b/logname
new file mode 160000
+Subproject 5ab8b23ca8a67ecce0c500d11cb2d323e897897
diff --git a/ls b/ls
new file mode 160000
+Subproject aaee10ba70130484d23f7c55d4a487b949f6c07
diff --git a/mkdir b/mkdir
new file mode 160000
+Subproject 5e5371907e949285a80fb0ba538cdf59e98a667
diff --git a/mkfifo b/mkfifo
new file mode 160000
+Subproject 7fead8fe8ceec17e27f11739cc0355ae782f1fe
diff --git a/more b/more
new file mode 160000
+Subproject c3249e2c8d30bb65a39d851ad3d763a1c7c974f
diff --git a/nice b/nice
new file mode 160000
+Subproject 02b28f6a45b46627a68086f6eba43c03ef6b8c8
diff --git a/nohup b/nohup
new file mode 160000
+Subproject 1d00f6a1717826999472f9f7192e7372f34f5e9
diff --git a/od b/od
new file mode 160000
+Subproject 6164e7ac4af42a2a9254fce75adc3c82dae0446
diff --git a/paste b/paste
new file mode 160000
+Subproject 3fdbed8a5fe7908100e40aeefef8358713860a2
diff --git a/pathchk b/pathchk
new file mode 160000
+Subproject 05901bc084d78604661376286ce682f036545a5
diff --git a/printf b/printf
new file mode 160000
+Subproject 4a33ca6b85013f69ad89418cac42ff86a0e3ea8
diff --git a/renice b/renice
new file mode 160000
+Subproject 7b688a249aa3ea937dbe5fbe0eb3c34cebc6fab
diff --git a/rm b/rm
new file mode 160000
+Subproject 3c3f70895ed13e1c300f0a08f939879d53085a6
diff --git a/rmdir b/rmdir
new file mode 160000
+Subproject d855e1acb75d277ad39d595d291e8d1d2aac0b7
diff --git a/sh b/sh
new file mode 160000
+Subproject ab6dc14c2ea35d6c1a0415dbfafe7dd503c989d
diff --git a/sleep b/sleep
new file mode 160000
+Subproject 7381b33fbaad4d5926ea83a7c88b0f04a57a978
diff --git a/split b/split
new file mode 160000
+Subproject e67e58f6c2f94ee4294b4a922f14cb2dda0ff7b
diff --git a/src/Makefile b/src/Makefile
new file mode 100644
index 0000000..56c54ca
--- /dev/null
+++ b/src/Makefile
@@ -0,0 +1,29 @@
+.POSIX:
+
+all: bosix
+
+OBJS= ar.o asa.o \
+ basename.o \
+ cal.o cat.o chgrp.o chmod.o chown.o cksum.o cmp.o cp.o crontab.o ctags.o \
+ date.o dd.o dirname.o du.o \
+ ed.o env.o ex.o expand.o \
+ file.o \
+ getconf.o grep.o \
+ head.o \
+ iconv.o id.o \
+ link.o ln.o locale.o logger.o logname.o ls.o \
+ mkdir.o mkfifo.o more.o \
+ nice.o nohup.o \
+ od.o \
+ paste.o pathchk.o printf.o \
+ renice.o rm.o rmdir.o \
+ sh.o sleep.o split.o strings.o stty.o sum.o \
+ tail.o tee.o tput.o tr.o \
+ uname.o unlink.o uudecode.o uuencode.o \
+ wc.o who.o write.o
+
+bosix: $(OBJS)
+ $(CC) -o $@ $(OBJS) -ll -ly
+
+clean:
+ rm -f bosix *.o
diff --git a/src/ar.c b/src/ar.c
new file mode 100644
index 0000000..851c34c
--- /dev/null
+++ b/src/ar.c
@@ -0,0 +1,2 @@
+#define main ar_main
+#include "../ar/ar.c"
diff --git a/src/asa.c b/src/asa.c
new file mode 100644
index 0000000..d56384e
--- /dev/null
+++ b/src/asa.c
@@ -0,0 +1,2 @@
+#define main asa_main
+#include "../asa/asa.c"
diff --git a/src/basename.c b/src/basename.c
new file mode 100644
index 0000000..60fc367
--- /dev/null
+++ b/src/basename.c
@@ -0,0 +1,2 @@
+#define main basename_main
+#include "../basename/basename.c"
diff --git a/src/bc.c b/src/bc.c
new file mode 100644
index 0000000..1c975a9
--- /dev/null
+++ b/src/bc.c
@@ -0,0 +1,2 @@
+#define main bc_main
+#include "../bc/bc.c"
diff --git a/src/cal.c b/src/cal.c
new file mode 100644
index 0000000..49acecd
--- /dev/null
+++ b/src/cal.c
@@ -0,0 +1,2 @@
+#define main cal_main
+#include "../cal/cal.c"
diff --git a/src/cat.c b/src/cat.c
new file mode 100644
index 0000000..e16ab54
--- /dev/null
+++ b/src/cat.c
@@ -0,0 +1,2 @@
+#define main cat_main
+#include "../cat/cat.c"
diff --git a/src/chgrp.c b/src/chgrp.c
new file mode 100644
index 0000000..1fbc006
--- /dev/null
+++ b/src/chgrp.c
@@ -0,0 +1,2 @@
+#define main chgrp_main
+#include "../chgrp/chgrp.c"
diff --git a/src/chmod.c b/src/chmod.c
new file mode 100644
index 0000000..d59a326
--- /dev/null
+++ b/src/chmod.c
@@ -0,0 +1,2 @@
+#define main chmod_main
+#include "../chmod/chmod.c"
diff --git a/src/chown.c b/src/chown.c
new file mode 100644
index 0000000..4beef3f
--- /dev/null
+++ b/src/chown.c
@@ -0,0 +1,2 @@
+#define main chown_main
+#include "../chown/chown.c"
diff --git a/src/cksum.c b/src/cksum.c
new file mode 100644
index 0000000..67b1a59
--- /dev/null
+++ b/src/cksum.c
@@ -0,0 +1,2 @@
+#define main cksum_main
+#include "../cksum/cksum.c"
diff --git a/src/cmp.c b/src/cmp.c
new file mode 100644
index 0000000..53290d6
--- /dev/null
+++ b/src/cmp.c
@@ -0,0 +1,2 @@
+#define main cmp_main
+#include "../cmp/cmp.c"
diff --git a/src/cp.c b/src/cp.c
new file mode 100644
index 0000000..b321c1a
--- /dev/null
+++ b/src/cp.c
@@ -0,0 +1,2 @@
+#define main cp_main
+#include "../cp/cp.c"
diff --git a/src/crontab.c b/src/crontab.c
new file mode 100644
index 0000000..62b4c62
--- /dev/null
+++ b/src/crontab.c
@@ -0,0 +1,2 @@
+#define main crontab_main
+#include "../crontab/crontab.c"
diff --git a/src/ctags.c b/src/ctags.c
new file mode 100644
index 0000000..ff6ed49
--- /dev/null
+++ b/src/ctags.c
@@ -0,0 +1,2 @@
+#define main ctags_main
+#include "../ctags/ctags.c"
diff --git a/src/date.c b/src/date.c
new file mode 100644
index 0000000..d69170d
--- /dev/null
+++ b/src/date.c
@@ -0,0 +1,2 @@
+#define main date_main
+#include "../date/date.c"
diff --git a/src/dd.c b/src/dd.c
new file mode 100644
index 0000000..c9f840b
--- /dev/null
+++ b/src/dd.c
@@ -0,0 +1,2 @@
+#define main dd_main
+#include "../dd/dd.c"
diff --git a/src/dirname.c b/src/dirname.c
new file mode 100644
index 0000000..85c46b5
--- /dev/null
+++ b/src/dirname.c
@@ -0,0 +1,2 @@
+#define main dirname_main
+#include "../dirname/dirname.c"
diff --git a/src/du.c b/src/du.c
new file mode 100644
index 0000000..6a4f47c
--- /dev/null
+++ b/src/du.c
@@ -0,0 +1,2 @@
+#define main du_main
+#include "../du/du.c"
diff --git a/src/ed.c b/src/ed.c
new file mode 100644
index 0000000..3283657
--- /dev/null
+++ b/src/ed.c
@@ -0,0 +1,9 @@
+#define main ed_main
+#include "../ed/ed.c"
+#include "../ed/commands.c"
+#include "../ed/env.c"
+#include "../ed/input.c"
+#include "../ed/io.c"
+#include "../ed/re.c"
+#include "../ed/signals.c"
+#include "../ed/stubs.c"
diff --git a/src/env.c b/src/env.c
new file mode 100644
index 0000000..04e1838
--- /dev/null
+++ b/src/env.c
@@ -0,0 +1,2 @@
+#define main env_main
+#include "../env/env.c"
diff --git a/src/ex.c b/src/ex.c
new file mode 100644
index 0000000..c8f74e3
--- /dev/null
+++ b/src/ex.c
@@ -0,0 +1,2 @@
+#define main ex_main
+#include "../ex/ex.c"
diff --git a/src/expand.c b/src/expand.c
new file mode 100644
index 0000000..e7aaf30
--- /dev/null
+++ b/src/expand.c
@@ -0,0 +1,2 @@
+#define main expand_main
+#include "../expand/expand.c"
diff --git a/src/file.c b/src/file.c
new file mode 100644
index 0000000..369adde
--- /dev/null
+++ b/src/file.c
@@ -0,0 +1,3 @@
+#define main file_main
+#include "../file/file.c"
+#include "../file/magic.c"
diff --git a/src/getconf.c b/src/getconf.c
new file mode 100644
index 0000000..411cc1b
--- /dev/null
+++ b/src/getconf.c
@@ -0,0 +1,2 @@
+#define main getconf_main
+#include "../getconf/getconf.c"
diff --git a/src/grep.c b/src/grep.c
new file mode 100644
index 0000000..c77eab5
--- /dev/null
+++ b/src/grep.c
@@ -0,0 +1,2 @@
+#define main grep_main
+#include "../grep/grep.c"
diff --git a/src/head.c b/src/head.c
new file mode 100644
index 0000000..7f34a0f
--- /dev/null
+++ b/src/head.c
@@ -0,0 +1,2 @@
+#define main head_main
+#include "../head/head.c"
diff --git a/src/iconv.c b/src/iconv.c
new file mode 100644
index 0000000..f9c1052
--- /dev/null
+++ b/src/iconv.c
@@ -0,0 +1,2 @@
+#define main iconv_main
+#include "../iconv/iconv.c"
diff --git a/src/id.c b/src/id.c
new file mode 100644
index 0000000..1a50ad2
--- /dev/null
+++ b/src/id.c
@@ -0,0 +1,2 @@
+#define main id_main
+#include "../id/id.c"
diff --git a/src/link.c b/src/link.c
new file mode 100644
index 0000000..a92bf3f
--- /dev/null
+++ b/src/link.c
@@ -0,0 +1,2 @@
+#define main link_main
+#include "../link/link.c"
diff --git a/src/ln.c b/src/ln.c
new file mode 100644
index 0000000..498e689
--- /dev/null
+++ b/src/ln.c
@@ -0,0 +1,2 @@
+#define main ln_main
+#include "../ln/ln.c"
diff --git a/src/locale.c b/src/locale.c
new file mode 100644
index 0000000..626f264
--- /dev/null
+++ b/src/locale.c
@@ -0,0 +1,2 @@
+#define main locale_main
+#include "../locale/locale.c"
diff --git a/src/logger.c b/src/logger.c
new file mode 100644
index 0000000..5d81d91
--- /dev/null
+++ b/src/logger.c
@@ -0,0 +1,2 @@
+#define main logger_main
+#include "../logger/logger.c"
diff --git a/src/logname.c b/src/logname.c
new file mode 100644
index 0000000..662b5dd
--- /dev/null
+++ b/src/logname.c
@@ -0,0 +1,2 @@
+#define main logname_main
+#include "../logname/logname.c"
diff --git a/src/ls.c b/src/ls.c
new file mode 100644
index 0000000..d6af9ff
--- /dev/null
+++ b/src/ls.c
@@ -0,0 +1,2 @@
+#define main ls_main
+#include "../ls/ls.c"
diff --git a/src/mkdir.c b/src/mkdir.c
new file mode 100644
index 0000000..928f6ec
--- /dev/null
+++ b/src/mkdir.c
@@ -0,0 +1,2 @@
+#define main mkdir_main
+#include "../mkdir/mkdir.c"
diff --git a/src/mkfifo.c b/src/mkfifo.c
new file mode 100644
index 0000000..089a62f
--- /dev/null
+++ b/src/mkfifo.c
@@ -0,0 +1,2 @@
+#define main mkfifo_main
+#include "../mkfifo/mkfifo.c"
diff --git a/src/more.c b/src/more.c
new file mode 100644
index 0000000..cbc0f3c
--- /dev/null
+++ b/src/more.c
@@ -0,0 +1,2 @@
+#define main more_main
+#include "../more/more.c"
diff --git a/src/nice.c b/src/nice.c
new file mode 100644
index 0000000..f9684f2
--- /dev/null
+++ b/src/nice.c
@@ -0,0 +1,2 @@
+#define main nice_main
+#include "../nice/nice.c"
diff --git a/src/nohup.c b/src/nohup.c
new file mode 100644
index 0000000..6a77df6
--- /dev/null
+++ b/src/nohup.c
@@ -0,0 +1,2 @@
+#define main nohup_main
+#include "../nohup/nohup.c"
diff --git a/src/od.c b/src/od.c
new file mode 100644
index 0000000..553596c
--- /dev/null
+++ b/src/od.c
@@ -0,0 +1,2 @@
+#define main od_main
+#include "../od/od.c"
diff --git a/src/paste.c b/src/paste.c
new file mode 100644
index 0000000..230c765
--- /dev/null
+++ b/src/paste.c
@@ -0,0 +1,2 @@
+#define main paste_main
+#include "../paste/paste.c"
diff --git a/src/pathchk.c b/src/pathchk.c
new file mode 100644
index 0000000..0d68a70
--- /dev/null
+++ b/src/pathchk.c
@@ -0,0 +1,2 @@
+#define main pathchk_main
+#include "../pathchk/pathchk.c"
diff --git a/src/printf.c b/src/printf.c
new file mode 100644
index 0000000..42b2190
--- /dev/null
+++ b/src/printf.c
@@ -0,0 +1,2 @@
+#define main unused_main
+#include "../printf/printf.c"
diff --git a/src/renice.c b/src/renice.c
new file mode 100644
index 0000000..8c77a14
--- /dev/null
+++ b/src/renice.c
@@ -0,0 +1,2 @@
+#define main renice_main
+#include "../renice/renice.c"
diff --git a/src/rm.c b/src/rm.c
new file mode 100644
index 0000000..5e8e86e
--- /dev/null
+++ b/src/rm.c
@@ -0,0 +1,2 @@
+#define main rm_main
+#include "../rm/rm.c"
diff --git a/src/rmdir.c b/src/rmdir.c
new file mode 100644
index 0000000..48f18e7
--- /dev/null
+++ b/src/rmdir.c
@@ -0,0 +1,2 @@
+#define main rmdir_main
+#include "../rmdir/rmdir.c"
diff --git a/src/sh.c b/src/sh.c
new file mode 100644
index 0000000..4c35370
--- /dev/null
+++ b/src/sh.c
@@ -0,0 +1,37 @@
+#include "../sh/alias.c"
+#include "../sh/bg.c"
+#include "../sh/builtins.c"
+#include "../sh/cd.c"
+#include "../sh/command.c"
+#include "../sh/dot.c"
+#include "../sh/eval.c"
+#include "../sh/exec.c"
+#include "../sh/exit.c"
+#include "../sh/export.c"
+#include "../sh/false.c"
+#include "../sh/fc.c"
+#include "../sh/fg.c"
+#include "../sh/getopts.c"
+#include "../sh/hash.c"
+#include "../sh/init.c"
+#include "../sh/interactive.c"
+#include "../sh/jobs.c"
+#include "../sh/kill.c"
+#include "../sh/main.c"
+#include "../sh/newgrp.c"
+#include "../sh/parse.c"
+#include "../sh/pwd.c"
+#include "../sh/read.c"
+#include "../sh/readonly.c"
+#include "../sh/set.c"
+#include "../sh/sh.tab.c"
+#include "../sh/sh.yy.c"
+#include "../sh/shift.c"
+#include "../sh/times.c"
+#include "../sh/trap.c"
+#include "../sh/true.c"
+#include "../sh/type.c"
+#include "../sh/ulimit.c"
+#include "../sh/umask.c"
+#include "../sh/unset.c"
+#include "../sh/wait.c"
diff --git a/src/sleep.c b/src/sleep.c
new file mode 100644
index 0000000..f01a068
--- /dev/null
+++ b/src/sleep.c
@@ -0,0 +1,2 @@
+#define main sleep_main
+#include "../sleep/sleep.c"
diff --git a/src/split.c b/src/split.c
new file mode 100644
index 0000000..09b291c
--- /dev/null
+++ b/src/split.c
@@ -0,0 +1,2 @@
+#define main split_main
+#include "../split/split.c"
diff --git a/src/strings.c b/src/strings.c
new file mode 100644
index 0000000..ffa3c50
--- /dev/null
+++ b/src/strings.c
@@ -0,0 +1,2 @@
+#define main strings_main
+#include "../strings/strings.c"
diff --git a/src/stty.c b/src/stty.c
new file mode 100644
index 0000000..6a3a5a0
--- /dev/null
+++ b/src/stty.c
@@ -0,0 +1,2 @@
+#define main stty_main
+#include "../stty/stty.c"
diff --git a/src/sum.c b/src/sum.c
new file mode 100644
index 0000000..8d9f5b6
--- /dev/null
+++ b/src/sum.c
@@ -0,0 +1,2 @@
+#define main sum_main
+#include "../sum/sum.c"
diff --git a/src/tail.c b/src/tail.c
new file mode 100644
index 0000000..8386925
--- /dev/null
+++ b/src/tail.c
@@ -0,0 +1,2 @@
+#define main tail_main
+#include "../tail/tail.c"
diff --git a/src/tee.c b/src/tee.c
new file mode 100644
index 0000000..f1790a1
--- /dev/null
+++ b/src/tee.c
@@ -0,0 +1,2 @@
+#define main tee_main
+#include "../tee/tee.c"
diff --git a/src/tput.c b/src/tput.c
new file mode 100644
index 0000000..79cd1ec
--- /dev/null
+++ b/src/tput.c
@@ -0,0 +1,2 @@
+#define main tput_main
+#include "../tput/tput.c"
diff --git a/src/tr.c b/src/tr.c
new file mode 100644
index 0000000..723d796
--- /dev/null
+++ b/src/tr.c
@@ -0,0 +1,2 @@
+#define main tr_main
+#include "../tr/tr.c"
diff --git a/src/uname.c b/src/uname.c
new file mode 100644
index 0000000..300b797
--- /dev/null
+++ b/src/uname.c
@@ -0,0 +1,2 @@
+#define main uname_main
+#include "../uname/uname.c"
diff --git a/src/unlink.c b/src/unlink.c
new file mode 100644
index 0000000..d9c8550
--- /dev/null
+++ b/src/unlink.c
@@ -0,0 +1,2 @@
+#define main unlink_main
+#include "../unlink/unlink.c"
diff --git a/src/uudecode.c b/src/uudecode.c
new file mode 100644
index 0000000..117b32e
--- /dev/null
+++ b/src/uudecode.c
@@ -0,0 +1,2 @@
+#define main uudecode_main
+#include "../uudecode/uudecode.c"
diff --git a/src/uuencode.c b/src/uuencode.c
new file mode 100644
index 0000000..4f1327e
--- /dev/null
+++ b/src/uuencode.c
@@ -0,0 +1,2 @@
+#define main uuencode_main
+#include "../uuencode/uuencode.c"
diff --git a/src/wc.c b/src/wc.c
new file mode 100644
index 0000000..0e0b5c3
--- /dev/null
+++ b/src/wc.c
@@ -0,0 +1,2 @@
+#define main wc_main
+#include "../wc/wc.c"
diff --git a/src/who.c b/src/who.c
new file mode 100644
index 0000000..816aa7d
--- /dev/null
+++ b/src/who.c
@@ -0,0 +1,2 @@
+#define main who_main
+#include "../who/who.c"
diff --git a/src/write.c b/src/write.c
new file mode 100644
index 0000000..f44a7bd
--- /dev/null
+++ b/src/write.c
@@ -0,0 +1,2 @@
+#define main write_main
+#include "../write/write.c"
diff --git a/strings b/strings
new file mode 160000
+Subproject e04910c0a714c5beeb181349bcc3abe2fc8fa18
diff --git a/stty b/stty
new file mode 160000
+Subproject db56f96773e2c69ff62cb2872124aaac0d3c49c
diff --git a/sum b/sum
new file mode 160000
+Subproject f54d7529ff00509850393dd3acacc8d3f8810c8
diff --git a/tail b/tail
new file mode 160000
+Subproject 9c94af210bd9d0836a6e8699b123ee1a1109e2b
diff --git a/tee b/tee
new file mode 160000
+Subproject 2e33b2a55355d17c2f20b0eab9a014a7687497f
diff --git a/tput b/tput
new file mode 160000
+Subproject fcf1447ae723915abde5a7c0abacd1a3c9aaa14
diff --git a/tr b/tr
new file mode 160000
+Subproject 7326b6bc6b5607c854039c3379b429c91a89a60
diff --git a/uname b/uname
new file mode 160000
+Subproject acb2ef5f83554899af3b0e2b326bce70326a14d
diff --git a/unlink b/unlink
new file mode 160000
+Subproject ba1abd58f61848b2bd7c54024a1ea00b82e7794
diff --git a/uudecode b/uudecode
new file mode 160000
+Subproject 73afc3baaa3c109dc901157c19baac6cecf964a
diff --git a/uuencode b/uuencode
new file mode 160000
+Subproject b38eea6c23fcda728756fde78849e2b156d13ac
diff --git a/wc b/wc
new file mode 160000
+Subproject f6068e29003d70021dc8cd2cc61fbd55a24b4a4
diff --git a/who b/who
new file mode 160000
+Subproject 66b91392b453bfc602ac01de0de309031fd3683
diff --git a/write b/write
new file mode 160000
+Subproject cd4e520cc1b852b25f9164ae73c1f0522aba5df