5 kx
5 kx
5 kx COMPONENT_TARGETS = $(TOOLCHAIN_S8XX_NEWLIB)
5 kx
5 kx
5 kx FLAVOURS = static full
5 kx
5 kx
5 kx include ../../../build-system/config.mk
5 kx
5 kx
5 kx SOURCE_REQUIRES = sources/gcc
5 kx SOURCE_REQUIRES += sources/GNU/gmp
5 kx SOURCE_REQUIRES += sources/GNU/mpfr
5 kx SOURCE_REQUIRES += sources/GNU/mpc
5 kx
5 kx
5 kx ifneq ($(findstring newlib, $(TOOLCHAIN)),)
5 kx ifeq ($(FLAVOUR),static)
5 kx REQUIRES = core/newlib/2020.03.18^headers
5 kx endif
5 kx ifeq ($(FLAVOUR),full)
5 kx REQUIRES = core/newlib/2020.03.18^full
5 kx endif
5 kx endif
5 kx
5 kx
5 kx # ======= __END_OF_REQUIRES__ =======
5 kx
5 kx tar_xz_archive = $(SRC_PACKAGE_PATH)/gcc/gcc-arc-2020.03.16.tar.xz
5 kx tar_xz_archive_gmp = $(SRC_PACKAGE_PATH)/GNU/gmp/gmp-6.2.0.tar.xz
5 kx tar_xz_archive_mpfr = $(SRC_PACKAGE_PATH)/GNU/mpfr/mpfr-4.0.2.tar.xz
5 kx tar_gz_archive_mpc = $(SRC_PACKAGE_PATH)/GNU/mpc/mpc-1.1.0.tar.gz
5 kx SRC_ARCHIVE = $(tar_xz_archive)
5 kx SRC_DIR = $(TARGET_BUILD_DIR)/gcc-arc-2020.03.16
5 kx src_dir_name = gcc-arc-2020.03.16
5 kx src_done = $(TARGET_BUILD_DIR)/.source-done
5 kx gmp_src_done = $(TARGET_BUILD_DIR)/.gmp-source-done
5 kx mpfr_src_done = $(TARGET_BUILD_DIR)/.mpfr-source-done
5 kx mpc_src_done = $(TARGET_BUILD_DIR)/.mpc-source-done
5 kx
5 kx PATCHES = PATCHES
5 kx
5 kx build_dir = $(TARGET_BUILD_DIR)/build
5 kx
5 kx sysroot_dir = $(TOOLCHAIN_PATH)/$(TARGET)/sys-root
5 kx
5 kx static_build_target = $(TARGET_BUILD_DIR)/.static-built
5 kx static_install_target = $(TARGET_BUILD_DIR)/.static-installed
5 kx full_build_target = $(TARGET_BUILD_DIR)/.full-built
5 kx full_install_target = $(TARGET_BUILD_DIR)/.full-installed
5 kx
5 kx
5 kx LIBSUFFIX =
5 kx
5 kx
5 kx ifeq ($(FLAVOUR),static)
5 kx BUILD_TARGETS = $(static_build_target)
5 kx BUILD_TARGETS += $(static_install_target)
5 kx endif
5 kx
5 kx ifeq ($(FLAVOUR),full)
5 kx BUILD_TARGETS = $(full_build_target)
5 kx BUILD_TARGETS += $(full_install_target)
5 kx endif
5 kx
5 kx
5 kx include ../../../build-system/core.mk
5 kx
5 kx
5 kx ifeq ($(TOOLCHAIN),$(TOOLCHAIN_S8XX_NEWLIB))
5 kx extra_configure_switches = --with-cpu=arcem
5 kx extra_configure_switches += --disable-multilib
5 kx extra_configure_switches += --with-endian=little
5 kx extra_configure_switches += --disable-werror
5 kx ifeq ($(FLAVOUR),static)
5 kx extra_configure_switches += --enable-languages=c
5 kx else
5 kx extra_configure_switches += --enable-languages=c,c++
5 kx extra_configure_switches += --with-newlib
5 kx endif
5 kx endif
5 kx
5 kx
5 kx
5 kx $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
5 kx $(UNPACK_SRC_ARCHIVE)
5 kx $(APPLY_PATCHES)
5 kx @touch $@
5 kx
5 kx $(gmp_src_done): $(src_done)
5 kx @echo "Expanding $(tar_xz_archive_gmp)"
5 kx @tar xJf $(tar_xz_archive_gmp) -C $(TARGET_BUILD_DIR)
5 kx @cd $(SRC_DIR); ln -sf ../gmp-6.2.0 gmp
5 kx @touch $@
5 kx
5 kx $(mpfr_src_done): $(src_done)
5 kx @echo "Expanding $(tar_xz_archive_mpfr)"
5 kx @tar xJf $(tar_xz_archive_mpfr) -C $(TARGET_BUILD_DIR)
5 kx @cd $(SRC_DIR); ln -sf ../mpfr-4.0.2 mpfr
5 kx @touch $@
5 kx
5 kx $(mpc_src_done): $(src_done)
5 kx @echo "Expanding $(tar_gz_archive_mpc)"
5 kx @tar xzf $(tar_gz_archive_mpc) -C $(TARGET_BUILD_DIR)
5 kx @cd $(SRC_DIR); ln -sf ../mpc-1.1.0 mpc
5 kx @touch $@
5 kx
5 kx $(static_build_target): $(gmp_src_done) $(mpfr_src_done) $(mpc_src_done)
5 kx @mkdir -p $(build_dir)
5 kx @cd $(build_dir) && $(environment) ../$(src_dir_name)/configure \
5 kx --prefix=$(TOOLCHAIN_PATH) \
5 kx --build=$(HOST) \
5 kx --host=$(HOST) \
5 kx --target=$(TARGET) \
5 kx --with-as=$(TOOLCHAIN_PATH)/bin/$(TARGET)-as \
5 kx --with-ld=$(TOOLCHAIN_PATH)/bin/$(TARGET)-ld \
5 kx --datadir=$(TOOLCHAIN_PATH)/share \
5 kx --infodir=$(TOOLCHAIN_PATH)/share/info \
5 kx --mandir=$(TOOLCHAIN_PATH)/share/man \
5 kx $(extra_configure_switches)
5 kx @$(environment) $(MAKE) -C $(build_dir) all-{gcc,target-libgcc}
5 kx @touch $@
5 kx
5 kx $(static_install_target): $(static_build_target)
5 kx @$(MAKE) $(environment) -j1 -C $(build_dir) install-{gcc,target-libgcc}
5 kx @( major="`cat $(build_dir)/gcc/bversion.h | grep '#define BUILDING_GCC_MAJOR' | cut -f3 -d' '`" ; \
5 kx minor="`cat $(build_dir)/gcc/bversion.h | grep '#define BUILDING_GCC_MINOR' | cut -f3 -d' '`" ; \
5 kx patch="`cat $(build_dir)/gcc/bversion.h | grep '#define BUILDING_GCC_PATCHLEVEL' | cut -f3 -d' '`" ; \
5 kx version_string="$${major}.$${minor}.$${patch}" ; \
5 kx if [ -n "$${version_string}" ] ; then \
5 kx echo " gcc-$${version_string}$(if $(FLAVOUR),:$(FLAVOUR),)" >> $(TOOLCHAIN_PATH)/README ; \
5 kx else \
5 kx echo " $(subst $(TOP_BUILD_DIR_ABS)/,,$(CURDIR))$(if $(FLAVOUR),:$(FLAVOUR),)" >> $(TOOLCHAIN_PATH)/README ; \
5 kx fi ; \
5 kx )
5 kx @touch $@
5 kx
5 kx
5 kx $(full_build_target): $(gmp_src_done) $(mpfr_src_done) $(mpc_src_done)
5 kx @mkdir -p $(build_dir)
5 kx cd $(build_dir) && $(environment) ../$(src_dir_name)/configure \
5 kx --prefix=$(TOOLCHAIN_PATH) \
5 kx --build=$(HOST) \
5 kx --host=$(HOST) \
5 kx --target=$(TARGET) \
5 kx --with-as=$(TOOLCHAIN_PATH)/bin/$(TARGET)-as \
5 kx --with-ld=$(TOOLCHAIN_PATH)/bin/$(TARGET)-ld \
5 kx --datadir=$(TOOLCHAIN_PATH)/share \
5 kx --infodir=$(TOOLCHAIN_PATH)/share/info \
5 kx --mandir=$(TOOLCHAIN_PATH)/share/man \
5 kx $(extra_configure_switches)
5 kx @$(environment) $(MAKE) -C $(build_dir) all-{gcc,target-libgcc,target-libstdc++-v3}
5 kx @touch $@
5 kx
5 kx $(full_install_target): $(full_build_target)
5 kx @$(MAKE) $(environment) -j1 -C $(build_dir) pdf-gcc
5 kx @$(MAKE) $(environment) -j1 -C $(build_dir) install-{gcc,target-libgcc,target-libstdc++-v3,pdf-gcc}
5 kx @( cd $(TOOLCHAIN_PATH)/$(TARGET)/lib$(LIBSUFFIX) ; \
5 kx sed -i 's,-L.*\.libs,-L$(TOOLCHAIN_PATH)/$(TARGET)/lib$(LIBSUFFIX),g' libstdc++.la libsupc++.la ; \
5 kx )
5 kx @( major="`cat $(build_dir)/gcc/bversion.h | grep '#define BUILDING_GCC_MAJOR' | cut -f3 -d' '`" ; \
5 kx minor="`cat $(build_dir)/gcc/bversion.h | grep '#define BUILDING_GCC_MINOR' | cut -f3 -d' '`" ; \
5 kx patch="`cat $(build_dir)/gcc/bversion.h | grep '#define BUILDING_GCC_PATCHLEVEL' | cut -f3 -d' '`" ; \
5 kx version_string="$${major}.$${minor}.$${patch}" ; \
5 kx if [ -n "$${version_string}" ] ; then \
5 kx echo " gcc-$${version_string}$(if $(FLAVOUR),:$(FLAVOUR),)" >> $(TOOLCHAIN_PATH)/README ; \
5 kx else \
5 kx echo " $(subst $(TOP_BUILD_DIR_ABS)/,,$(CURDIR))$(if $(FLAVOUR),:$(FLAVOUR),)" >> $(TOOLCHAIN_PATH)/README ; \
5 kx fi ; \
5 kx )
5 kx @touch $@