Update __longjmp.S
[uclibc-ng.git] / libc / sysdeps / linux / Makefile.commonarch
blob88309e45c2c375b3921415724aaed31c94946c86
1 # Makefile template to be included by sysdeps/linux/<ARCH>/Makefile.arch
3 # Copyright (C) 2000-2008 Erik Andersen <andersen@uclibc.org>
5 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
8 ARCH_DIR  := $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)
9 ARCH_OUT  := $(top_builddir)libc/sysdeps/linux/$(TARGET_ARCH)
11 ARCH_CSRC := $(addprefix $(ARCH_DIR)/,$(CSRC-y))
12 ARCH_COBJ := $(addprefix $(ARCH_OUT)/,$(CSRC-y:.c=.o))
13 ARCH_SSRC = $(addprefix $(ARCH_DIR)/,$(SSRC-y))
14 ARCH_SOBJ = $(patsubst %.s,%.o,$(patsubst %.S,%.o,$(addprefix $(ARCH_OUT)/,$(SSRC-y))))
16 ARCH_OBJS-y = $(ARCH_COBJ) $(ARCH_SOBJ)
18 libc-y         += $(ARCH_OBJS-y)
19 libc-nomulti-y += $(ARCH_SOBJ)
20 objclean-y     += CLEAN_$(subst $(top_builddir),,$(ARCH_OUT))
22 CFLAGS-OMIT-crt1.S := -D_LIBC_REENTRANT
23 CFLAGS-OMIT-crti.S := -D_LIBC_REENTRANT
24 CFLAGS-OMIT-crtn.S := -D_LIBC_REENTRANT
25 CFLAGS-OMIT-crtreloc.c := -D_LIBC_REENTRANT
26 CFLAGS-crti.S += $(PICFLAG)
27 CFLAGS-crtn.S += $(PICFLAG)
28 # Due to a "bug" in make these order_only prereqs inherit per-target flags.
29 # Attempt to workaround this inconvenient behaviour:
30 CFLAGS-OMIT-crt1.S += $(CFLAGS-rtld) -DIN_LIB=%
31 CFLAGS-OMIT-crtreloc.c += $(CFLAGS-rtld) -DIN_LIB=%
33 CLEAN_$(subst $(top_builddir),,$(ARCH_OUT)):
34         $(do_rm) $(addprefix $(ARCH_OUT)/*., o os oS) $(CTOR_TARGETS) $(CRTS)
36 ifneq ($(ARCH_HEADERS),)
38 ARCH_HEADERS_OUT := $(patsubst %,$(top_builddir)include/%,$(ARCH_HEADERS))
40 $(ARCH_HEADERS_OUT):
41         $(do_ln) $(call rel_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/$(@F) $@
43 headers-y += $(ARCH_HEADERS_OUT)
44 headers_clean-y += HEADERCLEAN_$(subst $(top_builddir),,$(ARCH_OUT))
45 HEADERCLEAN_$(subst $(top_builddir),,$(ARCH_OUT)):
46         $(do_rm) $(ARCH_HEADERS_OUT)
47 endif
49 $(ARCH_OUT)/ucontext_i.h: $(top_srcdir)extra/scripts/gen-as-const.awk
50 $(ARCH_OUT)/ucontext_i.h: $(ARCH_DIR)/ucontext_i.sym
51         @$(disp_gen)
52         $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< \
53         | $(CC) $(CFLAGS) -x c - -S -o - \
54         | $(SED) $(PTHREAD_GENERATE_MANGLE) > $@
55         @if test ! -s $@ ; then rm -f $@ ; false ; fi
57 pregen-headers-$(UCLIBC_HAS_CONTEXT_FUNCS) += $(ARCH_OUT)/ucontext_i.h
59 headers_clean-$(UCLIBC_HAS_CONTEXT_FUNCS) += \
60         HEADERCLEAN_$(subst $(top_builddir),,$(ARCH_OUT)/ucontext_i)
62 HEADERCLEAN_$(subst $(top_builddir),,$(ARCH_OUT)/ucontext_i):
63         $(do_rm) $(addprefix $(ARCH_OUT)/ucontext_i., c h s)