Browse Source

buildsys: use kbuild style

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer 11 years ago
parent
commit
d0234b16d6

+ 1 - 0
TODO

@@ -88,6 +88,7 @@ TODO list for the uClibc 1.0.0 release:
     *) Cleanup/scrub all the Makefile copyright junk
     *) Fix dlopen, for both static and dynamic cases, and make it
 	fully comply with SuSv3
+    *) check if sched_getcpu is only pulled in where it should be
 
 
 TODO list for AFTER the uClibc 1.0.0 release:

+ 3 - 5
libc/signal/Makefile.in

@@ -16,12 +16,10 @@ CSRC-$(UCLIBC_HAS_OBSOLETE_BSD_SIGNAL) += \
 CSRC-$(UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL) += sysv_signal.c
 CSRC-$(UCLIBC_SUSV4_LEGACY) += sigintr.c sigpause.c
 
-ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
-CSRC-y:=$(filter-out raise.c,$(CSRC-y))
-endif
+CSRC-$(UCLIBC_HAS_THREADS_NATIVE):=$(filter-out raise.c,$(CSRC-y))
 
-ifneq ($(strip $(ARCH_OBJS)),)
-CSRC-y := $(filter-out $(notdir $(ARCH_OBJS:.o=.c)),$(CSRC-y))
+ifneq ($(strip $(ARCH_OBJS-y)),)
+CSRC-y := $(filter-out $(notdir $(ARCH_OBJS-y:.o=.c)),$(CSRC-y))
 endif
 
 ifneq ($(UCLIBC_HAS_BACKTRACE),)

+ 6 - 6
libc/sysdeps/linux/Makefile.commonarch

@@ -8,15 +8,15 @@
 ARCH_DIR  := $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)
 ARCH_OUT  := $(top_builddir)libc/sysdeps/linux/$(TARGET_ARCH)
 
-ARCH_CSRC := $(patsubst %.c,$(ARCH_DIR)/%.c,$(CSRC))
-ARCH_COBJ := $(patsubst %.c,$(ARCH_OUT)/%.o,$(CSRC))
-ARCH_SSRC = $(patsubst %.s,$(ARCH_DIR)/%.s,$(patsubst %.S,$(ARCH_DIR)/%.S,$(SSRC)))
-ARCH_SOBJ = $(patsubst %.s,$(ARCH_OUT)/%.o,$(patsubst %.S,$(ARCH_OUT)/%.o,$(SSRC)))
+ARCH_CSRC := $(addprefix $(ARCH_DIR)/,$(CSRC-y))
+ARCH_COBJ := $(addprefix $(ARCH_OUT)/,$(CSRC-y:.c=.o))
+ARCH_SSRC = $(addprefix $(ARCH_DIR)/,$(SSRC-y))
+ARCH_SOBJ = $(patsubst %.s,%.o,$(patsubst %.S,%.o,$(addprefix $(ARCH_OUT)/,$(SSRC-y))))
 
-ARCH_OBJS = $(ARCH_COBJ) $(ARCH_SOBJ)
+ARCH_OBJS-y = $(ARCH_COBJ) $(ARCH_SOBJ)
 
 crt-y          := FORCE
-libc-y         += $(ARCH_OBJS)
+libc-y         += $(ARCH_OBJS-y)
 libc-nomulti-y += $(ARCH_SOBJ)
 objclean-y     += CLEAN_$(subst $(top_builddir),,$(ARCH_OUT))
 

+ 2 - 2
libc/sysdeps/linux/alpha/Makefile.arch

@@ -5,9 +5,9 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := __syscall_error.c sigprocmask.c
+CSRC-y := __syscall_error.c sigprocmask.c
 
-SSRC := \
+SSRC-y := \
 	__longjmp.S brk.S bsd-_setjmp.S bsd-setjmp.S clone.S \
 	divl.S divq.S pipe.S reml.S remq.S __syscall_rt_sigaction.S setjmp.S \
 	syscall.S

+ 22 - 28
libc/sysdeps/linux/arm/Makefile.arch

@@ -5,46 +5,40 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := brk.c ioperm.c iopl.c __syscall_error.c sigaction.c
+CSRC-y := brk.c ioperm.c iopl.c __syscall_error.c sigaction.c
 
-SSRC := \
+SSRC-y := \
 	__longjmp.S setjmp.S bsd-setjmp.S \
 	bsd-_setjmp.S sigrestorer.S mmap64.S \
 	vfork.S clone.S
 
-ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
-SSRC += libc-aeabi_read_tp.S libc-thumb_atomics.S
-endif
-
-ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
-CSRC += posix_fadvise.c
-endif
+SSRC-$(UCLIBC_HAS_THREADS_NATIVE) += libc-aeabi_read_tp.S libc-thumb_atomics.S
+CSRC-$(UCLIBC_HAS_ADVANCED_REALTIME) += posix_fadvise.c
+CSRC-$(UCLIBC_HAS_CONTEXT_FUNCS) += makecontext.c
+SSRC-$(UCLIBC_HAS_CONTEXT_FUNCS) += getcontext.S setcontext.S swapcontext.S
 
 # Is our compiler set up for EABI ?
 CC_IS_EABI_CHECK = $(filter-out -include libc-symbols.h,$(CC) $(CFLAGS))
 $(eval $(call cache-output-var,IS_EABI,$(CC_IS_EABI_CHECK) -x c - -E -dM </dev/null 2>/dev/null | grep __ARM_EABI__ 2>&1 >/dev/null && echo 'y'))
 
-ifeq ($(IS_EABI),y)
-CSRC += aeabi_assert.c aeabi_atexit.c aeabi_errno_addr.c \
+CSRC-$(IS_EABI) += aeabi_assert.c aeabi_atexit.c aeabi_errno_addr.c \
 	aeabi_localeconv.c aeabi_memclr.c aeabi_memcpy.c \
 	aeabi_memmove.c aeabi_memset.c find_exidx.c
-SSRC += syscall-eabi.S
-ARCH_OBJ_FILTEROUT := syscall.c
-ifeq ($(UCLIBC_HAS_WCHAR),y)
-CSRC += aeabi_mb_cur_max.c
-endif
-else
-CSRC += syscall.c
-endif
-
+SSRC-$(IS_EABI) += syscall-eabi.S
+CSRC-$(if $(IS_EABI),,y)) += syscall.c
+ARCH_OBJ_FILTEROUT-$(IS_EABI) := syscall.c
 ifeq ($(IS_EABI),y)
-libc-static-y += $(ARCH_OUT)/aeabi_lcsts.o $(ARCH_OUT)/aeabi_math.o \
-	$(ARCH_OUT)/aeabi_sighandlers.o
-libc-nonshared-y += $(ARCH_OUT)/aeabi_lcsts.os $(ARCH_OUT)/aeabi_math.os \
-	$(ARCH_OUT)/aeabi_sighandlers.os $(ARCH_OUT)/aeabi_unwind_cpp_pr1.o
+CSRC-$(UCLIBC_HAS_WCHAR) += aeabi_mb_cur_max.c
 endif
 
-ifeq ($(UCLIBC_HAS_CONTEXT_FUNCS),y)
-CSRC += makecontext.c
-SSRC += getcontext.S setcontext.S swapcontext.S
-endif
+libc-static-$(IS_EABI) += $(addprefix $(ARCH_OUT)/, \
+	aeabi_lcsts.o \
+	aeabi_math.o \
+	aeabi_sighandlers.o \
+	)
+libc-nonshared-$(IS_EABI) += $(addprefix $(ARCH_OUT)/, \
+	aeabi_lcsts.os \
+	aeabi_math.os \
+	aeabi_sighandlers.os \
+	aeabi_unwind_cpp_pr1.o \
+	)

+ 2 - 2
libc/sysdeps/linux/avr32/Makefile.arch

@@ -5,7 +5,7 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC	:= brk.c clone.c mmap.c prctl.c sigaction.c
+CSRC-y	:= brk.c clone.c mmap.c prctl.c sigaction.c
 
-SSRC	:= __longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S	\
+SSRC-y	:= __longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S	\
 		sigrestorer.S syscall.S vfork.S

+ 3 - 5
libc/sysdeps/linux/bfin/Makefile.arch

@@ -5,13 +5,11 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := bsdsetjmp.c clone.c \
+CSRC-y := bsdsetjmp.c clone.c \
 	sram-alloc.c sram-free.c dma-memcpy.c
 
-ifeq ($(UCLIBC_LINUX_SPECIFIC),y)
-CSRC += cacheflush.c
-endif
+SSRC-y := __longjmp.S setjmp.S bsd-_setjmp.S
 
-SSRC := __longjmp.S setjmp.S bsd-_setjmp.S
+CSRC-$(UCLIBC_LINUX_SPECIFIC) += cacheflush.c
 
 ARCH_HEADERS := bfin_fixed_code.h bfin_l1layout.h bfin_sram.h

+ 2 - 3
libc/sysdeps/linux/c6x/Makefile.arch

@@ -5,7 +5,6 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := brk.c syscall.c prctl.c
-#CSRC :=
+CSRC-y := brk.c syscall.c prctl.c
 
