- 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:
# (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
# 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
@$(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)
@$(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))
.PRECIOUS: $(DEPS)
# Empty rule to force recompilation if the .d file is missing
$(DEPS):
-
+
$(foreach OUTPUT,$(OUTPUTS),$(eval $(call GEN_OBJRULE,$(OUTPUT))))
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
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
# 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}"