diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-11-04 23:55:18 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-11-04 23:55:18 +0000 |
commit | 4ed896210a0bd7597bf9c9df0909af4a6fc6d881 (patch) | |
tree | 84c7dbf60c0f8991b857e3dac6f0f43f388b3d73 /libc/sysdeps/linux/Makefile.arch | |
parent | f3adfd4dece9cce115d4740465b32e019b534da7 (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.arch | 44 |
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 |