|  | @@ -1,3 +1,7 @@
 | 
		
	
		
			
			|  | 1 | +# Location to place generated files
 | 
		
	
		
			
			|  | 2 | +#
 | 
		
	
		
			
			|  | 3 | +BIN		:= bin
 | 
		
	
		
			
			|  | 4 | +
 | 
		
	
		
			
			| 1 | 5 |  # Initialise variables that get added to throughout the various Makefiles
 | 
		
	
		
			
			| 2 | 6 |  #
 | 
		
	
		
			
			| 3 | 7 |  MAKEDEPS	:= Makefile .toolcheck .echocheck
 | 
		
	
	
		
			
			|  | @@ -9,34 +13,34 @@ ROMS		:=
 | 
		
	
		
			
			| 9 | 13 |  MEDIA		:=
 | 
		
	
		
			
			| 10 | 14 |  NON_AUTO_MEDIA	:=
 | 
		
	
		
			
			| 11 | 15 |  
 | 
		
	
		
			
			| 12 |  | -# Grab the central Config file.
 | 
		
	
		
			
			| 13 |  | -#
 | 
		
	
		
			
			| 14 |  | -MAKEDEPS	+= Config
 | 
		
	
		
			
			| 15 |  | -include Config
 | 
		
	
		
			
			| 16 |  | -
 | 
		
	
		
			
			| 17 |  | -# Location to place generated files
 | 
		
	
		
			
			| 18 |  | -#
 | 
		
	
		
			
			| 19 |  | -BIN		:= bin
 | 
		
	
		
			
			| 20 |  | -
 | 
		
	
		
			
			| 21 |  | -# If no architecture is specified in Config or on the command-line,
 | 
		
	
		
			
			| 22 |  | -# use that of the build machine.
 | 
		
	
		
			
			| 23 |  | -#
 | 
		
	
		
			
			| 24 |  | -ifndef ARCH
 | 
		
	
		
			
			| 25 |  | -ARCH		:= $(shell uname -m | sed -e s,i[3456789]86,i386,)
 | 
		
	
		
			
			| 26 |  | -endif
 | 
		
	
		
			
			| 27 |  | -
 | 
		
	
		
			
			| 28 |  | -# handle x86_64 like i386, but set -m32 option for 32bit code only
 | 
		
	
		
			
			| 29 |  | -ifeq ($(ARCH),x86_64)
 | 
		
	
		
			
			| 30 |  | -ARCH		:= i386
 | 
		
	
		
			
			| 31 |  | -CFLAGS		+= -m32
 | 
		
	
		
			
			| 32 |  | -ASFLAGS         += --32
 | 
		
	
		
			
			| 33 |  | -LDFLAGS         += -m elf_i386
 | 
		
	
		
			
			| 34 |  | -endif
 | 
		
	
		
			
			| 35 |  | -
 | 
		
	
		
			
			| 36 |  | -# Drag in architecture-specific Config
 | 
		
	
		
			
			|  | 16 | +# Locations of utilities
 | 
		
	
		
			
			| 37 | 17 |  #
 | 
		
	
		
			
			| 38 |  | -MAKEDEPS	+= arch/$(ARCH)/Config
 | 
		
	
		
			
			| 39 |  | -include arch/$(ARCH)/Config
 | 
		
	
		
			
			|  | 18 | +HOST_CC		:= gcc
 | 
		
	
		
			
			|  | 19 | +RM		:= rm -f
 | 
		
	
		
			
			|  | 20 | +TOUCH		:= touch
 | 
		
	
		
			
			|  | 21 | +MKDIR		:= mkdir
 | 
		
	
		
			
			|  | 22 | +CP		:= cp
 | 
		
	
		
			
			|  | 23 | +ECHO		:= echo
 | 
		
	
		
			
			|  | 24 | +PRINTF		:= printf
 | 
		
	
		
			
			|  | 25 | +PERL		:= /usr/bin/perl
 | 
		
	
		
			
			|  | 26 | +CC		:= $(CROSS_COMPILE)gcc
 | 
		
	
		
			
			|  | 27 | +CPP		:= $(CROSS_COMPILE)gcc -E -Wp,-Wall
 | 
		
	
		
			
			|  | 28 | +AS		:= $(CROSS_COMPILE)as
 | 
		
	
		
			
			|  | 29 | +LD		:= $(CROSS_COMPILE)ld
 | 
		
	
		
			
			|  | 30 | +SIZE		:= $(CROSS_COMPILE)size
 | 
		
	
		
			
			|  | 31 | +AR		:= $(CROSS_COMPILE)ar
 | 
		
	
		
			
			|  | 32 | +RANLIB		:= $(CROSS_COMPILE)ranlib
 | 
		
	
		
			
			|  | 33 | +OBJCOPY		:= $(CROSS_COMPILE)objcopy
 | 
		
	
		
			
			|  | 34 | +NM		:= $(CROSS_COMPILE)nm
 | 
		
	
		
			
			|  | 35 | +OBJDUMP		:= $(CROSS_COMPILE)objdump
 | 
		
	
		
			
			|  | 36 | +PARSEROM	:= $(PERL) ./util/parserom.pl
 | 
		
	
		
			
			|  | 37 | +MAKEROM		:= $(PERL) ./util/makerom.pl
 | 
		
	
		
			
			|  | 38 | +MKCONFIG	:= $(PERL) ./util/mkconfig.pl
 | 
		
	
		
			
			|  | 39 | +SYMCHECK	:= $(PERL) ./util/symcheck.pl
 | 
		
	
		
			
			|  | 40 | +SORTOBJDUMP	:= $(PERL) ./util/sortobjdump.pl
 | 
		
	
		
			
			|  | 41 | +NRV2B		:= ./util/nrv2b
 | 
		
	
		
			
			|  | 42 | +ZBIN		:= ./util/zbin
 | 
		
	
		
			
			|  | 43 | +DOXYGEN		:= doxygen
 | 
		
	
		
			
			| 40 | 44 |  
 | 
		
	
		
			
			| 41 | 45 |  # If invoked with no build target, print out a helpfully suggestive
 | 
		
	
		
			
			| 42 | 46 |  # message.
 | 
		
	
	
		
			
			|  | @@ -64,34 +68,28 @@ noargs : blib $(BIN)/NIC $(BIN)/gpxe.dsk $(BIN)/gpxe.iso $(BIN)/gpxe.usb
 | 
		
	
		
			
			| 64 | 68 |  	@$(ECHO)
 | 
		
	
		
			
			| 65 | 69 |  	@$(ECHO) '==========================================================='
 | 
		
	
		
			
			| 66 | 70 |  
 | 
		
	
		
			
			| 67 |  | -# Locations of utilities
 | 
		
	
		
			
			|  | 71 | +# Grab the central Config file.
 | 
		
	
		
			
			| 68 | 72 |  #
 | 
		
	
		
			
			| 69 |  | -HOST_CC		?= gcc
 | 
		
	
		
			
			| 70 |  | -CPP		?= gcc -E -Wp,-Wall
 | 
		
	
		
			
			| 71 |  | -RM		?= rm -f
 | 
		
	
		
			
			| 72 |  | -TOUCH		?= touch
 | 
		
	
		
			
			| 73 |  | -MKDIR		?= mkdir
 | 
		
	
		
			
			| 74 |  | -CP		?= cp
 | 
		
	
		
			
			| 75 |  | -ECHO		?= echo
 | 
		
	
		
			
			| 76 |  | -PRINTF		?= printf
 | 
		
	
		
			
			| 77 |  | -PERL		?= /usr/bin/perl
 | 
		
	
		
			
			| 78 |  | -CC		?= $(CROSS_COMPILE)gcc
 | 
		
	
		
			
			| 79 |  | -AS		?= $(CROSS_COMPILE)as
 | 
		
	
		
			
			| 80 |  | -LD		?= $(CROSS_COMPILE)ld
 | 
		
	
		
			
			| 81 |  | -SIZE		?= $(CROSS_COMPILE)size
 | 
		
	
		
			
			| 82 |  | -AR		?= $(CROSS_COMPILE)ar
 | 
		
	
		
			
			| 83 |  | -RANLIB		?= $(CROSS_COMPILE)ranlib
 | 
		
	
		
			
			| 84 |  | -OBJCOPY		?= $(CROSS_COMPILE)objcopy
 | 
		
	
		
			
			| 85 |  | -NM		?= $(CROSS_COMPILE)nm
 | 
		
	
		
			
			| 86 |  | -OBJDUMP		?= $(CROSS_COMPILE)objdump
 | 
		
	
		
			
			| 87 |  | -PARSEROM	?= $(PERL) ./util/parserom.pl
 | 
		
	
		
			
			| 88 |  | -MAKEROM		?= $(PERL) ./util/makerom.pl
 | 
		
	
		
			
			| 89 |  | -MKCONFIG	?= $(PERL) ./util/mkconfig.pl
 | 
		
	
		
			
			| 90 |  | -SYMCHECK	?= $(PERL) ./util/symcheck.pl
 | 
		
	
		
			
			| 91 |  | -SORTOBJDUMP	?= $(PERL) ./util/sortobjdump.pl
 | 
		
	
		
			
			| 92 |  | -NRV2B		?= ./util/nrv2b
 | 
		
	
		
			
			| 93 |  | -ZBIN		?= ./util/zbin
 | 
		
	
		
			
			| 94 |  | -DOXYGEN		?= doxygen
 | 
		
	
		
			
			|  | 73 | +MAKEDEPS	+= Config
 | 
		
	
		
			
			|  | 74 | +include Config
 | 
		
	
		
			
			|  | 75 | +
 | 
		
	
		
			
			|  | 76 | +# If no architecture is specified in Config or on the command-line,
 | 
		
	
		
			
			|  | 77 | +# use that of the build machine.
 | 
		
	
		
			
			|  | 78 | +#
 | 
		
	
		
			
			|  | 79 | +ARCH		?= $(shell uname -m | sed -e s,i[3456789]86,i386,)
 | 
		
	
		
			
			|  | 80 | +
 | 
		
	
		
			
			|  | 81 | +# handle x86_64 like i386, but set -m32 option for 32bit code only
 | 
		
	
		
			
			|  | 82 | +ifeq ($(ARCH),x86_64)
 | 
		
	
		
			
			|  | 83 | +ARCH		:= i386
 | 
		
	
		
			
			|  | 84 | +CFLAGS		+= -m32
 | 
		
	
		
			
			|  | 85 | +ASFLAGS         += --32
 | 
		
	
		
			
			|  | 86 | +LDFLAGS         += -m elf_i386
 | 
		
	
		
			
			|  | 87 | +endif
 | 
		
	
		
			
			|  | 88 | +
 | 
		
	
		
			
			|  | 89 | +# Drag in architecture-specific Config
 | 
		
	
		
			
			|  | 90 | +#
 | 
		
	
		
			
			|  | 91 | +MAKEDEPS	+= arch/$(ARCH)/Config
 | 
		
	
		
			
			|  | 92 | +include arch/$(ARCH)/Config
 | 
		
	
		
			
			| 95 | 93 |  
 | 
		
	
		
			
			| 96 | 94 |  # Common flags
 | 
		
	
		
			
			| 97 | 95 |  #
 |