Makefile 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. TOPDIR = ../../
  2. include $(TOPDIR)Rules.mak
  3. # NOTE: This may need to be modified on each system.
  4. # If your default dynamic linker works, comment this out.
  5. #DYNAMIC_LINKER = /lib/ld-linux.so.1
  6. DYNAMIC_LINKER = $(shell ls /lib/ld*.so.[0-9] | sort | tail -n 1)
  7. UCLIBC_DIR = $(shell (cd ../.. ; /bin/pwd))
  8. GCC_BIN = $(CC)
  9. GCC_LIB = $(shell $(CC) -print-libgcc-file-name )
  10. #GCCINCDIR inherited from Rules.mak
  11. NATIVE_ARCH = $(shell uname -m | sed -e 's/i.86/i386/' -e 's/sparc.*/sparc/' -e 's/arm.*/arm/g' -e 's/m68k.*/m68k/')
  12. GCC_UCLIBC = gcc-uClibc-cross
  13. ifeq ($(TARGET_ARCH), $(NATIVE_ARCH))
  14. GCC_UCLIBC = gcc-uClibc-native
  15. endif
  16. all: $(GCC_UCLIBC)
  17. clean:
  18. rm -f gcc-uClibc.h gcc-uClibc-* core
  19. gcc-uClibc.h: clean
  20. @echo "/* this file is created by make */" > gcc-uClibc.h
  21. @echo "#define UCLIBC_DIR " \"$(UCLIBC_DIR)/\" >> gcc-uClibc.h
  22. @echo "#define GCC_BIN " \"$(GCC_BIN)\" >> gcc-uClibc.h
  23. @echo "#define GCC_LIB " \"$(GCC_LIB)\" >> gcc-uClibc.h
  24. @echo "#define GCC_INCDIR " \"-I$(GCCINCDIR)/\" >> gcc-uClibc.h
  25. @echo "#define TARGET_ARCH " \"$(TARGET_ARCH)\" >> gcc-uClibc.h
  26. @echo "#define DYNAMIC_LINKER " \"$(DYNAMIC_LINKER)\" >> gcc-uClibc.h
  27. # uClibc built for native environment, so why not use it ;-)
  28. # Use the system libc instead of uClibc, to facilitate bootstrapping
  29. # new architectures.
  30. #gcc-uClibc-native: gcc-uClibc.h gcc-uClibc.c
  31. # $(CC) $(CFLAGS) -nostdinc -I$(UCLIBC_DIR)/include -I$(GCC_INC) \
  32. # -Wl,-static gcc-uClibc.c \
  33. # $(UCLIBC_DIR)/crt0.o \
  34. # -nostdlib $(GCC_LIB) $(UCLIBC_DIR)/libc.a \
  35. # -s -o gcc-uClibc-$(TARGET_ARCH) #-DDEBUG
  36. gcc-uClibc-native: gcc-uClibc.h gcc-uClibc.c
  37. # don't use CFLAGS since may not be appropriate
  38. gcc -s gcc-uClibc.c -o gcc-uClibc-$(TARGET_ARCH)
  39. gcc-uClibc-cross: gcc-uClibc.h gcc-uClibc.c
  40. # don't use CFLAGS since may not be appropriate
  41. gcc -s gcc-uClibc.c -o gcc-uClibc-$(TARGET_ARCH)