:: commit 87192de295d3813cb75f78b2effff3ed4d40b097

mintsuki <mintsuki@protonmail.com> — 2024-08-17 10:42

parents: 82c4ecf7f3

build: Remove files named 'Makefile' or 'GNUmakefile' as that confuses people

diff --git a/GNUmakefile.in b/GNUmakefile.in
index f7358c72..f27779b1 100644
--- a/GNUmakefile.in
+++ b/GNUmakefile.in
@@ -143,9 +143,10 @@ endif
 	$(SED) 's/%VERSION%/@PACKAGE_VERSION@/g;s/%COPYRIGHT%/@LIMINE_COPYRIGHT@/g' <'$(call SHESCAPE,$(SRCDIR))/host/limine.c' >'$(call SHESCAPE,$(BINDIR))/limine.c'
 	CPPFLAGS='$(CPPFLAGS) $(LIMINE_NO_BIOS) -DLIMINE_DATADIR=\"$(call SHESCAPE,$(datarootdir))/limine\"' $(MAKE) -C '$(call SHESCAPE,$(BINDIR))' limine
 
-$(call MKESCAPE,$(BINDIR))/Makefile: $(call MKESCAPE,$(SRCDIR))/host/Makefile $(call MKESCAPE,$(SRCDIR))/host/.gitignore
+$(call MKESCAPE,$(BINDIR))/Makefile: $(call MKESCAPE,$(SRCDIR))/host/host.mk $(call MKESCAPE,$(SRCDIR))/host/.gitignore
 	mkdir -p '$(call SHESCAPE,$(BINDIR))'
-	cp '$(call SHESCAPE,$(SRCDIR))/host/Makefile' '$(call SHESCAPE,$(SRCDIR))/host/.gitignore' '$(call SHESCAPE,$(BINDIR))/'
+	cp '$(call SHESCAPE,$(SRCDIR))/host/host.mk' '$(call SHESCAPE,$(BINDIR))/Makefile'
+	cp '$(call SHESCAPE,$(SRCDIR))/host/.gitignore' '$(call SHESCAPE,$(BINDIR))/'
 
 .PHONY: limine
 limine:
@@ -361,7 +362,7 @@ maintainer-clean: distclean
 
 .PHONY: common-uefi-x86-64
 common-uefi-x86-64:
-	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' all \
+	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' -f '$(call SHESCAPE,$(SRCDIR))/common/common.mk' all \
 		TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk' \
 		TARGET=uefi-x86-64 \
 		BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-uefi-x86-64'
@@ -372,7 +373,7 @@ common-uefi-x86-64-clean:
 
 .PHONY: common-uefi-aarch64
 common-uefi-aarch64:
-	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' all \
+	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' -f '$(call SHESCAPE,$(SRCDIR))/common/common.mk' all \
 		TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-aarch64-toolchain.mk' \
 		TARGET=uefi-aarch64 \
 		BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-uefi-aarch64'
@@ -383,7 +384,7 @@ common-uefi-aarch64-clean:
 
 .PHONY: common-uefi-riscv64
 common-uefi-riscv64:
-	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' all \
+	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' -f '$(call SHESCAPE,$(SRCDIR))/common/common.mk' all \
 		TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-riscv64-toolchain.mk' \
 		TARGET=uefi-riscv64 \
 		BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-uefi-riscv64'
@@ -394,7 +395,7 @@ common-uefi-riscv64-clean:
 
 .PHONY: common-uefi-loongarch64
 common-uefi-loongarch64:
-	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' all \
+	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' -f '$(call SHESCAPE,$(SRCDIR))/common/common.mk' all \
 		TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-loongarch64-toolchain.mk' \
 		TARGET=uefi-loongarch64 \
 		BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-uefi-loongarch64'
@@ -405,7 +406,7 @@ common-uefi-loongarch64-clean:
 
 .PHONY: common-uefi-ia32
 common-uefi-ia32:
-	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' all \
+	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' -f '$(call SHESCAPE,$(SRCDIR))/common/common.mk' all \
 		TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-i686-toolchain.mk' \
 		TARGET=uefi-ia32 \
 		BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-uefi-ia32'
@@ -416,7 +417,7 @@ common-uefi-ia32-clean:
 
 .PHONY: common-bios
 common-bios:
-	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' all \
+	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' -f '$(call SHESCAPE,$(SRCDIR))/common/common.mk' all \
 		TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/bios-i686-toolchain.mk' \
 		TARGET=bios \
 		BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-bios'
@@ -427,7 +428,7 @@ common-bios-clean:
 
 .PHONY: decompressor
 decompressor:
-	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/decompressor' all \
+	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/decompressor' -f '$(call SHESCAPE,$(SRCDIR))/decompressor/decompressor.mk' all \
 		TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/bios-i686-toolchain.mk' \
 		BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/decompressor-build'
 
diff --git a/common/GNUmakefile b/common/common.mk
similarity index 95%
rename from common/GNUmakefile
rename to common/common.mk
index 27665d18..ce967433 100644
--- a/common/GNUmakefile
+++ b/common/common.mk
@@ -307,7 +307,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_stage2only.ld: linker_bios.ld.in
 	$(CC_FOR_TARGET) -x c -E -P -undef -DLINKER_STAGE2ONLY linker_bios.ld.in -o '$(call SHESCAPE,$(BUILDDIR))/linker_stage2only.ld'
 
 $(call MKESCAPE,$(BUILDDIR))/limine_stage2only.elf: $(OBJ_S2)
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker_stage2only.ld'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/linker_stage2only.ld'
 	$(LD_FOR_TARGET) '$(call OBJESCAPE,$^)' $(LDFLAGS_FOR_TARGET) -T'$(call SHESCAPE,$(BUILDDIR))/linker_stage2only.ld' -o '$(call SHESCAPE,$@)' || \
 		( echo "This error may mean that stage 2 was trying to use stage 3 symbols before loading stage 3" && \
 		  false )