-SSRC := __longjmp.S bsd-_setjmp.S bsd-setjmp.S clone.S setjmp.S _vfork.S
+SSRC-y := __longjmp.S bsd-_setjmp.S bsd-setjmp.S clone.S setjmp.S _vfork.S

+ 2 - 2
libc/sysdeps/linux/common/Makefile.in

@@ -100,8 +100,8 @@ CSRC-y := $(filter-out $(libc_a_CSRC) $(notdir $(libpthread_libc_OBJS:.o=.c)),$(
 SSRC := $(filter-out $(libc_a_SSRC) $(notdir $(libpthread_libc_OBJS:.o=.S)),$(SSRC))
 
 # fails for some reason
-ifneq ($(strip $(ARCH_OBJS)),)
-CSRC-y := $(filter-out $(notdir $(ARCH_OBJS:.o=.c)) $(ARCH_OBJ_FILTEROUT),$(CSRC-y))
+ifneq ($(strip $(ARCH_OBJS-y)),)
+CSRC-y := $(filter-out $(notdir $(ARCH_OBJS-y:.o=.c)) $(ARCH_OBJ_FILTEROUT-y),$(CSRC-y))
 endif
 
 CFLAGS-ssp.c := $(SSP_DISABLE_FLAGS)

+ 3 - 5
libc/sysdeps/linux/cris/Makefile.arch

@@ -5,9 +5,7 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := __init_brk.c brk.c sbrk.c
+CSRC-y := __init_brk.c brk.c sbrk.c
 
-SSRC := setjmp.S __longjmp.S clone.S sysdep.S syscall.S vfork.S
-ifeq ($(UNIFIED_SYSCALL),y)
-SSRC += __uClibc_syscall.S
-endif
+SSRC-y := setjmp.S __longjmp.S clone.S sysdep.S syscall.S vfork.S
+SSRC-$(UNIFIED_SYSCALL) += __uClibc_syscall.S

+ 2 - 2
libc/sysdeps/linux/hppa/Makefile.arch

@@ -5,7 +5,7 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := __syscall_error.c brk.c syscall.c
+CSRC-y := __syscall_error.c brk.c syscall.c
 
-SSRC := __longjmp.S bsd-_setjmp.S bsd-setjmp.S clone.S setjmp.S \
+SSRC-y := __longjmp.S bsd-_setjmp.S bsd-setjmp.S clone.S setjmp.S \
 	add_n.s lshift.s rshift.s sub_n.s udiv_qrnnd.s

+ 5 - 13
libc/sysdeps/linux/i386/Makefile.arch

@@ -5,20 +5,12 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := brk.c __syscall_error.c sigaction.c
+CSRC-y := brk.c __syscall_error.c sigaction.c
 
-SSRC := \
+SSRC-y := \
 	__longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S \
 	sync_file_range.S syscall.S mmap.S mmap64.S
 
-ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
-SSRC += posix_fadvise64.S
-endif
-
-ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y)
-SSRC += vfork.S clone.S
-endif
-
-ifeq ($(UCLIBC_HAS_CONTEXT_FUNCS),y)
-SSRC += makecontext.S setcontext.S getcontext.S swapcontext.S
-endif
+SSRC-$(UCLIBC_HAS_ADVANCED_REALTIME) += posix_fadvise64.S
+SSRC-$(if $(UCLIBC_HAS_THREADS_NATIVE),,y) += vfork.S clone.S
+SSRC-$(UCLIBC_HAS_CONTEXT_FUNCS) += makecontext.S setcontext.S getcontext.S swapcontext.S

+ 2 - 2
libc/sysdeps/linux/ia64/Makefile.arch

@@ -5,8 +5,8 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := __syscall_error.c
+CSRC-y := __syscall_error.c
 
-SSRC := \
+SSRC-y := \
 	__longjmp.S brk.S bsd-setjmp.S bsd-_setjmp.S clone2.S fork.S \
 	pipe.S setjmp.S syscall.S vfork.S

+ 2 - 2
libc/sysdeps/linux/m68k/Makefile.arch

@@ -5,6 +5,6 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := brk.c __syscall_error.c
+CSRC-y := brk.c __syscall_error.c
 
-SSRC := __longjmp.S bsd-_setjmp.S bsd-setjmp.S clone.S setjmp.S vfork.S
+SSRC-y := __longjmp.S bsd-_setjmp.S bsd-setjmp.S clone.S setjmp.S vfork.S

+ 2 - 2
libc/sysdeps/linux/microblaze/Makefile.arch

@@ -5,8 +5,8 @@
 #
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 
-CSRC := clone.c fixdfsi.c
+CSRC-y := clone.c fixdfsi.c
 
-SSRC := setjmp.S __longjmp.S vfork.S
+SSRC-y := setjmp.S __longjmp.S vfork.S
 
 ARCH_HEADERS := floatlib.h

+ 7 - 17
libc/sysdeps/linux/mips/Makefile.arch

@@ -5,29 +5,19 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := \
+CSRC-y := \
 	__longjmp.c  brk.c setjmp_aux.c \
 	pread_write.c sigaction.c _test_and_set.c
 
-ifeq ($(UCLIBC_LINUX_SPECIFIC),y)
-CSRC +=	cacheflush.c readahead.c sysmips.c
-endif
+SSRC-y := bsd-_setjmp.S bsd-setjmp.S setjmp.S syscall.S pipe.S syscall_error.S
 
-SSRC := bsd-_setjmp.S bsd-setjmp.S setjmp.S syscall.S pipe.S syscall_error.S
-
-ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
-CSRC += posix_fadvise.c posix_fadvise64.c
-endif
-
-ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y)
-SSRC += vfork.S clone.S
-endif
+CSRC-$(UCLIBC_LINUX_SPECIFIC) += cacheflush.c readahead.c sysmips.c
+CSRC-$(UCLIBC_HAS_ADVANCED_REALTIME) += posix_fadvise.c posix_fadvise64.c
+SSRC-$(if $(UCLIBC_HAS_THREADS_NATIVE),,y) += vfork.S clone.S
+SSRC-$(UCLIBC_HAS_CONTEXT_FUNCS) += makecontext.S setcontext.S getcontext.S \
+	swapcontext.S
 
 ASFLAGS-syscall_error.S += -D_LIBC_REENTRANT
 
 ARCH_HEADERS := sgidefs.h
 # regdef.h
