summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/Makefile.arch
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-11-04 23:55:18 +0000
committerMike Frysinger <vapier@gentoo.org>2005-11-04 23:55:18 +0000
commit4ed896210a0bd7597bf9c9df0909af4a6fc6d881 (patch)
tree84c7dbf60c0f8991b857e3dac6f0f43f388b3d73 /libc/sysdeps/linux/Makefile.arch
parentf3adfd4dece9cce115d4740465b32e019b534da7 (diff)
unify common code thus making arch-specific Makefiles very simple :)
Diffstat (limited to 'libc/sysdeps/linux/Makefile.arch')
-rw-r--r--libc/sysdeps/linux/Makefile.arch44
1 files changed, 44 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/Makefile.arch b/libc/sysdeps/linux/Makefile.arch
new file mode 100644
index 000000000..776fff235
--- /dev/null
+++ b/libc/sysdeps/linux/Makefile.arch
@@ -0,0 +1,44 @@
+# Makefile template to be included by sysdeps/linux/<ARCH>/Makefile.arch
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+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,$(SSRC))
+ARCH_SOBJ := $(patsubst %.S,$(ARCH_OUT)/%.o,$(SSRC))
+
+ARCH_OBJS := $(ARCH_COBJ) $(ARCH_SOBJ)
+
+crt-y := create
+libc-a-y += $(ARCH_OBJS)
+libc-so-y += $(ARCH_OBJS:.o=.os)
+libc-multi-y += $(ARCH_CSRC)
+libc-nomulti-y += $(ARCH_SOBJ)
+objclean-y += arch_objclean
+
+arch_objclean:
+ $(RM) $(ARCH_OUT)/*.{o,os} $(CTOR_TARGETS) $(CRTS)
+
+ifneq ($(ARCH_HEADERS),)
+
+ARCH_HEADERS_IN := $(patsubst %,$(ARCH_DIR)/%,$(ARCH_HEADERS))
+ARCH_HEADERS_OUT := $(patsubst %,$(top_builddir)include/%,$(ARCH_HEADERS))
+
+headers-y += arch_headers
+arch_headers:
+ $(SECHO) $(LN) -fs $(ARCH_HEADERS) $(top_builddir)include/
+ @for h in $(ARCH_HEADERS_IN) ; do \
+ $(LN) -fs ../libc/sysdeps/linux/$(TARGET_ARCH)/$$h $(top_builddir)include/ ; \
+ done
+
+headers_clean-y += arch_headers_clean
+arch_headers_clean:
+ $(RM) $(ARCH_HEADERS_OUT)
+
+endif