Makefile 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. TOPDIR=../../
  2. include $(TOPDIR)Rules.make
  3. # Check if 'ls -sh' works or not
  4. LSFLAGS = $(shell if ls -sh >/dev/null 2>&1; \
  5. then echo "-sh"; else echo "-s" ; fi)
  6. XCFLAGS = -Wall -Os -fomit-frame-pointer -fno-builtin -nostdinc \
  7. -I$(TOPDIR)include -I/usr/include/linux
  8. XLDFLAGS = -nostdlib -s -gc-sections
  9. EXTRA_LIBS=$(TOPDIR)libc.a
  10. YCFLAGS = -Wall -Os -fomit-frame-pointer
  11. YLDFLAGS = -s --static
  12. # Allow alternative stripping tools to be used...
  13. ifndef $(STRIPTOOL)
  14. STRIPTOOL = strip
  15. endif
  16. STRIP = $(STRIPTOOL) --remove-section=.note --remove-section=.comment $@
  17. TARGETS=testmalloc_source testmalloc testmalloc_glibc
  18. TARGETS+=teststrtol_source teststrtol teststrtol_glibc teststrtol_diff
  19. all: $(TARGETS)
  20. testmalloc_source:
  21. -@ echo "-------"
  22. -@ echo "testmalloc.c source: "
  23. -@ echo " "
  24. -@ cat testmalloc.c
  25. -@ echo " "
  26. testmalloc: testmalloc.c Makefile $(TOPDIR)libc.a
  27. -@ echo "-------"
  28. -@ echo " "
  29. -@ echo "Compiling vs uC-Libc: "
  30. -@ echo " "
  31. $(CC) $(XCFLAGS) -c $< -o $@.o
  32. $(CC) $(XLDFLAGS) $@.o -o $@ $(EXTRA_LIBS)
  33. $(STRIP)
  34. -ldd $@
  35. ls $(LSFLAGS) $@
  36. -./$@
  37. -@ echo " "
  38. testmalloc_glibc: testmalloc.c Makefile $(TOPDIR)libc.a
  39. -@ echo "-------"
  40. -@ echo " "
  41. -@ echo "Compiling vs GNU libc: "
  42. -@ echo " "
  43. $(CC) $(YCFLAGS) -c $< -o $@.o
  44. $(CC) $(YLDFLAGS) --static $@.o -o $@
  45. $(STRIP)
  46. -ldd $@
  47. ls $(LSFLAGS) $@
  48. -./$@
  49. -@ echo " "
  50. teststrtol_source:
  51. -@ echo "-------"
  52. -@ echo "teststrtol.c source: "
  53. -@ echo " "
  54. -@ cat teststrtol.c
  55. -@ echo " "
  56. teststrtol: teststrtol.c Makefile $(TOPDIR)libc.a
  57. -@ echo "-------"
  58. -@ echo " "
  59. -@ echo "Compiling vs uC-Libc: "
  60. -@ echo " "
  61. $(CC) $(XCFLAGS) -c $< -o $@.o
  62. $(CC) $(XLDFLAGS) $@.o -o $@ $(EXTRA_LIBS)
  63. $(STRIP)
  64. ldd $@
  65. ls -sh $@
  66. -./$@ | tee $@.out
  67. -@ echo " "
  68. teststrtol_glibc: teststrtol.c Makefile $(TOPDIR)libc.a
  69. -@ echo "-------"
  70. -@ echo " "
  71. -@ echo "Compiling vs GNU libc: "
  72. -@ echo " "
  73. $(CC) $(YCFLAGS) -c $< -o $@.o
  74. $(CC) $(YLDFLAGS) --static $@.o -o $@
  75. $(STRIP)
  76. ldd $@
  77. ls -sh $@
  78. -./$@ | tee $@.out
  79. -@ echo " "
  80. teststrtol_diff: teststrtol_glibc teststrtol
  81. -@ echo "-------"
  82. -@ echo " "
  83. -@ echo "Diffing output: "
  84. -@ echo " "
  85. -diff -u teststrtol_glibc.out teststrtol.out
  86. -@ echo " "
  87. clean:
  88. rm -f *.[oa] *~ core $(TARGETS)