Makefile.arch 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # Makefile for uClibc
  2. #
  3. # Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
  4. #
  5. # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
  6. #
  7. CSRC := brk.c ioperm.c iopl.c mmap.c __syscall_error.c
  8. ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y)
  9. CSRC += sigaction.c
  10. endif
  11. SSRC := \
  12. __longjmp.S setjmp.S bsd-setjmp.S \
  13. bsd-_setjmp.S sigrestorer.S mmap64.S \
  14. vfork.S clone.S
  15. ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
  16. SSRC += libc-aeabi_read_tp.S libc-thumb_atomics.S
  17. endif
  18. ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
  19. CSRC += posix_fadvise.c posix_fadvise64.c
  20. endif
  21. # Is our compiler set up for EABI ?
  22. IS_EABI:=$(shell $(CC) $(CFLAGS) -x c - -E -dM </dev/null 2>/dev/null \
  23. |sed -r -e '/^\#[[:space:]]*define[[:space:]]+__ARM_EABI__([[:space:]]+1)?$$/!d; s/.+/y/;' \
  24. )
  25. ifeq ($(IS_EABI),y)
  26. CSRC += aeabi_assert.c aeabi_atexit.c aeabi_errno_addr.c \
  27. aeabi_localeconv.c aeabi_memclr.c aeabi_memcpy.c \
  28. aeabi_memmove.c aeabi_memset.c find_exidx.c
  29. SSRC += syscall-eabi.S
  30. ARCH_OBJ_FILTEROUT := syscall.c
  31. ifeq ($(UCLIBC_HAS_WCHAR),y)
  32. CSRC += aeabi_mb_cur_max.c
  33. endif
  34. else
  35. CSRC += syscall.c
  36. endif
  37. ifeq ($(IS_EABI),y)
  38. libc-static-y += $(ARCH_OUT)/aeabi_lcsts.o $(ARCH_OUT)/aeabi_math.o \
  39. $(ARCH_OUT)/aeabi_sighandlers.o
  40. libc-nonshared-y += $(ARCH_OUT)/aeabi_lcsts.os $(ARCH_OUT)/aeabi_math.os \
  41. $(ARCH_OUT)/aeabi_sighandlers.os
  42. libc-shared-y += $(ARCH_OUT)/aeabi_unwind_cpp_pr1.os
  43. endif