diff options
Diffstat (limited to 'bootstrap/stage1/efi')
-rw-r--r-- | bootstrap/stage1/efi/Makefile | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/bootstrap/stage1/efi/Makefile b/bootstrap/stage1/efi/Makefile new file mode 100644 index 0000000..b1a96ef --- /dev/null +++ b/bootstrap/stage1/efi/Makefile @@ -0,0 +1,49 @@ +INCLUDE?=-I$(ROOTDIR)kernel/arch/$(ARCH)/include +CFLAGS?=-O0 -fno-stack-protector -ffreestanding -fno-builtin -nostdinc -nostdlib +LDFLAGS?=-subsystem:efi_application -entry:_uefi_start + +# -- Do not edit below this line -- + +LD:=lld-link +INCLUDE:=$(INCLUDE) $(SYS_INCLUDE) +CFLAGS:=$(CFLAGS) -Wall -Wextra -DVERSION=\"$(VERSION)\" -DARCH=\"$(ARCH)\" -g +LDFLAGS:=$(LDFLAGS) +ARCH:=$(ARCH) +EFI:=boot-stage1.efi + +ARCHDIR=../arch/$(ARCH)/efi + +include $(ARCHDIR)/make.config + +INCLUDE:=$(INCLUDE) $(STAGE1_ARCH_INCLUDE) +CFLAGS:=$(CFLAGS) $(STAGE1_ARCH_CFLAGS) +LDFLAGS:=$(LDFLAGS) $(STAGE1_ARCH_LDFLAGS) + +OBJS=$(STAGE1_ARCH_OBJS) \ + efi.o \ + +.PHONY: all clean install +.SUFFIXES: .o .c .s + +all: $(EFI) + +$(EFI): $(OBJS) + @$(LD) $(LDFLAGS) -out:$@ $^ + @echo [LD] $@ + +.c.o: + @$(CC) -MD -c $< -o $@ $(CFLAGS) $(INCLUDE) -DVERSION=\"$(VERSION)\" + @echo [CC] $@ + +.s.o: + @$(CC) -MD -c $< -o $@ $(CFLAGS) $(INCLUDE) -DVERSION=\"$(VERSION)\" + @echo [AS] $@ + +clean: + $(RM) $(EFI) $(EFI:.efi=.lib) $(OBJS) $(OBJS:.o=.d) + +install: $(EFI) + mkdir -p $(DESTDIR)$(BOOTDIR) + install -m 0755 $(EFI) $(DESTDIR)$(BOOTDIR)/$(EFI) + +-include $(OBJS:.o=.d) |