--- /dev/null
+## Makefile to build for efi using gnu-efi
+
+TYPING = ItemKeyFun.c integeritem.c stringitem.c
+VECTOR = Vector.c HashVector.c
+EFIMM = Heap.c
+INCDIR = -Ityping -Ivector -Iefimm
+
+
+OBJS = $(addprefix typing/,${TYPING:.c=.o})
+OBJS += $(addprefix vector/,${VECTOR:.c=.o})
+OBJS += $(addprefix efimm/,${EFIMM:.c=.o})
+
+$(info ${OBJS})
+
+default: librrqmisc.a
+
+GNUEFI = /home/ralph/src/gnu-efi
+INCDIR += -I${GNUEFI}/inc -I${GNUEFI}/inc/protocol -I${GNUEFI}/inc/x86_64
+CFLAGS += -Wno-error=pragmas -mno-red-zone -mno-avx -fpic -g -O2 -Wall -Wextra -Werror
+CFLAGS += -fshort-wchar -fno-strict-aliasing -ffreestanding -fno-stack-protector -fno-stack-check
+CFLAGS += -fno-stack-check -fno-merge-all-constants
+CFLAGS += -fmax-errors=1
+CPPFLAGS += -DCONFIG_x86_64 -DGNU_EFI_USE_MS_ABI
+CPPFLAGS += -maccumulate-outgoing-args --std=c11
+CPPFLAGS += -D__KERNEL__ -I/usr/src/sys/build/include
+
+%.o: %.c
+ $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
+
+librrqmisc.a: $(patsubst %,librrqmisc.a(%),${OBJS})
+
+clean:
+ rm -f none {efimm,typing,vector}/*.o