@@ -320,8 +320,8 @@ $(call MKESCAPE,$(BUILDDIR))/empty:
 	touch '$(call SHESCAPE,$@)'
 
 $(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(OBJ)
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/empty'
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker_nos2map.ld'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/empty'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/linker_nos2map.ld'
 	$(LD_FOR_TARGET) '$(call OBJESCAPE,$^)' $(LDFLAGS_FOR_TARGET) -T'$(call SHESCAPE,$(BUILDDIR))/linker_nos2map.ld' -o '$(call SHESCAPE,$@)'
 	$(OBJCOPY_FOR_TARGET) -O binary --only-section=.note.gnu.build-id '$(call SHESCAPE,$@)' '$(call SHESCAPE,$(BUILDDIR))/build-id.s2.bin'
 	cd '$(call SHESCAPE,$(BUILDDIR))' && \
@@ -338,8 +338,8 @@ $(call MKESCAPE,$(BUILDDIR))/linker_nomap.ld: linker_bios.ld.in
 	$(CC_FOR_TARGET) -x c -E -P -undef -DLINKER_NOMAP linker_bios.ld.in -o '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
 
 $(call MKESCAPE,$(BUILDDIR))/limine_nos3map.elf: $(OBJ) $(call MKESCAPE,$(BUILDDIR))/stage2.map.o
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/empty'
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/empty'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
 	$(LD_FOR_TARGET) '$(call OBJESCAPE,$^)' $(LDFLAGS_FOR_TARGET) -T'$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld' -o '$(call SHESCAPE,$@)'
 	$(OBJCOPY_FOR_TARGET) -O binary --only-section=.note.gnu.build-id '$(call SHESCAPE,$@)' '$(call SHESCAPE,$(BUILDDIR))/build-id.s2.bin'
 	cd '$(call SHESCAPE,$(BUILDDIR))' && \
@@ -356,8 +356,8 @@ $(call MKESCAPE,$(BUILDDIR))/linker.ld: linker_bios.ld.in
 	$(CC_FOR_TARGET) -x c -E -P -undef linker_bios.ld.in -o '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
 
 $(call MKESCAPE,$(BUILDDIR))/limine.elf: $(OBJ) $(call MKESCAPE,$(BUILDDIR))/stage2.map.o $(call MKESCAPE,$(BUILDDIR))/full.map.o
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/empty'
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/empty'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
 	$(LD_FOR_TARGET) '$(call OBJESCAPE,$^)' $(LDFLAGS_FOR_TARGET) -T'$(call SHESCAPE,$(BUILDDIR))/linker.ld' -o '$(call SHESCAPE,$@)'
 	$(OBJCOPY_FOR_TARGET) -O binary --only-section=.note.gnu.build-id '$(call SHESCAPE,$@)' '$(call SHESCAPE,$(BUILDDIR))/build-id.s2.bin'
 	cd '$(call SHESCAPE,$(BUILDDIR))' && \
@@ -405,7 +405,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_nomap.ld: linker_uefi_x86_64.ld.in
 	$(CC_FOR_TARGET) -x c -E -P -undef -DLINKER_NOMAP linker_uefi_x86_64.ld.in -o '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
 
 $(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-x86_64.S.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_x86_64.c.o $(OBJ)
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
 	$(LD_FOR_TARGET) \
 		-T'$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld' \
 		'$(call OBJESCAPE,$^)' $(LDFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
@@ -415,7 +415,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker.ld: linker_uefi_x86_64.ld.in
 	$(CC_FOR_TARGET) -x c -E -P -undef linker_uefi_x86_64.ld.in -o '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
 
 $(call MKESCAPE,$(BUILDDIR))/limine.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-x86_64.S.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_x86_64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/full.map.o
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
 	$(LD_FOR_TARGET) \
 		-T'$(call SHESCAPE,$(BUILDDIR))/linker.ld' \
 		'$(call OBJESCAPE,$^)' $(LDFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
@@ -452,7 +452,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_nomap.ld: linker_uefi_aarch64.ld.in
 	$(CC_FOR_TARGET) -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.S.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_aarch64.c.o $(OBJ)
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
 	$(LD_FOR_TARGET) \
 		-T'$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld' \
 		'$(call OBJESCAPE,$^)' $(LDFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
@@ -462,7 +462,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker.ld: linker_uefi_aarch64.ld.in
 	$(CC_FOR_TARGET) -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.S.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_aarch64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/full.map.o
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
 	$(LD_FOR_TARGET) \
 		-T'$(call SHESCAPE,$(BUILDDIR))/linker.ld' \
 		'$(call OBJESCAPE,$^)' $(LDFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
@@ -498,7 +498,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_nomap.ld: linker_uefi_riscv64.ld.in
 	$(CC_FOR_TARGET) -x c -E -P -undef -DLINKER_NOMAP linker_uefi_riscv64.ld.in -o '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
 
 $(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-riscv64.S.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_riscv64.c.o $(OBJ)
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
 	$(LD_FOR_TARGET) \
 		-T'$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld' \
 		'$(call OBJESCAPE,$^)' $(LDFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
@@ -508,7 +508,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker.ld: linker_uefi_riscv64.ld.in
 	$(CC_FOR_TARGET) -x c -E -P -undef linker_uefi_riscv64.ld.in -o '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
 
 $(call MKESCAPE,$(BUILDDIR))/limine.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-riscv64.S.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_riscv64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/full.map.o
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
 	$(LD_FOR_TARGET) \
 		-T'$(call SHESCAPE,$(BUILDDIR))/linker.ld' \
 		'$(call OBJESCAPE,$^)' $(LDFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
@@ -544,7 +544,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_nomap.ld: linker_uefi_loongarch64.ld.in
 	$(CC_FOR_TARGET) -x c -E -P -undef -DLINKER_NOMAP linker_uefi_loongarch64.ld.in -o '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
 
 $(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-loongarch64.S.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_loongarch64.c.o $(OBJ)
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
 	$(LD_FOR_TARGET) \
 		-T'$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld' \
 		'$(call OBJESCAPE,$^)' $(LDFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
@@ -554,7 +554,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker.ld: linker_uefi_loongarch64.ld.in
 	$(CC_FOR_TARGET) -x c -E -P -undef linker_uefi_loongarch64.ld.in -o '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
 
 $(call MKESCAPE,$(BUILDDIR))/limine.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-loongarch64.S.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_loongarch64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/full.map.o
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
 	$(LD_FOR_TARGET) \
 		-T'$(call SHESCAPE,$(BUILDDIR))/linker.ld' \
 		'$(call OBJESCAPE,$^)' $(LDFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
@@ -590,7 +590,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_nomap.ld: linker_uefi_ia32.ld.in
 	$(CC_FOR_TARGET) -x c -E -P -undef -DLINKER_NOMAP linker_uefi_ia32.ld.in -o '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
 
 $(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-ia32.S.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_ia32.c.o $(OBJ)
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
 	$(LD_FOR_TARGET) \
 		-T'$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld' \
 		'$(call OBJESCAPE,$^)' $(LDFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
@@ -600,7 +600,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker.ld: linker_uefi_ia32.ld.in
 	$(CC_FOR_TARGET) -x c -E -P -undef linker_uefi_ia32.ld.in -o '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
 
 $(call MKESCAPE,$(BUILDDIR))/limine.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-ia32.S.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_ia32.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/full.map.o
-	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
+	$(MAKE) -f '$(call SHESCAPE,$(SRCDIR))/common.mk' '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
 	$(LD_FOR_TARGET) \
 		-T'$(call SHESCAPE,$(BUILDDIR))/linker.ld' \
 		'$(call OBJESCAPE,$^)' $(LDFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
diff --git a/decompressor/GNUmakefile b/decompressor/decompressor.mk
similarity index 100%
rename from decompressor/GNUmakefile
rename to decompressor/decompressor.mk
diff --git a/host/Makefile b/host/host.mk
similarity index 100%
rename from host/Makefile
rename to host/host.mk
diff --git a/test.mk b/test.mk
index 334a4fa8..14abd9e4 100644
--- a/test.mk
+++ b/test.mk
@@ -1,6 +1,6 @@
 .PHONY: test-clean
 test-clean:
-	$(MAKE) -C test clean
+	$(MAKE) -C test -f test/test.mk clean
 	rm -rf test_image test.hdd test.iso
 
 ovmf-x64:
@@ -38,11 +38,11 @@ mbrtest.hdd:
 
 .PHONY: ext2-test
 ext2-test:
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-bios
-	$(MAKE) limine
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	$(MAKE) -f test.mk test-clean
+	$(MAKE) -f test.mk test.hdd
+	$(MAKE) -f test.mk limine-bios
+	$(MAKE) -f test.mk limine
+	$(MAKE) -C test -f test/test.mk TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
@@ -61,11 +61,11 @@ ext2-test:
 
 .PHONY: fat12-test
 fat12-test:
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-bios
-	$(MAKE) limine
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	$(MAKE) -f test.mk test-clean
+	$(MAKE) -f test.mk test.hdd
+	$(MAKE) -f test.mk limine-bios
+	$(MAKE) -f test.mk limine
+	$(MAKE) -C test -f test/test.mk TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
@@ -84,11 +84,11 @@ fat12-test:
 
 .PHONY: fat16-test
 fat16-test:
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-bios
-	$(MAKE) limine
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	$(MAKE) -f test.mk test-clean
+	$(MAKE) -f test.mk test.hdd
+	$(MAKE) -f test.mk limine-bios
+	$(MAKE) -f test.mk limine
+	$(MAKE) -C test -f test/test.mk TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
@@ -107,12 +107,12 @@ fat16-test:
 
 .PHONY: legacy-fat16-test
 legacy-fat16-test:
-	$(MAKE) test-clean
-	$(MAKE) mbrtest.hdd
+	$(MAKE) -f test.mk test-clean
+	$(MAKE) -f test.mk mbrtest.hdd
 	fdisk -l mbrtest.hdd
-	$(MAKE) limine-bios
-	$(MAKE) limine
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	$(MAKE) -f test.mk limine-bios
+	$(MAKE) -f test.mk limine
+	$(MAKE) -C test -f test/test.mk TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show mbrtest.hdd > loopback_dev
@@ -131,11 +131,11 @@ legacy-fat16-test:
 
 .PHONY: fat32-test
 fat32-test:
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-bios
-	$(MAKE) limine
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	$(MAKE) -f test.mk test-clean
+	$(MAKE) -f test.mk test.hdd
+	$(MAKE) -f test.mk limine-bios
+	$(MAKE) -f test.mk limine
+	$(MAKE) -C test -f test/test.mk TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
@@ -154,10 +154,10 @@ fat32-test:
 
 .PHONY: iso9660-test
 iso9660-test:
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-bios
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	$(MAKE) -f test.mk test-clean
+	$(MAKE) -f test.mk test.hdd
+	$(MAKE) -f test.mk limine-bios
+	$(MAKE) -C test -f test/test.mk TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	$(MKDIR_P) test_image/boot
 	sudo cp -rv $(BINDIR)/* test_image/boot/
@@ -167,11 +167,11 @@ iso9660-test:
 
 .PHONY: full-hybrid-test
 full-hybrid-test:
-	$(MAKE) ovmf-x64
-	$(MAKE) ovmf-ia32
-	$(MAKE) test-clean
-	$(MAKE) all
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	$(MAKE) -f test.mk ovmf-x64
+	$(MAKE) -f test.mk ovmf-ia32
+	$(MAKE) -f test.mk test-clean
+	$(MAKE) -f test.mk all
+	$(MAKE) -C test -f test/test.mk TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	$(MKDIR_P) test_image/boot
 	sudo cp -rv $(BINDIR)/* test_image/boot/
@@ -187,9 +187,9 @@ full-hybrid-test:
 
 .PHONY: pxe-test
 pxe-test:
-	$(MAKE) test-clean
-	$(MAKE) limine-bios
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	$(MAKE) -f test.mk test-clean
+	$(MAKE) -f test.mk limine-bios
+	$(MAKE) -C test -f test/test.mk TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	$(MKDIR_P) test_image/boot
 	sudo cp -rv $(BINDIR)/* test_image/boot/
@@ -198,11 +198,11 @@ pxe-test:
 
 .PHONY: uefi-x86-64-test
 uefi-x86-64-test:
-	$(MAKE) ovmf-x64
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-uefi-x86-64
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	$(MAKE) -f test.mk ovmf-x64
+	$(MAKE) -f test.mk test-clean
+	$(MAKE) -f test.mk test.hdd
+	$(MAKE) -f test.mk limine-uefi-x86-64
+	$(MAKE) -C test -f test/test.mk TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
@@ -222,11 +222,11 @@ uefi-x86-64-test:
 
 .PHONY: uefi-aa64-test
 uefi-aa64-test:
-	$(MAKE) ovmf-aa64
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-uefi-aarch64
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-aarch64-toolchain.mk'
+	$(MAKE) -f test.mk ovmf-aa64
+	$(MAKE) -f test.mk test-clean
+	$(MAKE) -f test.mk test.hdd
+	$(MAKE) -f test.mk limine-uefi-aarch64
+	$(MAKE) -C test -f test/test.mk TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-aarch64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
@@ -246,11 +246,11 @@ uefi-aa64-test:
 
 .PHONY: uefi-rv64-test
 uefi-rv64-test:
-	$(MAKE) ovmf-rv64
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-uefi-riscv64
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-riscv64-toolchain.mk'
+	$(MAKE) -f test.mk ovmf-rv64
+	$(MAKE) -f test.mk test-clean
+	$(MAKE) -f test.mk test.hdd
+	$(MAKE) -f test.mk limine-uefi-riscv64
+	$(MAKE) -C test -f test/test.mk TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-riscv64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
@@ -270,11 +270,11 @@ uefi-rv64-test:
 
 .PHONY: uefi-loongarch64-test
 uefi-loongarch64-test:
-	$(MAKE) ovmf-loongarch64
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-uefi-loongarch64
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-loongarch64-toolchain.mk'
+	$(MAKE) -f test.mk ovmf-loongarch64
+	$(MAKE) -f test.mk test-clean
+	$(MAKE) -f test.mk test.hdd
+	$(MAKE) -f test.mk limine-uefi-loongarch64
+	$(MAKE) -C test -f test/test.mk TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-loongarch64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
@@ -294,11 +294,11 @@ uefi-loongarch64-test:
 
 .PHONY: uefi-ia32-test
 uefi-ia32-test:
-	$(MAKE) ovmf-ia32
-	$(MAKE) test-clean
-	$(MAKE) test.hdd
-	$(MAKE) limine-uefi-ia32
-	$(MAKE) -C test TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
+	$(MAKE) -f test.mk ovmf-ia32
+	$(MAKE) -f test.mk test-clean
+	$(MAKE) -f test.mk test.hdd
+	$(MAKE) -f test.mk limine-uefi-ia32
+	$(MAKE) -C test -f test/test.mk TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
diff --git a/test/GNUmakefile b/test/test.mk
similarity index 100%
rename from test/GNUmakefile
rename to test/test.mk
tab: 248 wrap: offon