a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync# $Id$
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync## @file
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync# Sub-makefile for iPXE.
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync#
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync#
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync# Copyright (C) 2012 Oracle Corporation
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync#
01bceecc7f7484a8820c77b884bb91cdefc97390vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
01bceecc7f7484a8820c77b884bb91cdefc97390vboxsync# available from http://www.virtualbox.org. This file is free software;
01bceecc7f7484a8820c77b884bb91cdefc97390vboxsync# you can redistribute it and/or modify it under the terms of the GNU
01bceecc7f7484a8820c77b884bb91cdefc97390vboxsync# General Public License (GPL) as published by the Free Software
01bceecc7f7484a8820c77b884bb91cdefc97390vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
01bceecc7f7484a8820c77b884bb91cdefc97390vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
01bceecc7f7484a8820c77b884bb91cdefc97390vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync#
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsyncSUB_DEPTH = ../../../../..
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync#
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync# Globals.
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync#
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsyncVBOX_PATH_IPXE_SRC := $(PATH_SUB_CURRENT)
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync#
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync# iPxeBiosBin - Library containing the iPXE ROM as a data blob.
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync# Will be linked into VBoxDD2.
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync#
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsyncLIBRARIES += iPxeBiosBin
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsynciPxeBiosBin_TEMPLATE = VBOXR3
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsynciPxeBiosBin_DEFS = IN_VBOXDD2
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsynciPxeBiosBin_SOURCES = $(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsynciPxeBiosBin_CLEAN = \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsyncif1of ($(KBUILD_TARGET), darwin os2 solaris win)
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $$(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c: $(PATH_SUB_CURRENT)/iPxeBiosBin.rom $(VBOX_BIN2C) | $$(dir $$@)
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(call MSG_TOOL,bin2c,iPxeBiosBin,$<,$@)
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(QUIET)$(VBOX_BIN2C) -min 32 -max 56 -mask 0x1ff -export NetBiosBinary $< $@
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsyncelse
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync iPxeBiosBin_CLEAN += \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.rom \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(iPxeBiosBin_0_OUTDIR)/iPxeBaseBin.rom.bin \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(iPxeBiosBin_0_OUTDIR)/iPxeBaseBin.rom.zinfo
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $$(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c: $$(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.rom $(VBOX_BIN2C)
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(call MSG_TOOL,bin2c,iPxeBiosBin,$<,$@)
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(QUIET)$(VBOX_BIN2C) -min 32 -max 56 -mask 0x1ff -export NetBiosBinary $< $@
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $$(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.rom: \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $$(iPxeBaseBin_1_TARGET) \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $$(ipxezbin_1_TARGET) \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(VBOX_PATH_IPXE_SRC)/src/util/padimg.pl \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(VBOX_PATH_IPXE_SRC)/src/util/fixrom.pl \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync | $$(dir $$@)
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(call MSG_TOOL,zbin,iPxeBiosBin,$<,$@)
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(TOOL_$(VBOX_GCC32_TOOL)_OBJCOPY) -O binary -R .zinfo $< $(iPxeBiosBin_0_OUTDIR)/iPxeBaseBin.rom.bin
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(TOOL_$(VBOX_GCC32_TOOL)_OBJCOPY) -O binary -j .zinfo $< $(iPxeBiosBin_0_OUTDIR)/iPxeBaseBin.rom.zinfo
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(ipxezbin_1_TARGET) \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(iPxeBiosBin_0_OUTDIR)/iPxeBaseBin.rom.bin \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(iPxeBiosBin_0_OUTDIR)/iPxeBaseBin.rom.zinfo \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync > $@
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync perl $(VBOX_PATH_IPXE_SRC)/src/util/padimg.pl --blksize=512 --byte=0xff $@
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync perl $(VBOX_PATH_IPXE_SRC)/src/util/fixrom.pl $@
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(RM) -- \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(iPxeBiosBin_0_OUTDIR)/iPxeBaseBin.rom.bin \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(iPxeBiosBin_0_OUTDIR)/iPxeBaseBin.rom.zinfo
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync #
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync # iPxeLinker - Linker tool used to link the ROM binary.
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync #
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TOOL_iPxeLinker = iPXE LD tool.
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TOOL_iPxeLinker_LINK_PROGRAM_OUTPUT =
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TOOL_iPxeLinker_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TOOL_iPxeLinker_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).debug
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TOOL_iPxeLinker_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).debug=>$(basename $(3)).debug
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TOOL_iPxeLinker_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(filter %.def, $(othersrc))
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TOOL_iPxeLinker_LINK_PROGRAM_DEPORD =
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync define TOOL_iPxeLinker_LINK_PROGRAM_CMDS
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(QUIET)ld $(flags) -o $(out) $(objs)\
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(foreach p,$(libpath), -L$(p))\
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync endef
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync #
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync # iPXE - Template used to build the ROM binary.
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync #
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TEMPLATE_iPxe = iPXE code
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TEMPLATE_iPxe_TOOL = $(VBOX_GCC32_TOOL)
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TEMPLATE_iPxe_LDTOOL = iPxeLinker
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TEMPLATE_iPxe_LDFLAGS = \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -N \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync --no-check-sections \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync --gc-sections \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -T $(VBOX_PATH_IPXE_SRC)/src/arch/i386/scripts/i386.lds \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -u _rom_start --defsym check__rom_start=_rom_start \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -u obj_config --defsym check_obj_config=obj_config \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync --defsym pci_vendor_id=0x8086 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync --defsym pci_device_id=0x100E \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -e _rom_start
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsyncifeq ($(KBUILD_TARGET), freebsd)
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TEMPLATE_iPxe_LDFLAGS += -m elf_i386_fbsd
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsyncelse
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TEMPLATE_iPxe_LDFLAGS += -m elf_i386
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsyncendif
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TEMPLATE_iPxe_LNK_DEPS = $(VBOX_PATH_IPXE_SRC)/src/arch/i386/scripts/i386.lds
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TEMPLATE_iPxe_CFLAGS = \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -ffreestanding \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -ffunction-sections \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -march=i386 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -fomit-frame-pointer \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -fstrength-reduce \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -falign-jumps=1 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -falign-loops=1 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -Os \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -falign-functions=1 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -mpreferred-stack-boundary=2 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -mregparm=3 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -mrtd \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -freg-struct-return \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -fshort-wchar \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -Ui386 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -Ulinux \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -include compiler.h \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -Wall \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -W \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -Wformat-nonliteral \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(VBOX_GCC_fno-stack-protector) \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(VBOX_GCC_fno-dwarf2-cfi-asm) \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(VBOX_GCC_Wno-address)
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TEMPLATE_iPxe_ASFLAGS = \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -ffreestanding \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -ffunction-sections \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -march=i386 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -fomit-frame-pointer \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -fstrength-reduce \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -falign-jumps=1 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -falign-loops=1 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -falign-functions=1 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -mpreferred-stack-boundary=2 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -mregparm=3 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -mrtd \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -freg-struct-return \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -fshort-wchar \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -Ui386 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -Ulinux \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -include compiler.h \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -Wall \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -W \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -Wformat-nonliteral \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(VBOX_GCC_fno-stack-protector) \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(VBOX_GCC_fno-dwarf2-cfi-asm) \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(VBOX_GCC_Wno-address) \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync -DASSEMBLY
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync TEMPLATE_iPxe_DEFS = \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync ARCH=i386 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync PLATFORM=pcbios \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync VERSION_MAJOR=1 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync VERSION_MINOR=0 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync VERSION_PATCH=0 \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync VERSION=\"1.0.0+\" \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync _build_id=0xaffeaffe
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync #
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync # iPxeBaseBin - The iPXE ROM base binary.
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync #
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync PROGRAMS += iPxeBaseBin
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync iPxeBaseBin_TEMPLATE = iPxe
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync iPxeBaseBin_INCS = \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/include \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/x86/include \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/include \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/include/pcbios
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync iPxeBaseBin_SOURCES = \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/core/basemem_packet.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/core/relocate.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/core/timer2.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/firmware/pcbios/basemem.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/firmware/pcbios/bios_console.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/firmware/pcbios/hidemem.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/firmware/pcbios/memmap.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/hci/commands/reboot_cmd.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/image/bootsector.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/image/pxe_image.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/interface/pcbios/bios_nap.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/interface/pcbios/bios_smbios.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/interface/pcbios/bios_timer.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/interface/pcbios/biosint.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/interface/pcbios/int13.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/interface/pcbios/memtop_umalloc.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/interface/pcbios/pcibios.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/interface/pxe/pxe_call.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/interface/pxe/pxe_file.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/interface/pxe/pxe_loader.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/interface/pxe/pxe_preboot.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/interface/pxe/pxe_tftp.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/interface/pxe/pxe_udp.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/interface/pxe/pxe_undi.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/x86/core/x86_string.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/config/config.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/config/config_romprefix.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/acpi.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/ansiesc.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/asprintf.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/base16.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/base64.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/basename.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/bitmap.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/blockdev.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/console.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/ctype.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/cwuri.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/device.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/downloader.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/edd.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/exec.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/getkey.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/getopt.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/image.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/init.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/interface.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/iobuf.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/job.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/linebuf.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/main.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/malloc.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/menu.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/misc.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/monojob.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/nvo.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/open.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/parseopt.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/posix_io.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/process.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/random.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/refcnt.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/resolv.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/settings.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/string.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/time.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/timer.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/uri.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/uuid.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/vsprintf.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/core/xfer.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/crypto/chap.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/crypto/md5.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/bitbash/bitbash.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/bitbash/spi_bit.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/block/ata.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/block/ibft.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/block/scsi.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/bus/pci.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/bus/virtio-ring.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/bus/virtio-pci.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/net/mii.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/net/ne.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/net/intel.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/net/pcnet32.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/net/virtio-net.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/nvs/nvs.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/nvs/spi.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/drivers/nvs/threewire.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/commands/autoboot_cmd.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/commands/config_cmd.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/commands/dhcp_cmd.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/commands/ifmgmt_cmd.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/commands/image_cmd.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/commands/login_cmd.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/commands/menu_cmd.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/commands/nvo_cmd.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/commands/route_cmd.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/editstring.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/keymap/keymap_us.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/mucurses/ansi_screen.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/mucurses/clear.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/mucurses/colour.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/mucurses/mucurses.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/mucurses/print.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/mucurses/widgets/editbox.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/mucurses/winattrs.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/mucurses/wininit.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/readline.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/shell.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/strerror.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/tui/login_ui.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/tui/menu_ui.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/hci/tui/settings_ui.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/image/script.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/image/segment.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/interface/smbios/smbios.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/interface/smbios/smbios_settings.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/libgcc/memcpy.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/arp.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/dhcpopts.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/dhcppkt.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/eth_slow.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/ethernet.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/fakedhcp.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/icmp.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/iobpad.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/ipv4.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/netdev_settings.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/netdevice.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/nullnet.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/rarp.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/retry.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/tcp.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/tcpip.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/udp.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/udp/dhcp.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/udp/dns.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/net/udp/tftp.c \
62989a9da77b2beadc7d3c9db616d3cc12f97a0evboxsync src/net/tcp/http.c \
62989a9da77b2beadc7d3c9db616d3cc12f97a0evboxsync src/net/tcp/httpcore.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/usr/autoboot.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/usr/dhcpmgmt.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/usr/ifmgmt.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/usr/imgmgmt.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/usr/prompt.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/usr/pxemenu.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/usr/route.c \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/core/patch_cf.S \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/core/setjmp.S \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/core/stack.S \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/core/stack16.S \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/core/virtaddr.S \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/firmware/pcbios/e820mangler.S \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/interface/pxe/pxe_entry.S \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/prefix/libprefix.S \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/prefix/romprefix.S \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/prefix/undiloader.S \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/prefix/unnrv2b.S \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/prefix/unnrv2b16.S \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/transitions/liba20.S \
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync src/arch/i386/transitions/librm.S
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync define def_iPxeBaseBinDefs
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(file)_DEFS += OBJECT=$(subst -,_,$(basename $(notdir $(file))))
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync endef
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync $(foreach file,$(iPxeBaseBin_SOURCES),$(eval $(call def_iPxeBaseBinDefs)))
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync #
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync # ipxezbin - Compressor?
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync #
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync BLDPROGS += ipxezbin
818fc571b99bf867efcfd44b8e79c58ea9e1df56vboxsync ipxezbin_TEMPLATE = VBoxBldProg
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync ipxezbin_CFLAGS = -Wno-format
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync ipxezbin_SOURCES = src/util/zbin.c
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsyncendif
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsyncinclude $(FILE_KBUILD_SUB_FOOTER)
a734c64bff58bda2fa48c2795453e092167b0ff7vboxsync