diff --git a/mk/board_avr.mk b/mk/board_avr.mk
index f1d2357089ab56120fe02b4b1b3da13a955673ce..e3cba572d60973a70c2217cfa8287bfa051ee8a5 100644
--- a/mk/board_avr.mk
+++ b/mk/board_avr.mk
@@ -124,6 +124,7 @@ endif
 
 # The ELF file
 SKETCHELF		=	$(BUILDROOT)/$(SKETCH).elf
+BUILDELF                =       $(notdir $(SKETCHELF))
 
 # HEX file
 SKETCHHEX		=	$(BUILDROOT)/$(SKETCH).hex
@@ -174,6 +175,8 @@ jtag-program:
 $(SKETCHELF):	$(SKETCHOBJS) $(LIBOBJS)
 	$(RULEHDR)
 	$(v)$(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
+	$(v)cp $(SKETCHELF) $(BUILDELF)
+	@echo "Firmware is in $(BUILDELF)"
 
 # Create the hex file
 $(SKETCHHEX):	$(SKETCHELF)
diff --git a/mk/board_flymaple.mk b/mk/board_flymaple.mk
index e1c3cd4887d1cc644fbb6cead61c64dbac4db9bd..2eb068e2a629277ab32a368513a5e255cd26b110 100644
--- a/mk/board_flymaple.mk
+++ b/mk/board_flymaple.mk
@@ -102,6 +102,7 @@ LIBOBJS			:=	$(SKETCHLIBOBJS) $(COREOBJS)
 
 # The ELF file
 SKETCHELF		=	$(BUILDROOT)/$(SKETCH).elf
+BUILDELF                =       $(notdir $(SKETCHELF))
 
 # HEX file
 SKETCHHEX		=	$(BUILDROOT)/$(SKETCH).hex
@@ -157,6 +158,8 @@ jtag-program:
 $(SKETCHELF):	$(SKETCHOBJS) $(LIBOBJS)
 	$(RULEHDR)
 	$(v)$(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
+	$(v)cp $(SKETCHELF) .
+	@echo "Firmware is in $(BUILDELF)"
 
 # Create the hex file
 $(SKETCHHEX):	$(SKETCHELF)
diff --git a/mk/board_native.mk b/mk/board_native.mk
index 9f16057eb93f063f83db0b3426699f9c1eebf7a5..9407f798e843b40b9d030ae919df3f61663ee264 100644
--- a/mk/board_native.mk
+++ b/mk/board_native.mk
@@ -58,6 +58,7 @@ LIBOBJS			:=	$(SKETCHLIBOBJS)
 
 # The ELF file
 SKETCHELF		=	$(BUILDROOT)/$(SKETCH).elf
+BUILDELF                =       $(notdir $(SKETCHELF))
 
 # HEX file
 SKETCHHEX		=	$(BUILDROOT)/$(SKETCH).hex
@@ -95,6 +96,8 @@ $(SKETCHELF):	$(SKETCHOBJS) $(LIBOBJS)
 	@echo "Building $(SKETCHELF)"
 	$(RULEHDR)
 	$(v)$(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
+	$(v)cp $(SKETCHELF) .
+	@echo "Firmware is in $(BUILDELF)"
 
 #
 # Build sketch objects