GCCPREFIX= #GCCPREFIX=/usr/local/mingw32/bin CC=${GCCPREFIX}gcc INCLUDEFLAGS=-I../head/sys/boot/efi/include/ -I../head/sys/boot/efi/include/i386 -I../head/sys/boot/common CFLAGS=-O2 -m32 ${INCLUDEFLAGS} #CFLAGS = -g -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds -c -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe ${INCLUDEFLAGS} OBJCOPY=${GCCPREFIX}objcopy EFIFORMAT=efi-app-ia32 LDSCRIPT=ldscript.i386 CLEANFILES=helloworld.dll helloworld.obj helloworld.o helloworld helloworld.efi start.o reloc.o all: helloworld.efi clean: rm -rf ${CLEANFILES} reloc.o: reloc.c ${CC} -c ${CFLAGS} reloc.c start.o: start.S ${CC} -c ${CFLAGS} start.S helloworld.o: helloworld.c ${CC} -c ${CFLAGS} helloworld.c helloworld: helloworld.o start.o reloc.o ${CC} -nostdlib -o helloworld -Wl,-T ${LDSCRIPT} -shared -symbolic helloworld.o start.o reloc.o # libefi.a helloworld.efi: helloworld ${OBJCOPY} -j .data -j .dynamic -j .dynstr -j .dynsym -j .hash \ -j .rel.dyn -j .reloc -j .sdata -j .text -j set_Xcommand_set \ --target=${EFIFORMAT} ${.ALLSRC} helloworld.efi