# Makefile for uClibc
#
# Copyright (C) 2000-2008 Erik Andersen <andersen@uclibc.org>
#
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#

subdirs += libc/signal

CSRC-y := allocrtsig.c killpg.c sigaction.c sigaddset.c sigandset.c \
	sigdelset.c sigempty.c sigfillset.c \
	sigisempty.c sigismem.c sigjmp.c signal.c \
	sigorset.c sigsetops.c sigwait.c
CSRC-$(UCLIBC_HAS_OBSOLETE_BSD_SIGNAL) += \
	sighold.c sigignore.c sigrelse.c sigset.c
CSRC-$(UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL) += sysv_signal.c
CSRC-$(UCLIBC_SUSV4_LEGACY) += sigintr.c sigpause.c

# only use simple raise.c when threads are disabled
ifeq ($(UCLIBC_HAS_THREADS),)
CSRC-y += raise.c
endif

ifneq ($(strip $(ARCH_OBJS-y)),)
CSRC-y := $(filter-out $(notdir $(ARCH_OBJS-y:.o=.c)),$(CSRC-y))
endif

ifneq ($(UCLIBC_HAS_BACKTRACE),)
CFLAGS-raise.c = -fasynchronous-unwind-tables
endif

SIGNAL_DIR := $(top_srcdir)libc/signal
SIGNAL_OUT := $(top_builddir)libc/signal

SIGNAL_SRC := $(patsubst %.c,$(SIGNAL_DIR)/%.c,$(CSRC-y))
SIGNAL_OBJ := $(patsubst %.c,$(SIGNAL_OUT)/%.o,$(CSRC-y))

libc-y += $(SIGNAL_OBJ)

objclean-y += CLEAN_libc/signal

CLEAN_libc/signal:
	$(do_rm) $(addprefix $(SIGNAL_OUT)/*., o os)
