Makefile 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. TOPDIR=../../
  2. include $(TOPDIR)Rules.mak
  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. XCFLAGS = -Wall -g -fno-builtin -nostdinc \
  10. -I$(TOPDIR)include -I/usr/include/linux
  11. XLDFLAGS = -nostdlib -gc-sections
  12. EXTRA_LIBS=$(TOPDIR)libc.a -lgcc
  13. YCFLAGS = -Wall -Os -fomit-frame-pointer
  14. YLDFLAGS = -s --static
  15. # Allow alternative stripping tools to be used...
  16. ifndef $(STRIPTOOL)
  17. STRIPTOOL = strip
  18. endif
  19. STRIP = $(STRIPTOOL) --remove-section=.note --remove-section=.comment $@
  20. TARGETS=string string_glibc
  21. TARGETS+=testcopy testcopy_glibc
  22. all: $(TARGETS)
  23. string: string.c Makefile $(TOPDIR)libc.a
  24. -@ echo "-------"
  25. -@ echo " "
  26. -@ echo "Compiling vs uClibc: "
  27. -@ echo " "
  28. $(CC) $(XCFLAGS) -c $< -o $@.o
  29. $(CC) $(XLDFLAGS) $@.o -o $@ $(EXTRA_LIBS)
  30. -./$@
  31. -@ echo " "
  32. string_glibc: string.c Makefile $(TOPDIR)libc.a
  33. -@ echo "-------"
  34. -@ echo " "
  35. -@ echo "Compiling vs GNU libc: "
  36. -@ echo " "
  37. $(CC) $(YCFLAGS) -c $< -o $@.o
  38. $(CC) $(YLDFLAGS) --static $@.o -o $@
  39. -./$@
  40. -@ echo " "
  41. testcopy: testcopy.c Makefile $(TOPDIR)libc.a
  42. -@ echo "-------"
  43. -@ echo " "
  44. -@ echo "Compiling vs uClibc: "
  45. -@ echo " "
  46. $(CC) $(XCFLAGS) -c $< -o $@.o
  47. $(CC) $(XLDFLAGS) $@.o -o $@ $(EXTRA_LIBS)
  48. -./$@ > testcopy.out
  49. -@ echo " "
  50. testcopy_glibc: testcopy.c Makefile $(TOPDIR)libc.a
  51. -@ echo "-------"
  52. -@ echo " "
  53. -@ echo "Compiling vs GNU libc: "
  54. -@ echo " "
  55. $(CC) $(YCFLAGS) -c $< -o $@.o
  56. $(CC) $(YLDFLAGS) --static $@.o -o $@
  57. -./$@ > testcopy.gnu.out
  58. -@ echo " "
  59. testcopy_diff: testcopy testcopy_glibc
  60. -@ echo "-------"
  61. -@ echo " "
  62. -@ echo "Diffing output: "
  63. -@ echo " "
  64. -diff -u testcopy.gnu.out testcopy.out
  65. -@ echo " "
  66. clean:
  67. rm -f *.[oa] *~ core $(TARGETS)