diff --git a/build/Makefile b/build/Makefile
new file mode 100755
index 0000000000000000000000000000000000000000..5ff62f56b1c9da0e7a2223435e0a534dcb3e4d3b
--- /dev/null
+++ b/build/Makefile
@@ -0,0 +1,15 @@
+.PHONY: all clean
+
+all: x86_64
+
+x86_64: x.c util.c
+	build-diet.sh x86-64
+	gcc -nostdlib -static -fomit-frame-pointer -L./dietlibc/bin ./dietlibc/bin-arm/start.o -o x $^ -isystem ./dietlibc/include -D__dietlibc__ ./dietlibc/bin-arm/dietlibc.a -lgcc ./dietlibc/bin-arm/dietlibc.a
+
+i386: x.c util.c
+	build-diet.sh i386
+	gcc -nostdlib -static -fomit-frame-pointer -L./dietlibc/bin-arm ./dietlibc/bin-arm/start.o -o x $^ -isystem ./dietlibc/include -D__dietlibc__ ./dietlibc/bin-arm/dietlibc.a -lgcc ./dietlibc/bin-arm/dietlibc.a
+
+arm: x.c util.c
+	build-diet.sh arm
+	arm-linux-gnueabihf-gcc -nostdlib -static -fomit-frame-pointer -L./dietlibc/bin-arm ./dietlibc/bin-arm/start.o -o x $^ -isystem ./dietlibc/include -D__dietlibc__ ./dietlibc/bin-arm/dietlibc.a -lgcc ./dietlibc/bin-arm/dietlibc.a
diff --git a/build/build-diet.sh b/build/build-diet.sh
new file mode 100755
index 0000000000000000000000000000000000000000..76c99e804c30299a10ec9f6ffcf34be0965c923e
--- /dev/null
+++ b/build/build-diet.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+set -v
+
+if [ $# -lt 1 ]; then
+	echo "Usage: $0 <ARCH> <CROSS>"
+    exit 1
+fi
+
+if [ ! -d ./dietlibc ]; then
+	cvs -d :pserver:cvs@cvs.fefe.de:/cvs -z9 co dietlibc
+fi
+
+cd dietlibc
+make clean
+if [ $1 = "arm" ]; then
+	make ARCH="$1" CROSS=arm-linux-gnueabihf-
+elif [ $1 = "i386" ]; then
+	make ARCH="$1" EXTRACFLAGS="-m32"
+elif [ $1 = "x86_64" ]; then
+    make ARCH="$1"
+fi
+cd ..