build: Misc build system improvements
diff --git a/.gitignore b/.gitignore
index 0a51bd25..45fc17a3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,9 @@
-/libgcc-*
/bin
/build
/cross-files
/limine-efi
/freestanding-headers
+/libgcc-binaries
/ovmf*
*.o
*.d
@@ -36,5 +36,6 @@
/common-bios
/common-uefi-ia32
/common-uefi-x86-64
+/common-uefi-aarch64
/decompressor-build
/stage1.stamp
diff --git a/common/GNUmakefile b/common/GNUmakefile
index 82bc7119..009d8c9e 100644
--- a/common/GNUmakefile
+++ b/common/GNUmakefile
@@ -43,7 +43,6 @@ override CROSS_CFLAGS += \
-fno-strict-aliasing \
-fno-lto \
-nostdinc \
- -Wno-address-of-packed-member \
-Wshadow \
-Wvla \
-MMD \
@@ -349,7 +348,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_nomap.ld: linker_uefi_aarch64.ld.in
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
$(CROSS_CC) -x c -E -P -undef -DLINKER_NOMAP linker_uefi_aarch64.ld.in -o '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
-$(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-aarch64.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_aarch64.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/tinf/tinfgzip.o $(call MKESCAPE,$(BUILDDIR))/tinf/tinflate.o $(call MKESCAPE,$(BUILDDIR))/font.o
+$(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-aarch64.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_aarch64.o $(OBJ) ../libgcc-binaries/libgcc-aarch64.a $(call MKESCAPE,$(BUILDDIR))/tinf/tinfgzip.o $(call MKESCAPE,$(BUILDDIR))/tinf/tinflate.o $(call MKESCAPE,$(BUILDDIR))/font.o
$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
$(CROSS_LD) \
-T'$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld' \
@@ -359,7 +358,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker.ld: linker_uefi_aarch64.ld.in
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
$(CROSS_CC) -x c -E -P -undef linker_uefi_aarch64.ld.in -o '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
-$(call MKESCAPE,$(BUILDDIR))/limine.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-aarch64.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_aarch64.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/tinf/tinfgzip.o $(call MKESCAPE,$(BUILDDIR))/tinf/tinflate.o $(call MKESCAPE,$(BUILDDIR))/font.o $(call MKESCAPE,$(BUILDDIR))/full.map.o
+$(call MKESCAPE,$(BUILDDIR))/limine.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-aarch64.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_aarch64.o $(OBJ) ../libgcc-binaries/libgcc-aarch64.a $(call MKESCAPE,$(BUILDDIR))/tinf/tinfgzip.o $(call MKESCAPE,$(BUILDDIR))/tinf/tinflate.o $(call MKESCAPE,$(BUILDDIR))/font.o $(call MKESCAPE,$(BUILDDIR))/full.map.o
$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
$(CROSS_LD) \
-T'$(call SHESCAPE,$(BUILDDIR))/linker.ld' \
diff --git a/configure.ac b/configure.ac
index 0eecfac8..ca8757c7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -152,7 +152,7 @@ else
(
mkdir -p "$BUILDDIR/cross-files"
cd "$BUILDDIR/cross-files"
- TRIPLET=aarch64-elf-none "$SRCDIR/cross-detect/configure" || exit 1
+ TRIPLET=aarch64-elf "$SRCDIR/cross-detect/configure" || exit 1
)
BUILD_UEFI_AARCH64="limine-uefi-aarch64"
fi
diff --git a/decompressor/GNUmakefile b/decompressor/GNUmakefile
index e45e61c0..5b064136 100644
--- a/decompressor/GNUmakefile
+++ b/decompressor/GNUmakefile
@@ -29,7 +29,6 @@ override CROSS_CFLAGS += \
-fno-pic \
-fomit-frame-pointer \
-nostdinc \
- -Wno-address-of-packed-member \
-Wshadow \
-Wvla \
-mno-80387 \
