diff --git a/Bootloaders/CDC/makefile b/Bootloaders/CDC/makefile
index 877edc5dd0072afa1fd19ae5861debc99684ba80..68bf4c63ff2413293de7fc3db24df987b7ce8b25 100644
--- a/Bootloaders/CDC/makefile
+++ b/Bootloaders/CDC/makefile
@@ -9,17 +9,14 @@
 #         LUFA Project Makefile.
 # --------------------------------------
 
-# Starting byte address of the bootloader, as a byte address - computed via the formula
-#   BOOT_START = ((FLASH_SIZE_KB - BOOT_SECTION_SIZE_KB) * 1024)
-#
-# Note that the bootloader size and start address given in AVRStudio is in words and not
-# bytes, and so will need to be doubled to obtain the byte address needed by AVR-GCC.
+# Flash size and bootloader section sizes of the target, in KB. These must
+# match the target's total FLASH size and the bootloader size set in the
+# device's fuses.
 FLASH_SIZE_KB        := 128
 BOOT_SECTION_SIZE_KB := 8
 
-# Formulas used to calculate the starting address of the Bootloader section, and the User Application
-# API jump table (for more information on the latter, see the bootloader documentation). These formulas
-# should not need to be altered - modify the FLASH_SIZE_KB and BOOT_SECTION_KB values above instead.
+# Bootloader address calculations (requires the "bc" unix utility) - do
+# not modify these calculations, but rather modify the depedant values above.
 BOOT_START           := 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc)
 BOOT_API_TABLESTART  := 0x$(shell echo "obase=16; (($(FLASH_SIZE_KB) * 1024) - 96)" | bc)
 
diff --git a/Bootloaders/DFU/makefile b/Bootloaders/DFU/makefile
index f4968fddb6d397f3713d50d2b30733aad31698ea..a39a83aecef9851066b3b2faddec96e096640e93 100644
--- a/Bootloaders/DFU/makefile
+++ b/Bootloaders/DFU/makefile
@@ -9,17 +9,15 @@
 #         LUFA Project Makefile.
 # --------------------------------------
 
-# Starting byte address of the bootloader, as a byte address - computed via the formula
-#   BOOT_START = ((FLASH_SIZE_KB - BOOT_SECTION_SIZE_KB) * 1024)
-#
-# Note that the bootloader size and start address given in AVRStudio is in words and not
-# bytes, and so will need to be doubled to obtain the byte address needed by AVR-GCC.
+# Flash size and bootloader section sizes of the target, in KB. These must
+# match the target's total FLASH size and the bootloader size set in the
+# device's fuses.
 FLASH_SIZE_KB        := 128
 BOOT_SECTION_SIZE_KB := 8
 
-# Formulas used to calculate the starting address of the Bootloader section, and the User Application
-# API jump table (for more information on the latter, see the bootloader documentation). These formulas
-# should not need to be altered - modify the FLASH_SIZE_KB and BOOT_SECTION_KB values above instead.
+# Bootloader address calculations (requires the "bc" unix utility) - do
+# not modify these calculations, but rather modify the depedant values above.
+CALC_ADDRESS_HEX      = $(shell echo "obase=16; $(1)" | bc)
 BOOT_START           := 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc)
 BOOT_API_TABLESTART  := 0x$(shell echo "obase=16; (($(FLASH_SIZE_KB) * 1024) - 96)" | bc)
 
diff --git a/Bootloaders/HID/makefile b/Bootloaders/HID/makefile
index b8f385ce70b01684f2c49048a71cc320c2310dff..8df1c3f458f75e00cf1905a92d092b992901a156 100644
--- a/Bootloaders/HID/makefile
+++ b/Bootloaders/HID/makefile
@@ -9,19 +9,16 @@
 #         LUFA Project Makefile.
 # --------------------------------------
 
-# Starting byte address of the bootloader, as a byte address - computed via the formula
-#   BOOT_START = ((FLASH_SIZE_KB - BOOT_SECTION_SIZE_KB) * 1024)
-#
-# Note that the bootloader size and start address given in AVRStudio is in words and not
-# bytes, and so will need to be doubled to obtain the byte address needed by AVR-GCC.
+# Flash size and bootloader section sizes of the target, in KB. These must
+# match the target's total FLASH size and the bootloader size set in the
+# device's fuses.
 FLASH_SIZE_KB        := 128
 BOOT_SECTION_SIZE_KB := 8
 
-# Formulas used to calculate the starting address of the Bootloader section, and the User Application
-# API jump table (for more information on the latter, see the bootloader documentation). These formulas
-# should not need to be altered - modify the FLASH_SIZE_KB and BOOT_SECTION_KB values above instead.
+# Bootloader address calculations (requires the "bc" unix utility) - do
+# not modify these calculations, but rather modify the depedant values above.
 BOOT_START           := 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc)
-BOOT_API_TABLESTART  := 0x$(shell echo "obase=16; (($(FLASH_SIZE_KB) * 1024) - 96)" | bc)
+
 
 MCU          = at90usb1287
 ARCH         = AVR8