Makefile 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  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=string string_glibc
  18. TARGETS+=ctype ctype_glibc
  19. #TARGETS+=hello_source hello hello_glibc
  20. #TARGETS+=testmalloc_source testmalloc testmalloc_glibc
  21. #TARGETS+=teststrtol_source teststrtol teststrtol_glibc teststrtol_diff
  22. all: $(TARGETS)
  23. string: string.c Makefile $(TOPDIR)libc.a
  24. -@ echo "-------"
  25. -@ echo " "
  26. -@ echo "Testing ctype functions: "
  27. -@ echo " "
  28. $(CC) $(XCFLAGS) -c $< -o $@.o
  29. $(CC) $(XLDFLAGS) $@.o -o $@ $(EXTRA_LIBS)
  30. -./$@
  31. -@ echo " "
  32. string_glibc: string.c testsuite.h Makefile $(TOPDIR)libc.a
  33. -@ echo "-------"
  34. -@ echo " "
  35. -@ echo "Testing string functions: "
  36. -@ echo " "
  37. $(CC) $(YCFLAGS) -c $< -o $@.o
  38. $(CC) $(YLDFLAGS) --static $@.o -o $@
  39. -./$@
  40. -./$@
  41. -@ echo " "
  42. ctype: ctype.c testsuite.h Makefile $(TOPDIR)libc.a
  43. -@ echo "-------"
  44. -@ echo " "
  45. -@ echo "Testing ctype functions: "
  46. -@ echo " "
  47. $(CC) $(XCFLAGS) -c $< -o $@.o
  48. $(CC) $(XLDFLAGS) $@.o -o $@ $(EXTRA_LIBS)
  49. -./$@
  50. -@ echo " "
  51. ctype_glibc: ctype.c testsuite.h Makefile $(TOPDIR)libc.a
  52. -@ echo "-------"
  53. -@ echo " "
  54. -@ echo "Testing ctype functions: "
  55. -@ echo " "
  56. $(CC) $(YCFLAGS) -c $< -o $@.o
  57. $(CC) $(YLDFLAGS) --static $@.o -o $@
  58. -./$@
  59. -./$@
  60. -@ echo " "
  61. hello_source:
  62. -@ rm -f $(TARGETS)
  63. -@ echo "-------"
  64. -@ echo "hello.c source: "
  65. -@ echo " "
  66. -@ cat hello.c
  67. -@ echo " "
  68. hello: hello.c Makefile $(TOPDIR)libc.a
  69. -@ echo "-------"
  70. -@ echo " "
  71. -@ echo "Compiling vs uC-Libc: "
  72. -@ echo " "
  73. $(CC) $(XCFLAGS) -c $< -o $@.o
  74. $(CC) $(XLDFLAGS) $@.o -o $@ $(EXTRA_LIBS)
  75. $(STRIP)
  76. -ldd $@
  77. ls $(LSFLAGS) $@
  78. -./$@
  79. -@ echo " "
  80. hello_glibc: hello.c Makefile $(TOPDIR)libc.a
  81. -@ echo "-------"
  82. -@ echo " "
  83. -@ echo "Compiling vs GNU libc: "
  84. -@ echo " "
  85. $(CC) $(YCFLAGS) -c $< -o $@.o
  86. $(CC) $(YLDFLAGS) --static $@.o -o $@
  87. $(STRIP)
  88. -ldd $@
  89. ls $(LSFLAGS) $@
  90. -./$@
  91. -@ echo " "
  92. testmalloc_source:
  93. -@ echo "-------"
  94. -@ echo "testmalloc.c source: "
  95. -@ echo " "
  96. -@ cat testmalloc.c
  97. -@ echo " "
  98. testmalloc: testmalloc.c Makefile $(TOPDIR)libc.a
  99. -@ echo "-------"
  100. -@ echo " "
  101. -@ echo "Compiling vs uC-Libc: "
  102. -@ echo " "
  103. $(CC) $(XCFLAGS) -c $< -o $@.o
  104. $(CC) $(XLDFLAGS) $@.o -o $@ $(EXTRA_LIBS)
  105. $(STRIP)
  106. -ldd $@
  107. ls $(LSFLAGS) $@
  108. -./$@
  109. -@ echo " "
  110. testmalloc_glibc: testmalloc.c Makefile $(TOPDIR)libc.a
  111. -@ echo "-------"
  112. -@ echo " "
  113. -@ echo "Compiling vs GNU libc: "
  114. -@ echo " "
  115. $(CC) $(YCFLAGS) -c $< -o $@.o
  116. $(CC) $(YLDFLAGS) --static $@.o -o $@
  117. $(STRIP)
  118. -ldd $@
  119. ls $(LSFLAGS) $@
  120. -./$@
  121. -@ echo " "
  122. teststrtol_source:
  123. -@ echo "-------"
  124. -@ echo "teststrtol.c source: "
  125. -@ echo " "
  126. -@ cat teststrtol.c
  127. -@ echo " "
  128. teststrtol: teststrtol.c Makefile $(TOPDIR)libc.a
  129. -@ echo "-------"
  130. -@ echo " "
  131. -@ echo "Compiling vs uC-Libc: "
  132. -@ echo " "
  133. $(CC) $(XCFLAGS) -c $< -o $@.o
  134. $(CC) $(XLDFLAGS) $@.o -o $@ $(EXTRA_LIBS)
  135. $(STRIP)
  136. ldd $@
  137. ls -sh $@
  138. -./$@ | tee $@.out
  139. -@ echo " "
  140. teststrtol_glibc: teststrtol.c Makefile $(TOPDIR)libc.a
  141. -@ echo "-------"
  142. -@ echo " "
  143. -@ echo "Compiling vs GNU libc: "
  144. -@ echo " "
  145. $(CC) $(YCFLAGS) -c $< -o $@.o
  146. $(CC) $(YLDFLAGS) --static $@.o -o $@
  147. $(STRIP)
  148. ldd $@
  149. ls -sh $@
  150. -./$@ | tee $@.out
  151. -@ echo " "
  152. teststrtol_diff: teststrtol_glibc teststrtol
  153. -@ echo "-------"
  154. -@ echo " "
  155. -@ echo "Diffing output: "
  156. -@ echo " "
  157. -diff -u teststrtol_glibc.out teststrtol.out
  158. -@ echo " "
  159. clean:
  160. rm -f *.[oa] *~ core $(TARGETS)