From fe774e4e70a4538f226ad0ed6db2380aae58c7c2 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 28 Feb 2006 01:04:16 +0000 Subject: add support for glibc initfini.c --- Makerules | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) (limited to 'Makerules') diff --git a/Makerules b/Makerules index e6a236fb4..be52e247f 100644 --- a/Makerules +++ b/Makerules @@ -196,16 +196,38 @@ $(CRTS): $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/$(CRT).S $(compile.S) $(Q)$(STRIPTOOL) -x -R .note -R .comment $@ +ifeq ($(UCLIBC_CTOR_DTOR),y) CTOR_TARGETS=$(top_builddir)lib/crti.o $(top_builddir)lib/crtn.o +else +CTOR_TARGETS:= +endif -ifeq ($(UCLIBC_CTOR_DTOR),y) -$(CTOR_TARGETS): $(top_builddir)lib/%.o : $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/%.S +ifneq ($(wildcard $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/initfini.c),) +$(top_builddir)lib/initfini.s: $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/initfini.c + $(compile.c) -S -finhibit-size-directive + +$(top_builddir)lib/defs.h: $(top_builddir)lib/initfini.s + $(Q)sed -n -e '/@TESTS_BEGIN/,/@TESTS_END/p' $< | \ + gawk -f $(top_srcdir)extra/scripts/defs.awk > $@.tmp + $(Q)mv $@.tmp $@ + +$(top_builddir)lib/crti.S: $(top_builddir)lib/initfini.s $(top_builddir)lib/defs.h + $(Q)sed -n -e '1,/@HEADER_ENDS/p' \ + -e '/@_.*_PROLOG_BEGINS/,/@_.*_PROLOG_ENDS/p' \ + -e '/@TRAILER_BEGINS/,$$p' $< > $@ + +$(top_builddir)lib/crtn.S: $(top_builddir)lib/initfini.s + $(Q)sed -n -e '1,/@HEADER_ENDS/p' \ + -e '/@_.*_EPILOG_BEGINS/,/@_.*_EPILOG_ENDS/p' \ + -e '/@TRAILER_BEGINS/,$$p' $< > $@ + +$(CTOR_TARGETS): $(top_builddir)lib/%.o : $(top_builddir)lib/%.S $(Q)$(INSTALL) -d $(dir $@) $(compile.S) $(PICFLAG) $(SSP_DISABLE_FLAGS) else -$(CTOR_TARGETS): +$(CTOR_TARGETS): $(top_builddir)lib/%.o : $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/%.S $(Q)$(INSTALL) -d $(dir $@) - $(do_ar) + $(compile.S) $(PICFLAG) $(SSP_DISABLE_FLAGS) endif #ifeq ($(TARGET_ARCH),nios) -- cgit v1.2.3