diff --git a/boards/bluepill/Makefile.include b/boards/bluepill/Makefile.include
index c87a5146a6c3bf15ab8a2c13d0461d1d6b5856c9..353208a59bd8d1cae02f263d5b3774468a94cb6a 100644
--- a/boards/bluepill/Makefile.include
+++ b/boards/bluepill/Makefile.include
@@ -16,12 +16,12 @@ include $(RIOTMAKE)/tools/serial.inc.mk
 # (ground) GPIO B1.
 ifeq ($(PROGRAMMER),dfu-util)
   export ROM_OFFSET ?= 0x2000 # Skip the space needed by the embedded bootloader
-  export BINFILE = $(patsubst %.elf,%.bin,$(ELFFILE))
   export FLASHER = dfu-util
   export DEBUGGER = # no debugger
   export RESET = # dfu-util has no support for resetting the device
 
   export OFLAGS = -O binary
+  HEXFILE = $(ELFFILE:.elf=.bin)
   export FFLAGS = -d 1d50:6017 -s 0x08002000:leave -D "$(HEXFILE)"
 else
 
diff --git a/boards/calliope-mini/Makefile.include b/boards/calliope-mini/Makefile.include
index 6bf90d6696a56dea9e5bfa197d0dbc1e2a32cdde..36097f266eea50ea6e90e83b10aa537e915f5dd9 100644
--- a/boards/calliope-mini/Makefile.include
+++ b/boards/calliope-mini/Makefile.include
@@ -13,7 +13,6 @@ include $(RIOTMAKE)/tools/serial.inc.mk
 PROGRAMMER ?= fscopy
 ifeq (fscopy,$(PROGRAMMER))
   export OFLAGS = -O ihex
-  export HEXFILE = $(ELFFILE:.elf=.hex)
   export FFLAGS =
   export DEBUGGER_FLAGS =
 
diff --git a/boards/common/arduino-atmega/Makefile.include b/boards/common/arduino-atmega/Makefile.include
index a6a57822e16d7f6096e46900a7c43803f08b135e..89773798a30842d10b05c57c9a153c6bdd59508d 100644
--- a/boards/common/arduino-atmega/Makefile.include
+++ b/boards/common/arduino-atmega/Makefile.include
@@ -18,4 +18,4 @@ export DEBUGGER = $(DIST_PATH)/debug.sh $(DEBUGSERVER_FLAGS) $(DIST_PATH) $(DEBU
 export PROGRAMMER_FLAGS = -P $(PORT) -b $(PROGRAMMER_SPEED)
 
 export OFLAGS += -j .text -j .data -O ihex
-export FFLAGS += -c $(PROGRAMMER) $(PROGRAMMER_FLAGS) -F -D -U flash:w:bin/$(BOARD)/$(PROJECT)$(APPLICATION).hex
+export FFLAGS += -c $(PROGRAMMER) $(PROGRAMMER_FLAGS) -F -D -U flash:w:$(HEXFILE)
diff --git a/boards/f4vi1/Makefile.include b/boards/f4vi1/Makefile.include
index 7ddb27bf609f2c8219f9aec36ccfb96f1fb4951b..3ccea4ee55f57bb552206bed14c31aae1ee99a7c 100644
--- a/boards/f4vi1/Makefile.include
+++ b/boards/f4vi1/Makefile.include
@@ -16,5 +16,6 @@ export DEBUGSERVER = st-util
 
 # define st-flash parameters
 export OFLAGS = -O binary
-export FFLAGS = write bin/$(BOARD)/$(APPLICATION).hex 0x8000000
-export DEBUGGER_FLAGS = $(RIOTBOARD)/$(BOARD)/dist/gdb.conf $(BINDIR)/$(APPLICATION).elf
+HEXFILE = $(ELFFILE:.elf=.bin)
+export FFLAGS = write $(HEXFILE) 0x8000000
+export DEBUGGER_FLAGS = $(RIOTBOARD)/$(BOARD)/dist/gdb.conf $(ELFFILE)
diff --git a/boards/mega-xplained/Makefile.include b/boards/mega-xplained/Makefile.include
index 83fb4efee0207165eee50ddeeafa809dfb1f7b45..b113c4563e58c17ee29c95c175e1d0f3a993803c 100644
--- a/boards/mega-xplained/Makefile.include
+++ b/boards/mega-xplained/Makefile.include
@@ -21,4 +21,4 @@ export PROGRAMMER ?= buspirate
 export PROGRAMMER_FLAGS = -P /dev/ttyUSB0
 
 export OFLAGS += -j .text -j .data -O ihex
-export FFLAGS += -p m1284p -c $(PROGRAMMER) $(PROGRAMMER_FLAGS) -F -U flash:w:bin/$(BOARD)/$(PROJECT)$(APPLICATION).hex
+export FFLAGS += -p m1284p -c $(PROGRAMMER) $(PROGRAMMER_FLAGS) -F -U flash:w:$(HEXFILE)
diff --git a/boards/microbit/Makefile.include b/boards/microbit/Makefile.include
index 86174391e5054e9da6b6f6ad0ffedf70decff7af..d1ccffe7ec2b32514f78df5c3cc88152d7a7a3bd 100644
--- a/boards/microbit/Makefile.include
+++ b/boards/microbit/Makefile.include
@@ -13,7 +13,6 @@ include $(RIOTMAKE)/tools/serial.inc.mk
 PROGRAMMER ?= fscopy
 ifeq (fscopy,$(PROGRAMMER))
   export OFLAGS = -O ihex
-  export HEXFILE = $(ELFFILE:.elf=.hex)
   export FFLAGS =
   export DEBUGGER_FLAGS =
 
diff --git a/boards/nz32-sc151/Makefile.include b/boards/nz32-sc151/Makefile.include
index 55b84ad2be89d864987acb73ecebafffa9df242c..ed4ef10e87056f3eb62d730a861fd357033951ce 100644
--- a/boards/nz32-sc151/Makefile.include
+++ b/boards/nz32-sc151/Makefile.include
@@ -9,13 +9,12 @@ PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.SLAB_USBtoUART*)))
 # set the default id
 export ID ?= 0483:df11
 
