MINGW_PREFIX_DEBIAN	= x86_64-w64-mingw32-
MINGW_PREFIX		= $(MINGW_PREFIX_DEBIAN)
EXE_CC			= $(MINGW_PREFIX)gcc
EXE_OBJCOPY		= $(MINGW_PREFIX)objcopy
RM			= rm -f
EDK_DIR			= ../vmm/edk

.PHONY : all
all : loadvmm.efi

.PHONY : clean
clean :
	$(RM) loadvmm.dll loadvmm.efi

loadvmm.efi : loadvmm.dll
	$(EXE_OBJCOPY) --target=efi-app-x86_64 \
		loadvmm.dll loadvmm.efi

loadvmm.dll : loadvmm.c
	$(EXE_CC) -shared -nostdlib -e efi_main \
		-mno-red-zone -mno-sse -nostdinc -s -O \
		-ffreestanding -fno-builtin -fno-stack-protector \
		-Wall -Werror -Wno-missing-braces \
		-I$(EDK_DIR)/Foundation/Efi/Include/ \
		-I$(EDK_DIR)/Foundation/Framework/Include/ \
		-I$(EDK_DIR)/Foundation/Include/ \
		-I$(EDK_DIR)/Foundation/Efi/ -o loadvmm.dll loadvmm.c
