|
|
|
|
@@ -2,7 +2,6 @@ MAKEFLAGS += -rR
|
|
|
|
|
.SUFFIXES:
|
|
|
|
|
|
|
|
|
|
include $(TOOLCHAIN_FILE)
|
|
|
|
|
export AR_FOR_TARGET
|
|
|
|
|
export CC_FOR_TARGET
|
|
|
|
|
export LD_FOR_TARGET
|
|
|
|
|
export OBJDUMP_FOR_TARGET
|
|
|
|
|
@@ -279,16 +278,6 @@ ifeq ($(TARGET),uefi-loongarch64)
|
|
|
|
|
all: $(call MKESCAPE,$(BUILDDIR))/BOOTLOONGARCH64.EFI
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/cc-runtime/cc-runtime.a: ../cc-runtime/*
|
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
|
|
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))/cc-runtime'
|
|
|
|
|
cp -r ../cc-runtime '$(call SHESCAPE,$(BUILDDIR))/'
|
|
|
|
|
$(MAKE) -C '$(call SHESCAPE,$(BUILDDIR))/cc-runtime' -f cc-runtime.mk \
|
|
|
|
|
CC="$(CC_FOR_TARGET)" \
|
|
|
|
|
AR="$(AR_FOR_TARGET)" \
|
|
|
|
|
CFLAGS="$(CFLAGS_FOR_TARGET)" \
|
|
|
|
|
CPPFLAGS='-isystem $(call SHESCAPE,$(SRCDIR))/../freestnd-c-hdrs -DCC_RUNTIME_NO_FLOAT'
|
|
|
|
|
|
|
|
|
|
ifeq ($(TARGET),bios)
|
|
|
|
|
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/stage2.bin.gz: $(call MKESCAPE,$(BUILDDIR))/stage2.bin
|
|
|
|
|
@@ -317,7 +306,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_stage2only.ld: linker_bios.ld.in
|
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
|
|
|
|
|
$(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) $(call MKESCAPE,$(BUILDDIR))/cc-runtime/cc-runtime.a
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/limine_stage2only.elf: $(OBJ_S2)
|
|
|
|
|
$(MAKE) -f 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" && \
|
|
|
|
|
@@ -330,7 +319,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_nos2map.ld: linker_bios.ld.in
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/empty:
|
|
|
|
|
touch '$(call SHESCAPE,$@)'
|
|
|
|
|
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(OBJ) $(call MKESCAPE,$(BUILDDIR))/cc-runtime/cc-runtime.a
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(OBJ)
|
|
|
|
|
$(MAKE) -f common.mk '$(call SHESCAPE,$(BUILDDIR))/empty'
|
|
|
|
|
$(MAKE) -f 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,$@)'
|
|
|
|
|
@@ -348,7 +337,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_nomap.ld: linker_bios.ld.in
|
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
|
|
|
|
|
$(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))/cc-runtime/cc-runtime.a $(call MKESCAPE,$(BUILDDIR))/stage2.map.o
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/limine_nos3map.elf: $(OBJ) $(call MKESCAPE,$(BUILDDIR))/stage2.map.o
|
|
|
|
|
$(MAKE) -f common.mk '$(call SHESCAPE,$(BUILDDIR))/empty'
|
|
|
|
|
$(MAKE) -f 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,$@)'
|
|
|
|
|
@@ -366,7 +355,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker.ld: linker_bios.ld.in
|
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
|
|
|
|
|
$(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))/cc-runtime/cc-runtime.a $(call MKESCAPE,$(BUILDDIR))/stage2.map.o $(call MKESCAPE,$(BUILDDIR))/full.map.o
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/limine.elf: $(OBJ) $(call MKESCAPE,$(BUILDDIR))/stage2.map.o $(call MKESCAPE,$(BUILDDIR))/full.map.o
|
|
|
|
|
$(MAKE) -f common.mk '$(call SHESCAPE,$(BUILDDIR))/empty'
|
|
|
|
|
$(MAKE) -f common.mk '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
|
|
|
|
|
$(LD_FOR_TARGET) '$(call OBJESCAPE,$^)' $(LDFLAGS_FOR_TARGET) -T'$(call SHESCAPE,$(BUILDDIR))/linker.ld' -o '$(call SHESCAPE,$@)'
|
|
|
|
|
@@ -415,7 +404,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_nomap.ld: linker_uefi_x86_64.ld.in
|
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
|
|
|
|
|
$(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))/nyu-efi/src/crt0-efi-x86_64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_x86_64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/cc-runtime/cc-runtime.a
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/crt0-efi-x86_64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_x86_64.c.o $(OBJ)
|
|
|
|
|
$(MAKE) -f common.mk '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
|
|
|
|
|
$(LD_FOR_TARGET) \
|
|
|
|
|
-T'$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld' \
|
|
|
|
|
@@ -425,7 +414,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker.ld: linker_uefi_x86_64.ld.in
|
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
|
|
|
|
|
$(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))/nyu-efi/src/crt0-efi-x86_64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_x86_64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/cc-runtime/cc-runtime.a $(call MKESCAPE,$(BUILDDIR))/full.map.o
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/limine.elf: $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/crt0-efi-x86_64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_x86_64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/full.map.o
|
|
|
|
|
$(MAKE) -f common.mk '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
|
|
|
|
|
$(LD_FOR_TARGET) \
|
|
|
|
|
-T'$(call SHESCAPE,$(BUILDDIR))/linker.ld' \
|
|
|
|
|
@@ -462,7 +451,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_nomap.ld: linker_uefi_aarch64.ld.in
|
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
|
|
|
|
|
$(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))/nyu-efi/src/crt0-efi-aarch64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_aarch64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/cc-runtime/cc-runtime.a
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/crt0-efi-aarch64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_aarch64.c.o $(OBJ)
|
|
|
|
|
$(MAKE) -f common.mk '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
|
|
|
|
|
$(LD_FOR_TARGET) \
|
|
|
|
|
-T'$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld' \
|
|
|
|
|
@@ -472,7 +461,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker.ld: linker_uefi_aarch64.ld.in
|
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
|
|
|
|
|
$(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))/nyu-efi/src/crt0-efi-aarch64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_aarch64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/cc-runtime/cc-runtime.a $(call MKESCAPE,$(BUILDDIR))/full.map.o
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/limine.elf: $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/crt0-efi-aarch64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_aarch64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/full.map.o
|
|
|
|
|
$(MAKE) -f common.mk '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
|
|
|
|
|
$(LD_FOR_TARGET) \
|
|
|
|
|
-T'$(call SHESCAPE,$(BUILDDIR))/linker.ld' \
|
|
|
|
|
@@ -508,7 +497,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_nomap.ld: linker_uefi_riscv64.ld.in
|
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
|
|
|
|
|
$(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))/nyu-efi/src/crt0-efi-riscv64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_riscv64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/cc-runtime/cc-runtime.a
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/crt0-efi-riscv64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_riscv64.c.o $(OBJ)
|
|
|
|
|
$(MAKE) -f common.mk '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
|
|
|
|
|
$(LD_FOR_TARGET) \
|
|
|
|
|
-T'$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld' \
|
|
|
|
|
@@ -518,7 +507,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker.ld: linker_uefi_riscv64.ld.in
|
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
|
|
|
|
|
$(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))/nyu-efi/src/crt0-efi-riscv64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_riscv64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/cc-runtime/cc-runtime.a $(call MKESCAPE,$(BUILDDIR))/full.map.o
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/limine.elf: $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/crt0-efi-riscv64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_riscv64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/full.map.o
|
|
|
|
|
$(MAKE) -f common.mk '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
|
|
|
|
|
$(LD_FOR_TARGET) \
|
|
|
|
|
-T'$(call SHESCAPE,$(BUILDDIR))/linker.ld' \
|
|
|
|
|
@@ -554,7 +543,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_nomap.ld: linker_uefi_loongarch64.ld.in
|
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
|
|
|
|
|
$(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))/nyu-efi/src/crt0-efi-loongarch64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_loongarch64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/cc-runtime/cc-runtime.a
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/crt0-efi-loongarch64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_loongarch64.c.o $(OBJ)
|
|
|
|
|
$(MAKE) -f common.mk '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
|
|
|
|
|
$(LD_FOR_TARGET) \
|
|
|
|
|
-T'$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld' \
|
|
|
|
|
@@ -564,7 +553,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker.ld: linker_uefi_loongarch64.ld.in
|
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
|
|
|
|
|
$(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))/nyu-efi/src/crt0-efi-loongarch64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_loongarch64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/cc-runtime/cc-runtime.a $(call MKESCAPE,$(BUILDDIR))/full.map.o
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/limine.elf: $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/crt0-efi-loongarch64.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_loongarch64.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/full.map.o
|
|
|
|
|
$(MAKE) -f common.mk '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
|
|
|
|
|
$(LD_FOR_TARGET) \
|
|
|
|
|
-T'$(call SHESCAPE,$(BUILDDIR))/linker.ld' \
|
|
|
|
|
@@ -600,7 +589,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_nomap.ld: linker_uefi_ia32.ld.in
|
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
|
|
|
|
|
$(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))/nyu-efi/src/crt0-efi-ia32.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_ia32.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/cc-runtime/cc-runtime.a
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/crt0-efi-ia32.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_ia32.c.o $(OBJ)
|
|
|
|
|
$(MAKE) -f common.mk '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
|
|
|
|
|
$(LD_FOR_TARGET) \
|
|
|
|
|
-T'$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld' \
|
|
|
|
|
@@ -610,7 +599,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker.ld: linker_uefi_ia32.ld.in
|
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
|
|
|
|
|
$(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))/nyu-efi/src/crt0-efi-ia32.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_ia32.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/cc-runtime/cc-runtime.a $(call MKESCAPE,$(BUILDDIR))/full.map.o
|
|
|
|
|
$(call MKESCAPE,$(BUILDDIR))/limine.elf: $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/crt0-efi-ia32.S.o $(call MKESCAPE,$(BUILDDIR))/nyu-efi/src/reloc_ia32.c.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/full.map.o
|
|
|
|
|
$(MAKE) -f common.mk '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
|
|
|
|
|
$(LD_FOR_TARGET) \
|
|
|
|
|
-T'$(call SHESCAPE,$(BUILDDIR))/linker.ld' \
|
|
|
|
|
|