blob: 29151cd1584c0d6bedd36b6047653531c1c02db4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
include ../defaults.mk
%.efi:
$(CC.info)
@$(CC) $(LDFLAGS) -o $@ $^
VPATH := ../lib ../lib/asm/$(ARCH) efi/
IMAGE := kjarna.efi
CPPFLAGS += -I../api -I../lib
CFLAGS += --target=$(ARCH)-unknown-windows -fshort-wchar -mno-avx \
-mno-sse -mno-mmx -funsigned-char -Wno-pointer-sign -ggdb \
-fno-ms-extensions
ASFLAGS += --target=$(ARCH)-unknown-windows -ggdb
LDFLAGS := --target=$(ARCH)-unknown-windows -nostdlib -ggdb \
-Wl,-entry:_start,-subsystem:efi_application -fuse-ld=lld-link
all: $(IMAGE)
CRT_OBJS := start.o bind.o
LIB_OBJS := memcmp.o memset.o memcpy.o memmove.o string.o elf64.o printf.o stdio.o msr.o
EFI_OBJS := file.o memory.o protocol.o image.o
APP_OBJS := main.o fake_syscall_entry.o fake_syscall.o
OBJS := $(CRT_OBJS) $(LIB_OBJS) $(EFI_OBJS) $(APP_OBJS)
DEPS := $(OBJS:.o=.d)
$(IMAGE): $(OBJS)
CLEANLIST := $(wildcard $(BUILD) $(OBJS) $(IMAGE) $(IMAGE:.efi=.pdb))
DCLEANLIST := $(CLEANLIST) $(wildcard $(DEPS))
include ../rules.mk
-include $(DEPS)
|