
ETHERBOOT_VERSION := 5.4.3

MAKE_OPTS += -C etherboot-$(ETHERBOOT_VERSION)/src
MAKE_OPTS += ARCH=i386
MAKE_OPTS += EXTRA_CFLAGS="-m32" EXTRA_ASFLAGS="--32" EXTRA_LDFLAGS="-m elf_i386"

CFLAGS :=
CPPFLAGS :=
LDFLAGS :=

all: rtl8139.zrom.h
	@ :

clean:
	rm -rf etherboot-$(ETHERBOOT_VERSION) rtl8139.zrom.h

rtl8139.zrom.h: etherboot-$(ETHERBOOT_VERSION)/src/bin/rtl8139.zrom
	sh ../hvmloader/mkhex etherboot $< >$@

etherboot-$(ETHERBOOT_VERSION)/src/bin/rtl8139.zrom: etherboot-$(ETHERBOOT_VERSION)/.patched
	$(MAKE) $(MAKE_OPTS) clean
	$(MAKE) $(MAKE_OPTS) bin/rtl8139.zrom

etherboot-$(ETHERBOOT_VERSION)/.patched: etherboot-$(ETHERBOOT_VERSION)/.dirstamp
	@cd etherboot-$(ETHERBOOT_VERSION) && cat ../patches/series | while read p; \
	do \
	  patch -p1 <../patches/$$p; \
	done
	@touch $@

etherboot-$(ETHERBOOT_VERSION)/.dirstamp: etherboot-$(ETHERBOOT_VERSION).tar.bz2
	@tar jxvf $<
	@touch $@

KXEN_DISTFILES = ../../../distfiles
ETHERBOOT_URL = http://switch.dl.sourceforge.net/sourceforge/etherboot

.INTERMEDIATE: etherboot-$(ETHERBOOT_VERSION).tar.bz2
etherboot-$(ETHERBOOT_VERSION).tar.bz2:
	[ ! -e $(KXEN_DISTFILES)/etherboot-$(ETHERBOOT_VERSION).tar.bz2 ] || \
	  cp $(KXEN_DISTFILES)/etherboot-$(ETHERBOOT_VERSION).tar.bz2 ./
	[ -e etherboot-$(ETHERBOOT_VERSION).tar.bz2 ] || \
	  (cd $(KXEN_DISTFILES) && wget $(ETHERBOOT_URL)/${@F}) && \
	    ln -fs $(KXEN_DISTFILES)/${@F}
