+##############################################################################
+##############################################################################
+#
+# IMPORTANT!
+#
+# The use of this file to set options that affect only single object
+# files is deprecated, because changing anything in this file results
+# in a complete rebuild, which is slow. All options are gradually
+# being migrated to config.h, which does not suffer from this problem.
+#
+# Only options that affect the entire build (e.g. overriding the $(CC)
+# Makefile variable) should be placed in here.
+#
+##############################################################################
+##############################################################################
+
+
#
# Config for Etherboot/32
#
+#
# Do not delete the tag OptionDescription and /OptionDescription
# It is used to automatically generate the documentation.
#
#
# Boot image options:
#
-# -DTAGGED_IMAGE
-# Add tagged image kernel boot support (recommended).
-# -DAOUT_IMAGE
-# Add a.out kernel boot support (generic).
-# -DELF_IMAGE
-# Add generic ELF kernel boot support (recommended).
-# -DEL64F_IMAGE
-# Add generic ELF64 kernel boot support (useful for > 4GB disks).
-# -DWINCE_IMAGE
-# Add the ability to boot WINCE.... now only sis630 OK!
-# -DPXE_IMAGE
-# Add the ability to boot PXE NBPs. Requires
-# PXE_EXPORT. Currently not supported on
-# anything other than i386
-# -DFREEBSD_PXEEMU
-# Add the ability to boot PXE images... only FreeBSD supported
-# -DIMAGE_MULTIBOOT
-# Add Multiboot image support (currently only
-# for ELF images).
-# Without this, generic ELF support is selected.
-# -DIMAGE_FREEBSD
-# Add FreeBSD image loading support (requires at least
-# -DAOUT_IMAGE and/or -DELF_IMAGE).
# -DFREEBSD_KERNEL_ENV
# Pass in FreeBSD kernel environment
# -DAOUT_LYNX_KDI
# Support for sending multicast packets
# -DMULTICAST_LEVEL2
# Support for receiving multicast packets
-# -DDNS_RESOLVER
-# Support for resolving hostnames in bootfile name (experimental)
-# -DDOWNLOAD_PROTO_TFTP
-# If defined, includes TFTP support (recommended).
-# -DDOWNLOAD_PROTO_NFS
-# If defined, includes NFS support.
-# -DDEFAULT_PROTO_NFS
-# If defined, makes NFS the default protocol instead
-# of TFTP. Requires DOWNLOAD_PROTO_NFS.
-# -DDOWNLOAD_PROTO_SLAM
-# If defined, includes Scalable Local Area Multicast
-# support.
-# -DDOWNLOAD_PROTO_TFTM
-# If defined, includes TFTP Multicast mode support.
-# -DDOWNLOAD_PROTO_HTTP
-# If defined, includes HTTP support.
#
# Interface export options:
#
#
# Obscure options you probably don't need to touch:
#
+# -DZPXE_SUFFIX_STRIP
+# If the last 5 characters of the filename passed to Etherboot is
+# ".zpxe" then strip it off. This is useful in cases where a DHCP server
+# is not able to be configured to support conditionals. The way it works
+# is that the DHCP server is configured with a filename like
+# "foo.nbi.zpxe" so that when PXE asks for a filename it gets that, and
+# loads Etherboot from that file. Etherboot then starts up and once
+# again asks the DHCP server for a filename and once again gets
+# foo.nbi.zpxe, but with this option turned on loads "foo.nbi" instead.
+# This allows people to use Etherboot who might not otherwise be able to
+# because their DHCP servers won't let them.
+#
# -DPOWERSAVE
# Halt the processor when waiting for keyboard input
# which saves power while waiting for user interaction.
# Good for compute clusters and VMware emulation.
# But may not work for all CPUs.
-# -DBUILD_SERIAL
-# Include an auto-incrementing build number in
-# the Etherboot welcome message. Useful when
-# developing, to be sure that the file you
-# compiled is the one you're currently testing.
-# -DBUILD_ID
-# Include a build ID string in the Etherboot
-# welcome message. Useful when developing, if
-# you have multiple builds with different
-# configurations and want to check you're
-# running the one you think you are. Requires
-# -DBUILD_SERIAL.
#
# @/OptionDescription@
# CFLAGS+= -DDHCP_USER_CLASS="5,'A','L','P','H','A',4,'B','E','T','A'" \
# -DDHCP_USER_CLASS_LEN=11
-# for btext console support
-# CFLAGS+= -DCONSOLE_BTEXT
-# for direct PC kbd support
-# CFLAGS+= -DCONSOLE_PC_KBD
# Set to enable FILO support
# for FILO support it will make main call pci_init
# INCLUDE_FILO=y
# Limit the delay on packet loss/congestion to a more bearable value. See
# description above. If unset, do not limit the delay between resend.
-CFLAGS+= -DBACKOFF_LIMIT=7 -DCONGESTED
+CFLAGS+= -DBACKOFF_LIMIT=5 -DCONGESTED
# More optional features
# CFLAGS+= -DTRY_FLOPPY_FIRST=4
# CFLAGS+= -DEXIT_IF_NO_OFFER
-# Enable tagged image, generic ELF, Multiboot ELF
-# or FreeBSD ELF/a.out boot image support
-CFLAGS+= -DTAGGED_IMAGE -DELF_IMAGE
-# CFLAGS+= -DAOUT_IMAGE -DIMAGE_MULTIBOOT -DIMAGE_FREEBSD
-# CFLAGS+= -DAOUT_IMAGE -DAOUT_LYNX_KDI
-# CFLAGS+= -DCOFF_IMAGE
-# CFLAGS+= -DRAW_IMAGE
-
-# Download files via TFTP
-CFLAGS+= -DDOWNLOAD_PROTO_TFTP
-# Change download protocol to NFS, default is TFTP
-# CFLAGS+= -DDOWNLOAD_PROTO_NFS
-# Change download protocol to HTTP, default is TFTP
-# CFLAGS+= -DDOWNLOAD_PROTO_HTTP
-# Change default protocol to NFS
-# CFLAGS+= -DDEFAULT_PROTO_NFS
-# Support to resolve hostnames in boot filename
-# CFLAGS+= -DDNS_RESOLVER
# Multicast Support
-# CFLAGS+= -DALLMULTI -DMULTICAST_LEVEL1 -DMULTICAST_LEVEL2 -DDOWNLOAD_PROTO_TFTM
+# CFLAGS+= -DALLMULTI -DMULTICAST_LEVEL1 -DMULTICAST_LEVEL2
# Etherboot as a PXE network protocol ROM
CFLAGS+= -DPXE_IMAGE -DPXE_EXPORT
# via pxeboot, use only with DOWNLOAD_PROTO_NFS
# CFLAGS+= -DFREEBSD_PXEEMU
-# Include an auto-incrementing build serial number and optional build
-# ID string
-# CFLAGS+= -DBUILD_SERIAL
-# CFLAGS+= -DBUILD_SERIAL -DBUILD_ID=\"testing\"
-
-# Do not relocate
-# core/relocate.c should really be moved to an arch specific directory
-# but this is here for archs that don't support relocation
-# CFLAGS+= -DNORELOCATE
-
-
# Garbage from Makefile.main temporarily placed here until a home can