#!/usr/bin/make -f include /usr/share/dpkg/pkg-info.mk MULTILIB_LIST_ARM="--with-multilib-list=rmprofile,aprofile" PACKAGE_GCC_ARM=gcc-arm-none-eabi PACKAGE_GCC_AARCH64=gcc-aarch64-none-elf PACKAGE_GCC_SOURCE=gcc-arm-none-eabi-source TARGET_ARM=arm-none-eabi TARGET_AARCH64=aarch64-none-elf TOP_DIR=$(shell pwd) NPROC=$(shell nproc) UPSTREAM_URL=https://developer.arm.com/-/media/Files/downloads/gnu/15.2.rel1/srcrel/arm-gnu-toolchain-src-snapshot-15.2.rel1.tar.xz GCC_BUILD_DIR_ARM=$(TOP_DIR)/build-$(TARGET_ARM) GCC_BUILD_DIR_AARCH64=$(TOP_DIR)/build-$(TARGET_AARCH64) GCC_SOURCE_DIR=$(TOP_DIR) GCC_DEB_TMP_DIR_ARM=$(TOP_DIR)/debian/$(PACKAGE_GCC_ARM)-tmp GCC_DEB_TMP_DIR_AARCH64=$(TOP_DIR)/debian/$(PACKAGE_GCC_AARCH64)-tmp GCC_SOURCE_DEB_TMP_DIR=$(TOP_DIR)/debian/$(PACKAGE_GCC_SOURCE)-tmp export DEB_BUILD_MAINT_OPTIONS=hardening=-format BUILDFLAGS:=$(shell dpkg-buildflags --export=configure) INHIBIT_LIBC_CFLAGS="-DUSE_TM_CLONE_REGISTRY=0" TARGET_TOOLS_ARM=\ AR_FOR_TARGET=$(TARGET_ARM)-ar \ AS_FOR_TARGET=$(TARGET_ARM)-as \ LD_FOR_TARGET=$(TARGET_ARM)-ld \ NM_FOR_TARGET=$(TARGET_ARM)-nm \ OBJDUMP_FOR_TARGET=$(TARGET_ARM)-objdump \ RANLIB_FOR_TARGET=$(TARGET_ARM)-ranlib \ READELF_FOR_TARGET=$(TARGET_ARM)-readelf \ STRIP_FOR_TARGET=$(TARGET_ARM)-strip TARGET_TOOLS_AARCH64=\ AR_FOR_TARGET=$(TARGET_AARCH64)-ar \ AS_FOR_TARGET=$(TARGET_AARCH64)-as \ LD_FOR_TARGET=$(TARGET_AARCH64)-ld \ NM_FOR_TARGET=$(TARGET_AARCH64)-nm \ OBJDUMP_FOR_TARGET=$(TARGET_AARCH64)-objdump \ RANLIB_FOR_TARGET=$(TARGET_AARCH64)-ranlib \ READELF_FOR_TARGET=$(TARGET_AARCH64)-readelf \ STRIP_FOR_TARGET=$(TARGET_AARCH64)-strip CONFIGURE_GCC_FLAGS_LIBSTDC = \ --disable-libstdcxx CONFIGURE_GCC_FLAGS_COMMON = \ --with-gcc-major-version-only \ --mandir=/usr/share/man \ --enable-languages=c,c++,lto \ --enable-multilib-space \ --disable-decimal-float \ --disable-libffi \ --disable-libgomp \ --disable-libmudflap \ --disable-libquadmath \ --disable-libssp \ --disable-libstdcxx-pch \ --disable-nls \ --disable-shared \ --disable-threads \ --enable-tls \ --build=$(DEB_BUILD_GNU_TYPE) \ --with-system-zlib \ --with-gnu-as \ --with-gnu-ld \ "--with-pkgversion=$(DEB_VERSION)" \ --without-included-gettext \ --prefix=/usr \ --libexecdir=/usr/libexec \ --libdir=/usr/lib \ --host=$(DEB_HOST_GNU_TYPE) \ --with-headers=no \ --with-picolibc \ --without-newlib \ $(CONFIGURE_GCC_FLAGS_LIBSTDC) \ $(BUILDFLAGS) \ SED=/bin/sed \ SHELL=/bin/sh \ BASH=/bin/bash \ CONFIG_SHELL=/bin/bash CONFIGURE_GCC_FLAGS_ARM = \ $(CONFIGURE_GCC_FLAGS_COMMON) \ --target=$(TARGET_ARM) \ --enable-multilib \ --includedir=/usr/$(TARGET_ARM)/include \ --infodir=/usr/share/doc/$(PACKAGE_GCC_ARM)/info \ --htmldir=/usr/share/doc/$(PACKAGE_GCC_ARM)/html \ --pdfdir=/usr/share/doc/$(PACKAGE_GCC_ARM)/pdf \ $(MULTILIB_LIST_ARM) \ $(TARGET_TOOLS_ARM) CONFIGURE_GCC_FLAGS_AARCH64 = \ $(CONFIGURE_GCC_FLAGS_COMMON) \ --target=$(TARGET_AARCH64) \ --disable-multilib \ --includedir=/usr/$(TARGET_AARCH64)/include \ --infodir=/usr/share/doc/$(PACKAGE_GCC_AARCH64)/info \ --htmldir=/usr/share/doc/$(PACKAGE_GCC_AARCH64)/html \ --pdfdir=/usr/share/doc/$(PACKAGE_GCC_AARCH64)/pdf \ $(TARGET_TOOLS_AARCH64) %: dh $@ --with autoreconf override_dh_autoreconf: autoreconf2.69 -f $(GCC_SOURCE_DIR) override_dh_auto_configure: dh_auto_configure -Bbuild-$(TARGET_AARCH64) -- $(CONFIGURE_GCC_FLAGS_AARCH64) dh_auto_configure -Bbuild-$(TARGET_ARM) -- $(CONFIGURE_GCC_FLAGS_ARM) override_dh_auto_build: build-aarch64 build-arm build-aarch64: dh_auto_build -Bbuild-$(TARGET_AARCH64) -- -j$(NPROC) build-arm: dh_auto_build -Bbuild-$(TARGET_ARM) -- -j$(NPROC) override_dh_auto_install: $(MAKE) install -C$(GCC_BUILD_DIR_ARM) DESTDIR=$(GCC_DEB_TMP_DIR_ARM) $(MAKE) install -C$(GCC_BUILD_DIR_AARCH64) DESTDIR=$(GCC_DEB_TMP_DIR_AARCH64) override_dh_auto_test: @echo "no testing, that's way too painful" override_dh_clean: rm -rf build-$(TARGET_ARM) rm -rf build-$(TARGET_AARCH64) rm -rf $(GCC_BUILD_DIR_ARM) rm -rf $(GCC_BUILD_DIR_AARCH64) rm -rf $(GCC_DEB_TMP_DIR_ARM) rm -rf $(GCC_DEB_TMP_DIR_ARM_AARCH64) rm -rf $(GCC_SOURCE_DEB_TMP_DIR) dh_clean override_dh_strip: dh_strip -X.a override_dh_install: dh_install -p$(PACKAGE_GCC_ARM) --sourcedir $(GCC_DEB_TMP_DIR_ARM) dh_install -p$(PACKAGE_GCC_AARCH64) --sourcedir $(GCC_DEB_TMP_DIR_AARCH64) mkdir -p $(GCC_SOURCE_DEB_TMP_DIR)/usr/src tar --exclude=build-$(TARGET_ARM) --exclude=build-$(TARGET_AARCH64) --exclude=.git --exclude=debian --exclude=autom4te.cache --sort=name --mtime="@$(SOURCE_DATE_EPOCH)" --owner=0 --group=0 --numeric-owner --mode=go-w,u+rw -C $(TOP_DIR) -c -f - . | xz -T0 > $(GCC_SOURCE_DEB_TMP_DIR)/usr/src/$(PACKAGE_GCC_SOURCE).tar.xz dh_install -p$(PACKAGE_GCC_SOURCE) --sourcedir $(GCC_SOURCE_DEB_TMP_DIR) override_dh_compress: dh_compress -Xexamples/