diff --git a/.travis.yml b/.travis.yml
index 6cfc9e067e..41a1019978 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -20,7 +20,7 @@ before_script:
   - avr-gcc --version
 script:
 - git rev-parse --short HEAD
-- make test:all AUTOGEN=false
+- make test:all
 - bash util/travis_build.sh
 - bash util/travis_docs.sh
 addons:
diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk
index 2e419dd667..c43f14292a 100644
--- a/tmk_core/rules.mk
+++ b/tmk_core/rules.mk
@@ -48,9 +48,6 @@ FORMAT = ihex
 #     (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
 OPT = s
 
-AUTOGEN ?= false
-
-
 # Compiler flag to set the C Standard level.
 #     c89   = "ANSI" C
 #     gnu89 = c89 plus GCC extensions
@@ -142,7 +139,7 @@ CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
 #             files -- see avr-libc docs [FIXME: not yet described there]
 #  -listing-cont-lines: Sets the maximum number of continuation lines of hex
 #       dump that will be displayed for a given single line of source input.
-ASFLAGS += $(ADEFS) 
+ASFLAGS += $(ADEFS)
 ifndef SKIP_DEBUG_INFO
   ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100
 else
@@ -260,10 +257,6 @@ gccversion :
 	@$(SILENT) || printf "$(MSG_FLASH) $@" | $(AWK_CMD)
 	$(eval CMD=$(HEX) $< $@)
 	@$(BUILD_CMD)
-	@if $(AUTOGEN); then \
-		$(SILENT) || printf "Copying $(TARGET).hex to keymaps/$(KEYMAP)/$(TARGET).hex\n"; \
-		$(COPY) $@ $(KEYMAP_PATH)/$(TARGET).hex; \
-	fi
 
 %.eep: %.elf
 	@$(SILENT) || printf "$(MSG_EEPROM) $@" | $(AWK_CMD)
@@ -297,7 +290,7 @@ BEGIN = gccversion sizebefore
 	@$(SILENT) || printf "$(MSG_LINKING) $@" | $(AWK_CMD)
 	$(eval CMD=$(CC) $(ALL_CFLAGS) $(filter-out %.txt,$^) --output $@ $(LDFLAGS))
 	@$(BUILD_CMD)
-	
+
 
 define GEN_OBJRULE
 $1_INCFLAGS := $$(patsubst %,-I%,$$($1_INC))
@@ -371,7 +364,7 @@ DEPS = $(patsubst %.o,%.d,$(patsubst %.a,%.o,$(OBJ)))
 .PRECIOUS: $(DEPS)
 # Empty rule to force recompilation if the .d file is missing
 $(DEPS):
-	
+
 
 $(foreach OUTPUT,$(OUTPUTS),$(eval $(call GEN_OBJRULE,$(OUTPUT))))
 
diff --git a/util/travis_build.sh b/util/travis_build.sh
index d12a87a942..a25d871e2d 100755
--- a/util/travis_build.sh
+++ b/util/travis_build.sh
@@ -5,9 +5,9 @@
 
 TRAVIS_COMMIT_MESSAGE="${TRAVIS_COMMIT_MESSAGE:-none}"
 TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE:-HEAD~1..HEAD}"
-MAKE_ALL="make all:default AUTOGEN=\"true\""
+MAKE_ALL="make all:default"
 
-if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then 
+if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
 	exit_code=0
 	git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE}
 	if [ $? -eq 128 ]; then
@@ -30,15 +30,15 @@ if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
 				KEYMAP_ONLY=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/'${KB}'/keymaps/)' | wc -l)
 				if [[ $KEYMAP_ONLY -gt 0 ]]; then
 					echo "Making all keymaps for $KB"
-					make ${KB}:all AUTOGEN=true
+					make ${KB}:all
 					: $((exit_code = $exit_code + $?))
 				else
 					MKM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards/'${KB}'/keymaps/)([a-zA-Z0-9_]+)(?=\/)' | sort -u)
 					for KM in $MKM ; do
-						echo "Making $KM for $KB"	
-						make ${KB}:${KM} AUTOGEN=true
+						echo "Making $KM for $KB"
+						make ${KB}:${KM}
 						: $((exit_code = $exit_code + $?))
-					done		
+					done
 				fi
 			done
 		fi
diff --git a/util/travis_compiled_push.sh b/util/travis_compiled_push.sh
index 66b3beb6ce..155a9a8d2b 100755
--- a/util/travis_compiled_push.sh
+++ b/util/travis_compiled_push.sh
@@ -69,10 +69,9 @@ if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
 	# rm -f compiled/*.hex
 
 	# ignore errors here
-	for file in ../qmk_firmware/keyboards/*/keymaps/*/*_default.hex; do mv -v "$file" "compiled/${file##*/}" || true; done
-	for file in ../qmk_firmware/keyboards/*/*/keymaps/*/*_default.hex; do mv -v "$file" "compiled/${file##*/}" || true; done
-	for file in ../qmk_firmware/keyboards/*/*/*/keymaps/*/*_default.hex; do mv -v "$file" "compiled/${file##*/}" || true; done
-	for file in ../qmk_firmware/keyboards/*/*/*/*/keymaps/*/*_default.hex; do mv -v "$file" "compiled/${file##*/}" || true; done
+  # In theory, this is more flexible, and will allow for additional expansion of additional types of files and other names
+  mv -t compiled ../qmk_firmware/*_default.*(hex|bin) || true
+
 	bash _util/generate_keyboard_page.sh
 	git add -A
 	git commit -m "generated from qmk/qmk_firmware@${rev}"