Annotation of qemu/roms/ipxe/src/Makefile, revision 1.1.1.1

1.1       root        1: ###############################################################################
                      2: #
                      3: # Initialise various variables
                      4: #
                      5: 
                      6: CLEANUP                :=
                      7: CFLAGS         :=
                      8: ASFLAGS                :=
                      9: LDFLAGS                :=
                     10: MAKEDEPS       := Makefile
                     11: 
                     12: ###############################################################################
                     13: #
                     14: # Locations of tools
                     15: #
                     16: HOST_CC                := gcc
                     17: RM             := rm -f
                     18: TOUCH          := touch
                     19: MKDIR          := mkdir
                     20: CP             := cp
                     21: ECHO           := echo
                     22: PRINTF         := printf
                     23: PERL           := perl
                     24: TRUE           := true
                     25: CC             := $(CROSS_COMPILE)gcc
                     26: CPP            := $(CC) -E
                     27: AS             := $(CROSS_COMPILE)as
                     28: LD             := $(CROSS_COMPILE)ld
                     29: SIZE           := $(CROSS_COMPILE)size
                     30: AR             := $(CROSS_COMPILE)ar
                     31: RANLIB         := $(CROSS_COMPILE)ranlib
                     32: OBJCOPY                := $(CROSS_COMPILE)objcopy
                     33: NM             := $(CROSS_COMPILE)nm
                     34: OBJDUMP                := $(CROSS_COMPILE)objdump
                     35: PARSEROM       := ./util/parserom.pl
                     36: FIXROM         := ./util/fixrom.pl
                     37: SYMCHECK       := ./util/symcheck.pl
                     38: SORTOBJDUMP    := ./util/sortobjdump.pl
                     39: PADIMG         := ./util/padimg.pl
                     40: LICENCE                := ./util/licence.pl
                     41: NRV2B          := ./util/nrv2b
                     42: ZBIN           := ./util/zbin
                     43: ELF2EFI32      := ./util/elf2efi32
                     44: ELF2EFI64      := ./util/elf2efi64
                     45: EFIROM         := ./util/efirom
                     46: ICCFIX         := ./util/iccfix
                     47: EINFO          := ./util/einfo
                     48: GENKEYMAP      := ./util/genkeymap.pl
                     49: DOXYGEN                := doxygen
                     50: BINUTILS_DIR   := /usr
                     51: BFD_DIR                := $(BINUTILS_DIR)
                     52: ZLIB_DIR       := /usr
                     53: 
                     54: ###############################################################################
                     55: #
                     56: # SRCDIRS lists all directories containing source files.
                     57: #
                     58: SRCDIRS                :=
                     59: SRCDIRS                += libgcc
                     60: SRCDIRS                += core
                     61: SRCDIRS                += net net/tcp net/udp net/infiniband net/80211
                     62: SRCDIRS                += image
                     63: SRCDIRS                += drivers/bus
                     64: SRCDIRS                += drivers/net
                     65: SRCDIRS                += drivers/net/e1000
                     66: SRCDIRS                += drivers/net/e1000e
                     67: SRCDIRS                += drivers/net/igb
                     68: SRCDIRS                += drivers/net/igbvf
                     69: SRCDIRS                += drivers/net/phantom
                     70: SRCDIRS                += drivers/net/rtl818x
                     71: SRCDIRS                += drivers/net/ath5k
                     72: SRCDIRS                += drivers/net/vxge
                     73: SRCDIRS                += drivers/net/efi
                     74: SRCDIRS                += drivers/block
                     75: SRCDIRS                += drivers/nvs
                     76: SRCDIRS                += drivers/bitbash
                     77: SRCDIRS                += drivers/infiniband
                     78: SRCDIRS                += interface/pxe interface/efi interface/smbios
                     79: SRCDIRS                += interface/bofm
                     80: SRCDIRS                += tests
                     81: SRCDIRS                += crypto crypto/axtls crypto/matrixssl
                     82: SRCDIRS                += hci hci/commands hci/tui
                     83: SRCDIRS                += hci/mucurses hci/mucurses/widgets
                     84: SRCDIRS                += hci/keymap
                     85: SRCDIRS                += usr
                     86: SRCDIRS                += config
                     87: 
                     88: # NON_AUTO_SRCS lists files that are excluded from the normal
                     89: # automatic build system.
                     90: #
                     91: NON_AUTO_SRCS  :=
                     92: NON_AUTO_SRCS  += drivers/net/prism2.c
                     93: 
                     94: # INCDIRS lists the include path
                     95: #
                     96: INCDIRS                :=
                     97: INCDIRS                += include .
                     98: 
                     99: ###############################################################################
                    100: #
                    101: # Default build target: build the most common targets and print out a
                    102: # helpfully suggestive message
                    103: #
                    104: ALL            := bin/blib.a bin/ipxe.dsk bin/ipxe.lkrn bin/ipxe.iso \
                    105:                   bin/ipxe.usb bin/undionly.kpxe bin/rtl8139.rom
                    106: all : $(ALL)
                    107:        @$(ECHO) '==========================================================='
                    108:        @$(ECHO)
                    109:        @$(ECHO) 'To create a bootable floppy, type'
                    110:        @$(ECHO) '    cat bin/ipxe.dsk > /dev/fd0'
                    111:        @$(ECHO) 'where /dev/fd0 is your floppy drive.  This will erase any'
                    112:        @$(ECHO) 'data already on the disk.'
                    113:        @$(ECHO)
                    114:        @$(ECHO) 'To create a bootable USB key, type'
                    115:        @$(ECHO) '    cat bin/ipxe.usb > /dev/sdX'
                    116:        @$(ECHO) 'where /dev/sdX is your USB key, and is *not* a real hard'
                    117:        @$(ECHO) 'disk on your system.  This will erase any data already on'
                    118:        @$(ECHO) 'the USB key.'
                    119:        @$(ECHO)
                    120:        @$(ECHO) 'To create a bootable CD-ROM, burn the ISO image '
                    121:        @$(ECHO) 'bin/ipxe.iso to a blank CD-ROM.'
                    122:        @$(ECHO)
                    123:        @$(ECHO) 'These images contain drivers for all supported cards.  You'
                    124:        @$(ECHO) 'can build more customised images, and ROM images, using'
                    125:        @$(ECHO) '    make bin/<rom-name>.<output-format>'
                    126:        @$(ECHO)
                    127:        @$(ECHO) '==========================================================='
                    128: 
                    129: ###############################################################################
                    130: #
                    131: # Comprehensive build target: build a selection of cross-platform
                    132: # targets to expose potential build errors that show up only on
                    133: # certain platforms
                    134: #
                    135: everything :
                    136:        $(Q)$(MAKE) --no-print-directory $(ALL) \
                    137:                bin-i386-efi/ipxe.efi bin-i386-efi/ipxe.efidrv \
                    138:                bin-i386-efi/ipxe.efirom \
                    139:                bin-x86_64-efi/ipxe.efi bin-x86_64-efi/ipxe.efidrv \
                    140:                bin-x86_64-efi/ipxe.efirom \
                    141:                bin-i386-linux/tap.linux bin-x86_64-linux/tap.linux
                    142: 
                    143: ###############################################################################
                    144: #
                    145: # Build targets that do nothing but might be tried by users
                    146: #
                    147: configure :
                    148:        @$(ECHO) "No configuration needed."
                    149: 
                    150: install :
                    151:        @$(ECHO) "No installation required."
                    152: 
                    153: ###############################################################################
                    154: #
                    155: # Version number calculations
                    156: #
                    157: VERSION_MAJOR  = 1
                    158: VERSION_MINOR  = 0
                    159: VERSION_PATCH  = 0
                    160: EXTRAVERSION   = +
                    161: MM_VERSION     = $(VERSION_MAJOR).$(VERSION_MINOR)
                    162: VERSION                = $(MM_VERSION).$(VERSION_PATCH)$(EXTRAVERSION)
                    163: CFLAGS         += -DVERSION_MAJOR=$(VERSION_MAJOR) \
                    164:                   -DVERSION_MINOR=$(VERSION_MINOR) \
                    165:                   -DVERSION_PATCH=$(VERSION_PATCH) \
                    166:                   -DVERSION=\"$(VERSION)\"
                    167: IDENT          = '$(@F) $(VERSION) (GPL) ipxe.org'
                    168: version :
                    169:        @$(ECHO) $(VERSION)
                    170: 
                    171: ###############################################################################
                    172: #
                    173: # Drag in the bulk of the build system
                    174: #
                    175: 
                    176: MAKEDEPS       += Makefile.housekeeping
                    177: include Makefile.housekeeping

unix.superglobalmegacorp.com

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