summaryrefslogtreecommitdiff
path: root/test/stdlib/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'test/stdlib/Makefile')
-rw-r--r--test/stdlib/Makefile104
1 files changed, 104 insertions, 0 deletions
diff --git a/test/stdlib/Makefile b/test/stdlib/Makefile
new file mode 100644
index 000000000..e882d8f85
--- /dev/null
+++ b/test/stdlib/Makefile
@@ -0,0 +1,104 @@
+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=testmalloc_source testmalloc testmalloc_glibc
+TARGETS+=teststrtol_source teststrtol teststrtol_glibc teststrtol_diff
+
+all: $(TARGETS)
+
+testmalloc_source:
+ -@ echo "-------"
+ -@ echo "testmalloc.c source: "
+ -@ echo " "
+ -@ cat testmalloc.c
+ -@ echo " "
+
+testmalloc: testmalloc.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 " "
+
+testmalloc_glibc: testmalloc.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 " "
+
+teststrtol_source:
+ -@ echo "-------"
+ -@ echo "teststrtol.c source: "
+ -@ echo " "
+ -@ cat teststrtol.c
+ -@ echo " "
+
+teststrtol: teststrtol.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 -sh $@
+ -./$@ | tee $@.out
+ -@ echo " "
+
+teststrtol_glibc: teststrtol.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 -sh $@
+ -./$@ | tee $@.out
+ -@ echo " "
+
+teststrtol_diff: teststrtol_glibc teststrtol
+ -@ echo "-------"
+ -@ echo " "
+ -@ echo "Diffing output: "
+ -@ echo " "
+ -diff -u teststrtol_glibc.out teststrtol.out
+ -@ echo " "
+
+clean:
+ rm -f *.[oa] *~ core $(TARGETS)
+
+