-
-ifeq ($(UCLIBC_HAS_CONTEXT_FUNCS),y)
-SSRC += makecontext.S setcontext.S getcontext.S swapcontext.S
-endif

+ 2 - 2
libc/sysdeps/linux/nios/Makefile.arch

@@ -5,8 +5,8 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := brk.c crtbegin.c crtend.c
+CSRC-y := brk.c crtbegin.c crtend.c
 
-SSRC := \
+SSRC-y := \
 	__longjmp.S bsd-_setjmp.S bsd-setjmp.S setjmp.S \
 	clone.S vfork.S

+ 2 - 2
libc/sysdeps/linux/nios2/Makefile.arch

@@ -5,8 +5,8 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := brk.c syscall.c
+CSRC-y := brk.c syscall.c
 
-SSRC := \
+SSRC-y := \
 	__longjmp.S bsd-_setjmp.S bsd-setjmp.S setjmp.S \
 	vfork.S clone.S

+ 4 - 5
libc/sysdeps/linux/powerpc/Makefile.arch

@@ -5,14 +5,13 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := __syscall_error.c pread_write.c ioctl.c
+CSRC-y := __syscall_error.c pread_write.c ioctl.c
 
-SSRC := \
+SSRC-y := \
 	__longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S brk.S \
 	__uClibc_syscall.S syscall.S
-ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y)
-SSRC += clone.S vfork.S
-endif
+
+SSRC-$(if $(UCLIBC_HAS_THREADS_NATIVE),,y) += clone.S vfork.S
 
 ifeq ($(CONFIG_E500),y)
 ARCH_HEADERS := fenv.h

+ 4 - 9
libc/sysdeps/linux/sh/Makefile.arch

@@ -6,15 +6,10 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := \
+CSRC-y := \
 	pipe.c __init_brk.c brk.c sbrk.c pread_write.c
 
-ifeq ($(UCLIBC_LINUX_SPECIFIC),y)
-CSRC += cacheflush.c
-endif
+SSRC-y := setjmp.S __longjmp.S ___fpscr_values.S
 
-SSRC := setjmp.S __longjmp.S ___fpscr_values.S
-
-ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y)
-SSRC += clone.S vfork.S
-endif
+CSRC-$(UCLIBC_LINUX_SPECIFIC) += cacheflush.c
+SSRC-$(if $(UCLIBC_HAS_THREADS_NATIVE),,y) += clone.S vfork.S

+ 2 - 2
libc/sysdeps/linux/sh64/Makefile.arch

@@ -5,6 +5,6 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := __init_brk.c brk.c sbrk.c syscall.c
+CSRC-y := __init_brk.c brk.c sbrk.c syscall.c
 
-SSRC := setjmp.S __longjmp.S
+SSRC-y := setjmp.S __longjmp.S

