xtensa: preliminary support for upcoming FDPIC support in uClibc-ng
[openadk.git] / toolchain / binutils / Makefile
blob5e2431165afb5dc07ade59ba6874d42cdd93c3fd
1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 include $(ADK_TOPDIR)/rules.mk
5 include Makefile.inc
6 include ../rules.mk
7 include ${ADK_TOPDIR}/mk/buildhlp.mk
9 ifeq ($(ADK_TOOLCHAIN_WITH_SSP),y)
10 CONFOPTS+= --enable-libssp
11 else
12 CONFOPTS+= --disable-libssp
13 endif
15 ifeq ($(ADK_TOOLCHAIN_WITH_LTO),y)
16 CONFOPTS+= --enable-lto --enable-plugins
17 else
18 CONFOPTS+= --disable-lto --disable-plugins
19 endif
21 ifeq ($(ADK_TOOLCHAIN_WITH_GOLD),y)
22 ifeq ($(ADK_TARGET_USE_GOLD),y)
23 CONFOPTS+= --enable-gold=default
24 else
25 CONFOPTS+= --enable-gold
26 endif
27 else
28 CONFOPTS+= --disable-gold
29 endif
31 ifeq ($(ADK_TARGET_ARCH_ARC),y)
32 CONFOPTS+= --enable-lto --enable-plugins
33 endif
35 ifeq ($(ADK_TARGET_ARCH_X86_64)$(ADK_TARGET_CPU_CF),)
36 CONFOPTS+= --disable-multilib
37 else
38 CONFOPTS+= --enable-multilib
39 endif
41 ifeq (${ADK_MAKE_PARALLEL},y)
42 BINUTILS_MAKEOPTS+= -j${ADK_MAKE_JOBS}
43 endif
45 $(WRKBUILD)/.configured:
46 ifeq ($(ADK_TARGET_ARCH_XTENSA),y)
47 ifeq ($(ADK_TARGET_ABI),)
48 tar xf $(ADK_TOPDIR)/target/xtensa/overlay/xtensa_$(ADK_TARGET_CPU_TYPE).tar \
49 --strip-components=1 -C $(WRKSRC) binutils
50 else
51 tar xf $(ADK_TOPDIR)/target/xtensa/overlay/xtensa_$(ADK_TARGET_CPU_TYPE)_$(ADK_TARGET_ABI).tar \
52 --strip-components=1 -C $(WRKSRC) binutils
53 endif
54 endif
55 (cd $(WRKBUILD); PATH='$(HOST_PATH)' \
56 MAKEINFO=true \
57 M4='${STAGING_HOST_DIR}/usr/bin/m4' \
58 $(WRKBUILD)/configure \
59 --prefix=$(TOOLCHAIN_DIR)/usr \
60 --target=$(GNU_TARGET_NAME) \
61 --with-sysroot=$(STAGING_TARGET_DIR) \
62 --disable-dependency-tracking \
63 --disable-libtool-lock \
64 --disable-nls \
65 --disable-sim \
66 --disable-gdb \
67 --enable-obsolete \
68 --disable-werror \
69 --disable-gprof \
70 --disable-install-libiberty \
71 ${CONFOPTS} \
73 PATH='$(HOST_PATH)' $(MAKE) ${BINUTILS_MAKEOPTS} MAKEINFO=true -C $(WRKBUILD) configure-host
74 touch $@
76 $(WRKBUILD)/.compiled: $(WRKBUILD)/.configured
77 PATH='$(HOST_PATH)' $(MAKE) ${BINUTILS_MAKEOPTS} MAKEINFO=true -C $(WRKBUILD) all
78 touch $@
80 $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
81 PATH='$(HOST_PATH)' $(MAKE) MAKEINFO=true -C $(WRKBUILD) install
82 ifeq ($(ADK_TARGET_ARCH_KVX)$(ADK_TARGET_ARCH_H8300)$(ADK_TARGET_ARCH_NDS32)$(ADK_TARGET_ARCH_SH),y)
83 $(INSTALL_DIR) $(STAGING_TARGET_DIR)/usr/lib/ldscripts
84 $(CP) $(WRKBUILD)/ld/ldscripts/* $(STAGING_TARGET_DIR)/usr/lib/ldscripts/
85 endif
86 ifeq ($(ADK_TARGET_USE_GOLD),y)
87 (cd $(TOOLCHAIN_DIR)/usr/bin && \
88 ln -sf $(GNU_TARGET_NAME)-ld.gold $(GNU_TARGET_NAME)-ld)
89 else
90 ifeq (ADK_TOOLCHAIN_BINUTILS_AVR32),)
91 (cd $(TOOLCHAIN_DIR)/usr/bin && \
92 ln -sf $(GNU_TARGET_NAME)-ld.bfd $(GNU_TARGET_NAME)-ld)
93 endif
94 endif
95 touch $@
97 include ${ADK_TOPDIR}/mk/toolchain.mk