[build] support building in Magenta

1. check this repository out under third_party/uapp in magenta
2. build Magenta as usual

Change-Id: Iec63e9d3cd1428b1e72533db5df2085f74e664fc
diff --git a/libutf/rules.mk b/libutf/rules.mk
new file mode 100644
index 0000000..3f859b6
--- /dev/null
+++ b/libutf/rules.mk
@@ -0,0 +1,35 @@
+# Copyright 2016 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+MODULE := $(LOCAL_DIR)
+
+MODULE_TYPE := userlib
+
+MODULE_SRCS += \
+    $(LOCAL_DIR)/fgetrune.c \
+    $(LOCAL_DIR)/fputrune.c \
+    $(LOCAL_DIR)/isalnumrune.c \
+    $(LOCAL_DIR)/isalpharune.c \
+    $(LOCAL_DIR)/isblankrune.c \
+    $(LOCAL_DIR)/iscntrlrune.c \
+    $(LOCAL_DIR)/isdigitrune.c \
+    $(LOCAL_DIR)/isgraphrune.c \
+    $(LOCAL_DIR)/isprintrune.c \
+    $(LOCAL_DIR)/ispunctrune.c \
+    $(LOCAL_DIR)/isspacerune.c \
+    $(LOCAL_DIR)/istitlerune.c \
+    $(LOCAL_DIR)/isxdigitrune.c \
+    $(LOCAL_DIR)/lowerrune.c \
+    $(LOCAL_DIR)/rune.c \
+    $(LOCAL_DIR)/runetype.c \
+    $(LOCAL_DIR)/runetype.h \
+    $(LOCAL_DIR)/upperrune.c \
+    $(LOCAL_DIR)/utf.c \
+    $(LOCAL_DIR)/utftorunestr.c \
+
+MODULE_LIBS += ulib/c
+
+include make/module.mk
diff --git a/libutil/rules.mk b/libutil/rules.mk
new file mode 100644
index 0000000..461cde9
--- /dev/null
+++ b/libutil/rules.mk
@@ -0,0 +1,54 @@
+# Copyright 2016 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+MODULE := $(LOCAL_DIR)
+
+MODULE_TYPE := userlib
+
+MODULE_SRCS += \
+    $(LOCAL_DIR)/concat.c \
+    $(LOCAL_DIR)/cp.c \
+    $(LOCAL_DIR)/crypt.c \
+    $(LOCAL_DIR)/ealloc.c \
+    $(LOCAL_DIR)/enmasse.c \
+    $(LOCAL_DIR)/eprintf.c \
+    $(LOCAL_DIR)/eregcomp.c \
+    $(LOCAL_DIR)/estrtod.c \
+    $(LOCAL_DIR)/fnck.c \
+    $(LOCAL_DIR)/fshut.c \
+    $(LOCAL_DIR)/getlines.c \
+    $(LOCAL_DIR)/human.c \
+    $(LOCAL_DIR)/linecmp.c \
+    $(LOCAL_DIR)/md5.c \
+    $(LOCAL_DIR)/memmem.c \
+    $(LOCAL_DIR)/mkdirp.c \
+    $(LOCAL_DIR)/mode.c \
+    $(LOCAL_DIR)/parseoffset.c \
+    $(LOCAL_DIR)/putword.c \
+    $(LOCAL_DIR)/reallocarray.c \
+    $(LOCAL_DIR)/recurse.c \
+    $(LOCAL_DIR)/rm.c \
+    $(LOCAL_DIR)/sha1.c \
+    $(LOCAL_DIR)/sha224.c \
+    $(LOCAL_DIR)/sha256.c \
+    $(LOCAL_DIR)/sha384.c \
+    $(LOCAL_DIR)/sha512-224.c \
+    $(LOCAL_DIR)/sha512-256.c \
+    $(LOCAL_DIR)/sha512.c \
+    $(LOCAL_DIR)/strcasestr.c \
+    $(LOCAL_DIR)/strlcat.c \
+    $(LOCAL_DIR)/strlcpy.c \
+    $(LOCAL_DIR)/strsep.c \
+    $(LOCAL_DIR)/strtonum.c \
+    $(LOCAL_DIR)/unescape.c \
+
+MODULE_LIBS += ulib/c
+
+MODULE_CFLAGS := \
+    -Wno-sign-compare -Wno-maybe-uninitialized \
+    -Wno-discarded-qualifiers
+
+include make/module.mk
diff --git a/rules.mk b/rules.mk
new file mode 100644
index 0000000..2811733
--- /dev/null
+++ b/rules.mk
@@ -0,0 +1,131 @@
+# Copyright 2017 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+THIRD_PARTY_SBASE_DIR := $(GET_LOCAL_DIR)
+
+# These do not yet build
+SBASE_NOT_WORKING := \
+    chroot \
+    getconf \
+    time \
+
+# These build but provide no useful functionality
+# as they depend on incomplete or stub features
+SBASE_NOT_USEFUL := \
+    chgrp \
+    chmod \
+    chown \
+    flock \
+    kill \
+    ln \
+    logger \
+    logname \
+    mkfifo \
+    nice \
+    nohup \
+    renice \
+    setsid \
+
+SBASE_PROGRAMS := \
+    basename \
+    cal \
+    cat \
+    cksum \
+    cmp \
+    cols \
+    comm \
+    cp \
+    cron \
+    cut \
+    date \
+    dirname \
+    du \
+    echo \
+    ed \
+    env \
+    expand \
+    expr \
+    false \
+    find \
+    fold \
+    grep \
+    head \
+    hostname \
+    join \
+    link \
+    ls \
+    md5sum \
+    mkdir \
+    mktemp \
+    mv \
+    nl \
+    od \
+    paste \
+    pathchk \
+    printenv \
+    printf \
+    pwd \
+    readlink \
+    rev \
+    rm \
+    rmdir \
+    sed \
+    seq \
+    sha1sum \
+    sha224sum \
+    sha256sum \
+    sha384sum \
+    sha512-224sum \
+    sha512-256sum \
+    sha512sum \
+    sleep \
+    sort \
+    split \
+    sponge \
+    strings \
+    sync \
+    tail \
+    tar \
+    tee \
+    test \
+    tftp \
+    touch \
+    tr \
+    true \
+    tsort \
+    tty \
+    uname \
+    unexpand \
+    uniq \
+    unlink \
+    uudecode \
+    uuencode \
+    wc \
+    which \
+    whoami \
+    xargs \
+    xinstall \
+    yes \
+
+
+THIRD_PARTY_SBASE_CFLAGS := \
+    -Wno-sign-compare \
+    -Wno-missing-field-initializers \
+    -Wno-discarded-qualifiers \
+    -Wno-maybe-uninitialized \
+    -Wno-strict-prototypes \
+    -Wno-type-limits
+
+define make-sbase-program
+$(eval MODULE := $(THIRD_PARTY_SBASE_DIR)-$(1))\
+$(eval MODULE_NAME := $(1))\
+$(eval MODULE_TYPE := userapp)\
+$(eval MODULE_SRCS += $(THIRD_PARTY_SBASE_DIR)/$(1).c)\
+$(eval MODULE_STATIC_LIBS := uapp/sbase/libutil uapp/sbase/libutf)\
+$(eval MODULE_LIBS := ulib/mxio ulib/c)\
+$(eval MODULE_CFLAGS := $(THIRD_PARTY_SBASE_CFLAGS))\
+$(eval include make/module.mk)
+endef
+
+$(foreach pgm,$(SBASE_PROGRAMS),$(call make-sbase-program,$(pgm)))