ATmegaBOOT_168.c bootloader does not compile with newer AVR tools

As an example this is what I added to the Makefile:

atmega328_uno7M: TARGET = atmega328_uno_7M
atmega328_uno7M: MCU_TARGET = atmega328p
atmega328_uno7M: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=2' -DBAUD_RATE=115200 
atmega328_uno7M: AVR_FREQ = 7372800L 
atmega328_uno7M: LDSECTION  = --section-start=.text=0x7800
atmega328_uno7M: $(PROGRAM)_atmega328_uno_7M.hex

and the command

C:\arduino-0022\arduino-0022\hardware\arduino\bootloaders\atmega>make atmega328_uno7M

creates the hex file:

ATmegaBOOT_168_atmega328_uno_7M.hex

which needs to be burned into a 328p with fuses as defined in following (needs to be added to boards.txt):

##############################################################

uno3v328.name=Arduino UNO (3V, 7.37 MHz) w/ ATmega328

uno3v328.upload.protocol=stk500
uno3v328.upload.maximum_size=30720
uno3v328.upload.speed=115200

uno3v328.bootloader.low_fuses=0xFF
uno3v328.bootloader.high_fuses=0xDA
uno3v328.bootloader.extended_fuses=0x05
uno3v328.bootloader.path=atmega
uno3v328.bootloader.file=ATmegaBOOT_168_atmega328_uno_7M.hex
uno3v328.bootloader.unlock_bits=0x3F
uno3v328.bootloader.lock_bits=0x0F

uno3v328.build.mcu=atmega328p
uno3v328.build.f_cpu=7372800L
uno3v328.build.core=arduino

##############################################################

P.