Annotation of qemu/roms/ipxe/src/arch/i386/Makefile, revision 1.1

1.1     ! root        1: # Force i386-only instructions
        !             2: #
        !             3: CFLAGS         += -march=i386
        !             4: 
        !             5: # Code size reduction.
        !             6: #
        !             7: CFLAGS         += -fomit-frame-pointer
        !             8: 
        !             9: # Code size reduction.
        !            10: #
        !            11: ifeq ($(CCTYPE),gcc)
        !            12: CFLAGS         += -fstrength-reduce
        !            13: endif
        !            14: 
        !            15: # Code size reduction.  gcc3 needs a different syntax to gcc2 if you
        !            16: # want to avoid spurious warnings.
        !            17: #
        !            18: ifeq ($(CCTYPE),gcc)
        !            19: GCC_VERSION    := $(subst ., ,$(shell $(CC) -dumpversion))
        !            20: GCC_MAJOR      := $(firstword $(GCC_VERSION))
        !            21: ifeq ($(GCC_MAJOR),2)
        !            22: CFLAGS         += -malign-jumps=1 -malign-loops=1 -malign-functions=1
        !            23: else
        !            24: CFLAGS         += -falign-jumps=1 -falign-loops=1 -falign-functions=1
        !            25: endif # gcc2
        !            26: endif # gcc
        !            27: 
        !            28: # Code size reduction.  This is almost always a win.  The kernel uses
        !            29: # it, too.
        !            30: #
        !            31: ifeq ($(CCTYPE),gcc)
        !            32: CFLAGS         += -mpreferred-stack-boundary=2
        !            33: endif
        !            34: 
        !            35: # Code size reduction.  Use regparm for all functions - C functions
        !            36: # called from assembly (or vice versa) need __asmcall now
        !            37: #
        !            38: CFLAGS         += -mregparm=3
        !            39: 
        !            40: # Code size reduction.  Use -mrtd (same __asmcall requirements as above)
        !            41: ifeq ($(CCTYPE),gcc)
        !            42: CFLAGS         += -mrtd
        !            43: endif
        !            44: 
        !            45: # Code size reduction.  This is the logical complement to -mregparm=3.
        !            46: # It doesn't currently buy us anything, but if anything ever tries to
        !            47: # return small structures, let's be prepared
        !            48: #
        !            49: CFLAGS         += -freg-struct-return
        !            50: 
        !            51: # Force 32-bit code even on an x86-64 machine
        !            52: #
        !            53: CFLAGS         += -m32
        !            54: ASFLAGS                += --32
        !            55: ifeq ($(HOST_OS),FreeBSD)
        !            56: LDFLAGS                += -m elf_i386_fbsd
        !            57: else
        !            58: LDFLAGS                += -m elf_i386
        !            59: endif
        !            60: 
        !            61: # EFI requires -fshort-wchar, and nothing else currently uses wchar_t
        !            62: #
        !            63: CFLAGS         += -fshort-wchar
        !            64: 
        !            65: # We need to undefine the default macro "i386" when compiling .S
        !            66: # files, otherwise ".arch i386" translates to ".arch 1"...
        !            67: #
        !            68: CFLAGS                 += -Ui386
        !            69: 
        !            70: # Locations of utilities
        !            71: #
        !            72: ISOLINUX_BIN_LIST      := \
        !            73:        $(ISOLINUX_BIN) \
        !            74:        /usr/lib/syslinux/isolinux.bin \
        !            75:        /usr/share/syslinux/isolinux.bin \
        !            76:        /usr/local/share/syslinux/isolinux.bin
        !            77: ISOLINUX_BIN   = $(firstword $(wildcard $(ISOLINUX_BIN_LIST)))
        !            78: 
        !            79: # i386-specific directories containing source files
        !            80: #
        !            81: SRCDIRS                += arch/i386/core arch/i386/transitions arch/i386/prefix
        !            82: SRCDIRS                += arch/i386/firmware/pcbios
        !            83: SRCDIRS                += arch/i386/image
        !            84: SRCDIRS                += arch/i386/interface/pcbios
        !            85: SRCDIRS                += arch/i386/interface/pxe
        !            86: SRCDIRS                += arch/i386/interface/pxeparent
        !            87: SRCDIRS        += arch/i386/interface/syslinux
        !            88: SRCDIRS                += arch/i386/hci/commands
        !            89: 
        !            90: # The various xxx_loader.c files are #included into core/loader.c and
        !            91: # should not be compiled directly.
        !            92: #
        !            93: NON_AUTO_SRCS  += arch/i386/core/aout_loader.c
        !            94: NON_AUTO_SRCS  += arch/i386/core/freebsd_loader.c
        !            95: NON_AUTO_SRCS  += arch/i386/core/wince_loader.c
        !            96: 
        !            97: # Include common x86 Makefile
        !            98: #
        !            99: MAKEDEPS       += arch/x86/Makefile
        !           100: include arch/x86/Makefile
        !           101: 
        !           102: # Include platform-specific Makefile
        !           103: #
        !           104: MAKEDEPS       += arch/i386/Makefile.$(PLATFORM)
        !           105: include arch/i386/Makefile.$(PLATFORM)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.