+ 6 - 8
libc/sysdeps/linux/sparc/Makefile.arch

@@ -5,25 +5,23 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := brk.c __syscall_error.c sigaction.c
+CSRC-y := brk.c __syscall_error.c sigaction.c
 
-SSRC := \
+SSRC-y := \
 	__longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S \
 	syscall.S urem.S udiv.S umul.S sdiv.S rem.S pipe.S
 
-ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y)
-SSRC += fork.S vfork.S clone.S
-endif
+SSRC-$(if $(UCLIBC_HAS_THREADS_NATIVE),,y) += fork.S vfork.S clone.S
 
 # check weather __LONG_DOUBLE_128__ is defined (long double support)
 UCLIBC_SPARC_HAS_LONG_DOUBLE=$(shell if [ "x`$(CC) -E -dM -xc /dev/null 2>&1 | grep __LONG_DOUBLE_128__`" != "x" ]; then echo "y"; fi)
 ifeq ($(UCLIBC_SPARC_HAS_LONG_DOUBLE),y)
-CSRC += $(foreach f, \
+CSRC-y += $(addprefix soft-fp/, \
 	q_div.c   q_fle.c    q_mul.c   q_qtoll.c   q_stoq.c    \
 	mp_clz_tab.c  q_dtoq.c  q_flt.c    q_neg.c   q_qtos.c    q_sub.c    \
 	q_add.c      q_feq.c   q_fne.c    q_qtod.c  q_qtou.c    q_ulltoq.c  \
 	q_cmp.c      q_fge.c   q_itoq.c   q_qtoull.c  q_util.c    \
-	q_cmpe.c     q_fgt.c   q_lltoq.c  q_qtoi.c  q_sqrt.c    q_utoq.c, soft-fp/$(f))
+	q_cmpe.c     q_fgt.c   q_lltoq.c  q_qtoi.c  q_sqrt.c    q_utoq.c)
 else
-CSRC += qp_ops.c
+CSRC-y += qp_ops.c
 endif

+ 2 - 2
libc/sysdeps/linux/vax/Makefile.arch

@@ -6,5 +6,5 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := brk.c
-SSRC := __longjmp.S setjmp.S _setjmp.S clone.S
+CSRC-y := brk.c
+SSRC-y := __longjmp.S setjmp.S _setjmp.S clone.S

+ 7 - 15
libc/sysdeps/linux/x86_64/Makefile.arch

@@ -5,23 +5,15 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := brk.c __syscall_error.c sigaction.c
+CSRC-y := brk.c __syscall_error.c sigaction.c
 
-SSRC := \
+SSRC-y := \
 	__longjmp.S setjmp.S syscall.S bsd-setjmp.S bsd-_setjmp.S
 
-ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y)
-SSRC += vfork.S clone.S
-endif
-
+SSRC-$(if $(UCLIBC_HAS_THREADS_NATIVE),,y) += vfork.S clone.S
+ARCH_OBJ_FILTEROUT-$(UCLIBC_LINUX_SPECIFIC) := sched_getcpu.c
 ifeq ($(UCLIBC_LINUX_SPECIFIC),y)
-ARCH_OBJ_FILTEROUT = sched_getcpu.c
-ifeq ($(UCLIBC_HAS_TLS),y)
-SSRC += sched_getcpu.S
-endif
-endif
-
-ifeq ($(UCLIBC_HAS_CONTEXT_FUNCS),y)
-CSRC += makecontext.c
-SSRC += setcontext.S getcontext.S swapcontext.S __start_context.S
+SSRC-$(UCLIBC_HAS_TLS) += sched_getcpu.S
 endif
+CSRC-$(UCLIBC_HAS_CONTEXT_FUNCS) += makecontext.c
+SSRC-$(UCLIBC_HAS_CONTEXT_FUNCS) += setcontext.S getcontext.S swapcontext.S __start_context.S

+ 4 - 6
libc/sysdeps/linux/xtensa/Makefile.arch

@@ -5,11 +5,9 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
-CSRC := brk.c fork.c pread_write.c sigaction.c __syscall_error.c
+CSRC-y := brk.c fork.c pread_write.c sigaction.c __syscall_error.c
 
-ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
-    CSRC += posix_fadvise.c
-endif
-
-SSRC := bsd-_setjmp.S bsd-setjmp.S setjmp.S clone.S \
+SSRC-y := bsd-_setjmp.S bsd-setjmp.S setjmp.S clone.S \
 	sigrestorer.S syscall.S mmap.S windowspill.S __longjmp.S vfork.S
+
+CSRC-$(UCLIBC_HAS_ADVANCED_REALTIME) += posix_fadvise.c