123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- TOPDIR=../../
- include $(TOPDIR)Rules.mak
- # 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 testmalloc_glibc
- TARGETS=mallocbug mallocbug_glibc
- TARGETS+=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 " "
- mallocbug: mallocbug.c Makefile $(TOPDIR)libc.a
- -@ echo "-------"
- -@ echo " "
- -@ echo "Compiling vs uC-Libc: "
- -@ echo " "
- $(CC) -g $(XCFLAGS) -c $< -o $@.o
- $(CC) -g $(XLDFLAGS) $@.o -o $@ $(EXTRA_LIBS)
- $(STRIP)
- -ldd $@
- ls $(LSFLAGS) $@
- -./$@
- -@ echo " "
- mallocbug_glibc: mallocbug.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 $@
- -./$@ > $@.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 $@
- -./$@ > $@.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)
|