summaryrefslogtreecommitdiff
path: root/test/silly
diff options
context:
space:
mode:
Diffstat (limited to 'test/silly')
-rw-r--r--test/silly/.cvsignore4
-rw-r--r--test/silly/Makefile63
-rw-r--r--test/silly/hello.c8
3 files changed, 75 insertions, 0 deletions
diff --git a/test/silly/.cvsignore b/test/silly/.cvsignore
new file mode 100644
index 000000000..c6e0c6f72
--- /dev/null
+++ b/test/silly/.cvsignore
@@ -0,0 +1,4 @@
+hello
+hello.o
+hello_glibc
+hello_glibc.o
diff --git a/test/silly/Makefile b/test/silly/Makefile
new file mode 100644
index 000000000..94f745d4d
--- /dev/null
+++ b/test/silly/Makefile
@@ -0,0 +1,63 @@
+TOPDIR=../../
+include $(TOPDIR)Rules.make
+
+# Check if 'ls -sh' works or not
+LSFLAGS = $(shell if ls -sh >/dev/null 2>&1; \
+ then echo "-sh"; else echo "-s" ; fi)
+
+XCFLAGS = -Wall -Os -fomit-frame-pointer -fno-builtin -nostdinc \
+ -I$(TOPDIR)include -I/usr/include/linux
+XLDFLAGS = -nostdlib -s -gc-sections
+EXTRA_LIBS=$(TOPDIR)libc.a
+
+YCFLAGS = -Wall -Os -fomit-frame-pointer
+YLDFLAGS = -s --static
+
+# Allow alternative stripping tools to be used...
+ifndef $(STRIPTOOL)
+ STRIPTOOL = strip
+endif
+STRIP = $(STRIPTOOL) --remove-section=.note --remove-section=.comment $@
+
+TARGETS=hello_source hello hello_glibc
+
+all: $(TARGETS)
+
+hello_source:
+ -@ rm -f $(TARGETS)
+ -@ echo "-------"
+ -@ echo "hello.c source: "
+ -@ echo " "
+ -@ cat hello.c
+ -@ echo " "
+
+hello: hello.c Makefile $(TOPDIR)libc.a
+ -@ echo "-------"
+ -@ echo " "
+ -@ echo "Compiling vs uC-Libc: "
+ -@ echo " "
+ $(CC) $(XCFLAGS) -c $< -o $@.o
+ $(CC) $(XLDFLAGS) $@.o -o $@ $(EXTRA_LIBS)
+ $(STRIP)
+ -ldd $@
+ ls $(LSFLAGS) $@
+ -./$@
+ -@ echo " "
+
+hello_glibc: hello.c Makefile $(TOPDIR)libc.a
+ -@ echo "-------"
+ -@ echo " "
+ -@ echo "Compiling vs GNU libc: "
+ -@ echo " "
+ $(CC) $(YCFLAGS) -c $< -o $@.o
+ $(CC) $(YLDFLAGS) --static $@.o -o $@
+ $(STRIP)
+ -ldd $@
+ ls $(LSFLAGS) $@
+ -./$@
+ -@ echo " "
+
+clean:
+ rm -f *.[oa] *~ core $(TARGETS)
+
+
diff --git a/test/silly/hello.c b/test/silly/hello.c
new file mode 100644
index 000000000..4aba926e6
--- /dev/null
+++ b/test/silly/hello.c
@@ -0,0 +1,8 @@
+#include<stdio.h>
+#include <stdlib.h>
+
+int main(void)
+{
+ printf("hello world\n");
+ exit(42);
+}