mirror of
https://github.com/xcat2/xNBA.git
synced 2025-01-20 06:23:14 +00:00
[makefile] Kill off arch/$(ARCH)/Config
The arch/i386/Config file has long been marked as deprecated. Move all the pertinent bits to arch/i386/Makefile instead and remove arch/i386/Config.
This commit is contained in:
parent
160b950af8
commit
f0b942ef42
13
src/Makefile
13
src/Makefile
@ -73,19 +73,6 @@ noargs : blib $(BIN)/NIC $(BIN)/gpxe.dsk $(BIN)/gpxe.iso $(BIN)/gpxe.usb $(BIN)/
|
||||
#
|
||||
ARCH := $(shell uname -m | sed -e 's,i[3456789]86,i386,')
|
||||
|
||||
# handle x86_64 like i386, but set -m32 option for 32bit code only
|
||||
ifeq ($(ARCH),x86_64)
|
||||
ARCH := i386
|
||||
CFLAGS += -m32
|
||||
ASFLAGS += --32
|
||||
LDFLAGS += -m elf_i386
|
||||
endif
|
||||
|
||||
# Drag in architecture-specific Config
|
||||
#
|
||||
MAKEDEPS += arch/$(ARCH)/Config
|
||||
include arch/$(ARCH)/Config
|
||||
|
||||
# Common flags
|
||||
#
|
||||
CFLAGS += -I include -I arch/$(ARCH)/include -I . -DARCH=$(ARCH)
|
||||
|
@ -1,148 +0,0 @@
|
||||
# -*- makefile -*-
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
#
|
||||
# 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 i386 Etherboot
|
||||
#
|
||||
# Do not delete the tag OptionDescription and /OptionDescription
|
||||
# It is used to automatically generate the documentation.
|
||||
#
|
||||
# @OptionDescrition@
|
||||
#
|
||||
# BIOS interface options:
|
||||
#
|
||||
# -DPCBIOS
|
||||
# Compile in support for the normal pcbios
|
||||
# -DLINUXBIOS
|
||||
# Compile in support for LinuxBIOS
|
||||
# -DBBS_BUT_NOT_PNP_COMPLIANT
|
||||
# Some BIOSes claim to be PNP but they don't conform
|
||||
# to the BBS spec which specifies that ES:DI must
|
||||
# point to the string $PnP on entry. This option
|
||||
# works around those. This option must be added to
|
||||
# LCONFIG.
|
||||
# -DNO_DELAYED_INT
|
||||
# Take control as soon as BIOS detects the ROM.
|
||||
# Normally hooks onto INT18H or INT19H. Use only if you
|
||||
# have a very non-conformant BIOS as it bypasses
|
||||
# BIOS initialisation of devices. This only works for
|
||||
# legacy ROMs, i.e. PCI_PNP_HEADER not defined.
|
||||
# This option was formerly called NOINT19H.
|
||||
# -DBOOT_INT18H
|
||||
# Etherboot normally hooks onto INT19H for legacy ROMs.
|
||||
# You can choose to hook onto INT18H (BASIC interpreter
|
||||
# entry point) instead. This entry point is used when
|
||||
# all boot devices have been exhausted. This option must
|
||||
# be added to LCONFIG.
|
||||
# -DCONFIG_PCI_DIRECT
|
||||
# Define this for PCI BIOSes that do not implement
|
||||
# BIOS32 or not correctly. Normally not needed.
|
||||
# Only works for BIOSes of a certain era.
|
||||
# -DCONFIG_TSC_CURRTICKS
|
||||
# Uses the processor time stamp counter instead of reading
|
||||
# the BIOS time counter. This allows Etherboot to work
|
||||
# even without a BIOS. This only works on late model
|
||||
# 486s and above.
|
||||
# -DCONFIG_NO_TIMER2
|
||||
# Some systems do not have timer2 implemented.
|
||||
# If you have a RTC this will allow you to roughly calibrate
|
||||
# it using outb instructions.
|
||||
#
|
||||
# Extended cpu options
|
||||
|
||||
# -DCONFIG_X86_64
|
||||
# Compile in support for booting x86_64 64bit binaries.
|
||||
#
|
||||
# PXE loader options:
|
||||
#
|
||||
# -DPXELOADER_KEEP_ALL
|
||||
# Prevent PXE loader (prefix) from unloading the
|
||||
# PXE stack. You will want to use this if, for
|
||||
# example, you are booting via PXE-on-floppy.
|
||||
# You may want to use it under certain
|
||||
# circumstances when using the Etherboot UNDI
|
||||
# driver; these are complex and best practice is
|
||||
# not yet established.
|
||||
#
|
||||
# Obscure options you probably don't need to touch:
|
||||
#
|
||||
# -DIGNORE_E820_MAP
|
||||
# Ignore the memory map returned by the E820 BIOS
|
||||
# call. May be necessary on some buggy BIOSes.
|
||||
# -DT503_AUI
|
||||
# Use AUI by default on 3c503 cards.
|
||||
# -DFLATTEN_REAL_MODE
|
||||
# Use 4GB segment limits when calling out to or
|
||||
# returning to real-mode code. This is necessary to
|
||||
# work around some buggy code (e.g. OpenBSD's pxeboot)
|
||||
# that uses flat real-mode without being sufficiently
|
||||
# paranoid about the volatility of its segment limits.
|
||||
|
||||
#
|
||||
# @/OptionDescription@
|
||||
|
||||
# BIOS select don't change unless you know what you are doing
|
||||
# CFLAGS+= -DPCBIOS
|
||||
|
||||
# Compile in k8/hammer support
|
||||
# CFLAGS+= -DCONFIG_X86_64
|
||||
|
||||
# Options to make a version of Etherboot that will work under linuxBIOS.
|
||||
# CFLAGS+= -DLINUXBIOS -DCONFIG_TSC_CURRTICKS -DCONSOLE_SERIAL -DCOMCONSOLE=0x3f8 -DCOMPRESERVE -DCONFIG_PCI_DIRECT -DELF_IMAGE
|
||||
|
||||
# These options affect the loader that is prepended to the Etherboot image
|
||||
# LCONFIG+= -DBBS_BUT_NOT_PNP_COMPLIANT
|
||||
# LCONFIG+= -DBOOT_INT18H
|
||||
|
||||
# Produce code that will work with OpenBSD's pxeboot
|
||||
# CFLAGS+= -DFLATTEN_REAL_MODE
|
||||
|
||||
CFLAGS+= -fstrength-reduce -fomit-frame-pointer -march=i386
|
||||
# Squeeze the code in as little space as possible.
|
||||
# gcc3 needs a different syntax to gcc2 if you want to avoid spurious warnings.
|
||||
GCC_VERSION = $(subst ., ,$(shell $(CC) -dumpversion))
|
||||
GCC_MAJORVERSION = $(firstword $(GCC_VERSION))
|
||||
ifeq ($(GCC_MAJORVERSION),2)
|
||||
CFLAGS+= -malign-jumps=1 -malign-loops=1 -malign-functions=1
|
||||
else
|
||||
CFLAGS+= -falign-jumps=1 -falign-loops=1 -falign-functions=1
|
||||
endif
|
||||
|
||||
# this is almost always a win. the kernel uses it, too.
|
||||
CFLAGS+= -mpreferred-stack-boundary=2
|
||||
|
||||
# use regparm for all functions - C functions called from assembly (or
|
||||
# vice versa) need __cdecl now
|
||||
CFLAGS+= -mregparm=3
|
||||
|
||||
# use -mrtd (same __cdecl requirements as above)
|
||||
CFLAGS+= -mrtd
|
||||
|
||||
# this is the logical complement to -mregparm=3.
|
||||
# it doesn't currently buy us anything, but if anything ever tries
|
||||
# to return small structures, let's be prepared
|
||||
CFLAGS+= -freg-struct-return
|
||||
|
||||
LDFLAGS+= -N --no-check-sections
|
||||
|
||||
ifeq "$(shell uname -s)" "FreeBSD"
|
||||
CFLAGS+= -DIMAGE_FREEBSD -DELF_IMAGE -DAOUT_IMAGE
|
||||
endif
|
||||
|
||||
# An alternate location for isolinux.bin can be set here
|
||||
# ISOLINUX_BIN=/path/to/isolinux.bin
|
@ -1,3 +1,59 @@
|
||||
# Force i386-only instructions
|
||||
#
|
||||
CFLAGS += -march=i386
|
||||
|
||||
# Code size reduction.
|
||||
#
|
||||
CFLAGS += -fstrength-reduce -fomit-frame-pointer
|
||||
|
||||
# Code size reduction. gcc3 needs a different syntax to gcc2 if you
|
||||
# want to avoid spurious warnings.
|
||||
#
|
||||
GCC_VERSION := $(subst ., ,$(shell $(CC) -dumpversion))
|
||||
GCC_MAJOR := $(firstword $(GCC_VERSION))
|
||||
ifeq ($(GCC_MAJOR),2)
|
||||
CFLAGS += -malign-jumps=1 -malign-loops=1 -malign-functions=1
|
||||
else
|
||||
CFLAGS += -falign-jumps=1 -falign-loops=1 -falign-functions=1
|
||||
endif
|
||||
|
||||
# Code size reduction. This is almost always a win. The kernel uses it, too.
|
||||
#
|
||||
CFLAGS += -mpreferred-stack-boundary=2
|
||||
|
||||
# Code size reduction. Use regparm for all functions - C functions
|
||||
# called from assembly (or vice versa) need __cdecl now
|
||||
#
|
||||
CFLAGS += -mregparm=3
|
||||
|
||||
# Code size reduction. Use -mrtd (same __cdecl requirements as above)
|
||||
CFLAGS += -mrtd
|
||||
|
||||
# Code size reduction. This is the logical complement to -mregparm=3.
|
||||
# It doesn't currently buy us anything, but if anything ever tries to
|
||||
# return small structures, let's be prepared
|
||||
#
|
||||
CFLAGS += -freg-struct-return
|
||||
|
||||
# Stop ld from complaining about our customised linker script
|
||||
#
|
||||
LDFLAGS += -N --no-check-sections
|
||||
|
||||
# Force 32-bit code even on an x86-64 machine
|
||||
#
|
||||
CFLAGS += -m32
|
||||
ASFLAGS += --32
|
||||
LDFLAGS += -m elf_i386
|
||||
|
||||
# EFI requires -fshort-wchar, and nothing else currently uses wchar_t
|
||||
#
|
||||
CFLAGS += -fshort-wchar
|
||||
|
||||
# We need to undefine the default macro "i386" when compiling .S
|
||||
# files, otherwise ".arch i386" translates to ".arch 1"...
|
||||
#
|
||||
CFLAGS += -Ui386
|
||||
|
||||
# Locations of utilities
|
||||
#
|
||||
ISOLINUX_BIN = /usr/lib/syslinux/isolinux.bin
|
||||
@ -25,11 +81,6 @@ NON_AUTO_SRCS += arch/i386/core/wince_loader.c
|
||||
OBJS_unnrv2b = unnrv2b unnrv2b16
|
||||
CFLAGS_unnrv2b16 = -DCODE16
|
||||
|
||||
# We need to undefine the default macro "i386" when compiling .S
|
||||
# files, otherwise ".arch i386" translates to ".arch 1"...
|
||||
#
|
||||
CFLAGS_S += -Ui386
|
||||
|
||||
# The i386 linker script
|
||||
#
|
||||
LDSCRIPT = arch/i386/scripts/i386.lds
|
||||
|
Loading…
x
Reference in New Issue
Block a user