diff options
Diffstat (limited to 'test/silly')
-rw-r--r-- | test/silly/.cvsignore | 4 | ||||
-rw-r--r-- | test/silly/Makefile | 63 | ||||
-rw-r--r-- | test/silly/hello.c | 8 |
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); +} |