Monorepo for Aesthetic.Computer aesthetic.computer
at main 36 lines 1.0 kB view raw
1# UEFI Splash Chainloader — gnu-efi based 2ARCH = x86_64 3TARGET = splash.efi 4 5# gnu-efi paths 6EFI_INC = /usr/include/efi 7EFI_INCS = -I$(EFI_INC) -I$(EFI_INC)/$(ARCH) -I$(EFI_INC)/protocol 8EFI_LIB = /usr/lib 9EFI_CRT = $(EFI_LIB)/crt0-efi-$(ARCH).o 10EFI_LDS = $(EFI_LIB)/elf_$(ARCH)_efi.lds 11 12CC = gcc 13CFLAGS = -fno-stack-protector -fpic -fshort-wchar -mno-red-zone \ 14 -Wall -DGNU_EFI_USE_MS_ABI -DEFI_FUNCTION_WRAPPER $(EFI_INCS) 15LDFLAGS = -nostdlib -znocombreloc -T $(EFI_LDS) -shared -Bsymbolic \ 16 -L$(EFI_LIB) $(EFI_CRT) 17LIBS = -lefi -lgnuefi 18 19.PHONY: all clean 20 21all: $(TARGET) 22 23splash.o: splash.c font8x8.h 24 $(CC) $(CFLAGS) -c -o $@ $< 25 26splash.so: splash.o 27 ld $(LDFLAGS) $^ -o $@ $(LIBS) 28 29$(TARGET): splash.so 30 objcopy -j .text -j .sdata -j .data -j .dynamic \ 31 -j .dynsym -j .rel -j .rela -j .reloc \ 32 --target=efi-app-$(ARCH) $< $@ 33 @echo "Built: $@ ($$(wc -c < $@ | tr -d ' ') bytes)" 34 35clean: 36 rm -f splash.o splash.so $(TARGET)