-export BINFILE = $(patsubst %.elf,%.bin,$(ELFFILE))
-
 export FLASHER = dfu-util
 export DEBUGGER = # dfu-util has no debugger
 export RESET = # dfu-util has no support for resetting the device
 
 export OFLAGS = -O binary
+HEXFILE = $(ELFFILE:.elf=.bin)
 export FFLAGS = -d $(ID) -a 0 -s 0x08000000:leave -D "$(HEXFILE)"
 export TERMFLAGS = -p $(PORT)
 
diff --git a/boards/spark-core/Makefile.include b/boards/spark-core/Makefile.include
index 98c8cbee6abb6154aa16d6c461b2542b12a556d7..c264a630af9b8d7a2346d301e11ca1ed05b46a38 100644
--- a/boards/spark-core/Makefile.include
+++ b/boards/spark-core/Makefile.include
@@ -7,13 +7,12 @@ PORT_LINUX ?= /dev/ttyUSB0
 PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.SLAB_USBtoUART*)))
 include $(RIOTMAKE)/tools/serial.inc.mk
 
-export BINFILE = $(patsubst %.elf,%.bin,$(ELFFILE))
-
 export FLASHER = dfu-util
 export DEBUGGER = # spark core has no debugger
 export RESET = # dfu-util has no support for resetting the device
 
 export OFLAGS = -O binary
+HEXFILE = $(ELFFILE:.elf=.bin)
 export FFLAGS = -d 1d50:607f -a 0 -s 0x08005000:leave -D "$(HEXFILE)"
 
 export INCLUDES += -I$(RIOTCPU)/$(CPU)/include/ -I$(RIOTBOARD)/$(BOARD)/include/
diff --git a/boards/teensy31/Makefile.include b/boards/teensy31/Makefile.include
index cf00f501290e5b787939bc0d684798f0e5692ec8..19634004ae0e85322671974716797b347fc62318 100644
--- a/boards/teensy31/Makefile.include
+++ b/boards/teensy31/Makefile.include
@@ -7,7 +7,6 @@ TEENSY_LOADER = $(RIOTBASE)/dist/tools/teensy-loader-cli/teensy_loader
 FLASHER = $(TEENSY_LOADER)
 
 OFLAGS = -O ihex
-HEXFILE = $(ELFFILE:.elf=.hex)
 
 FFLAGS ?= --mcu=mk20dx256 $(HEXFILE)
 
diff --git a/boards/waspmote-pro/Makefile.include b/boards/waspmote-pro/Makefile.include
index eae5e716a32635b9c0b4f114ec3773136b1dd71a..f68403fa0fd64ac3187a2ae5ce796698bb63bb38 100644
--- a/boards/waspmote-pro/Makefile.include
+++ b/boards/waspmote-pro/Makefile.include
@@ -34,4 +34,4 @@ ifeq ($(PROGRAMMER), stk500v1)
 endif
 
 export OFLAGS += -j .text -j .data -O ihex
-export FFLAGS += -p m1281 -c $(PROGRAMMER) $(PROGRAMMER_FLAGS) -F -U flash:w:bin/$(BOARD)/$(PROJECT)$(APPLICATION).hex
+export FFLAGS += -p m1281 -c $(PROGRAMMER) $(PROGRAMMER_FLAGS) -F -U flash:w:$(HEXFILE)
diff --git a/makefiles/info.inc.mk b/makefiles/info.inc.mk
index ba5d919e5abad93f742796370ac3840b3e8abac9..1ede0f6807444d3a7cfed5d4eee15eb7cf86051e 100644
--- a/makefiles/info.inc.mk
+++ b/makefiles/info.inc.mk
@@ -18,7 +18,7 @@ info-objsize:
 	  sort -rnk$${SORTROW}
 
 info-buildsize:
-	@$(SIZE) -d -B $(BINDIR)/$(APPLICATION).elf || echo ''
+	@$(SIZE) -d -B $(ELFFILE) || echo ''
 
 info-build:
 	@echo 'APPLICATION: $(APPLICATION)'