diff options
Diffstat (limited to 'software/include.mk')
-rw-r--r-- | software/include.mk | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/software/include.mk b/software/include.mk deleted file mode 100644 index c2eb585..0000000 --- a/software/include.mk +++ /dev/null @@ -1,162 +0,0 @@ -## -## spreadspace avr utils -## -## -## Copyright (C) 2013-2014 Christian Pointner <equinox@spreadspace.org> -## -## This file is part of spreadspace avr utils. -## -## spreadspace avr utils is free software: you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation, either version 3 of the License, or -## any later version. -## -## spreadspace avr utils is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with spreadspace avr utils. If not, see <http://www.gnu.org/licenses/>. -## - -include ../defines.mk - -## project-specific objects -SRC := $(OBJ:%.o=%.c) -DEP := $(SRC:%.c=%.d) -OBJ_LIB := $(LIBS:%=lib-%.o) -SRC_LIB := $(LIBS:%=$(LIB_DIR)/%.c) -DEP_LIB := $(LIBS:%=lib-%.d) - -.PHONY: prepare clean clean-external distclean clean-lufa program erase flash reset run - -ELFFILE := $(NAME).elf -HEXFILE := $(NAME).hex - -all: prepare $(HEXFILE) - - -## external Libs -LDFLAGS += -L./ - -ifdef LUFA_PATH -CFLAGS += -I$(LUFA_PATH) -CFLAGS += -DF_USB=$(F_USB)UL -CFLAGS += -DBOARD=BOARD_$(LUFA_BOARD) -CFLAGS += $(LUFA_OPTS) -endif - -prepare: $(EXTERNAL_LIBS:%=build-%) -clean-external: $(EXTERNAL_LIBS:%=clean-%) - -export -build-lufa: liblufa.a - -liblufa.a: Makefile - @echo "building external LUFA lib ($(LUFA_PATH))" - make -f ../lufa.mk liblufa.a - make -f ../lufa.mk clean - -clean-lufa: - @echo "cleaning external LUFA lib ($(LUFA_PATH))" - make -f ../lufa.mk clean - rm -f liblufa.a - - -## project-specific objects -lib-%.d: $(LIB_DIR)/%.c Makefile - @set -e; rm -f $@; \ - $(CC) -MM $(CFLAGS) $< > $@.$$$$; \ - sed 's,\($*\)\.o[ :]*,lib-\1.o $@ : ,g' < $@.$$$$ > $@; \ - rm -f $@.$$$$; echo '(re)building $@' - -%.d: %.c Makefile - @set -e; rm -f $@; \ - $(CC) -MM $(CFLAGS) $< > $@.$$$$; \ - sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ - rm -f $@.$$$$; echo '(re)building $@' - -ifneq ($(MAKECMDGOALS),distclean) --include $(DEP) --include $(DEP_LIB) -endif - -lib-%.o: $(LIB_DIR)/%.c Makefile - $(CC) $(CFLAGS) -c $< -o $@ - -%.o: %.c Makefile - $(CC) $(CFLAGS) -c $< -o $@ - -$(ELFFILE): $(OBJ) $(OBJ_LIB) $(EXTERNAL_LIBS:%=lib%.a) - $(CC) $(LDFLAGS) $(OBJ) $(OBJ_LIB) $(EXTERNAL_LIBS:%=-l%) -o $@ - $(SIZE) $@ - @echo "" - -$(HEXFILE): $(ELFFILE) - $(OBJCOPY) -O ihex -R .eeprom -R .fuse -R .lock -R .signature $< $@ - -clean: $(CLEAN_TARGETS) - rm -f *.o - rm -f *.d - rm -f *.d.* - rm -f $(ELFFILE) - rm -f $(HEXFILE) - -distclean: clean-external clean - -### DFU-Programmer -define DFU/erase - $(DFU) $(MCU) erase || true -endef - -define DFU/flash - $(DFU) $(MCU) flash $1 -endef - -define DFU/run - $(DFU) $(MCU) start -endef - -### teensy-loader -define teensy/erase -endef - -define teensy/flash - $(teensy) -mmcu=$(MCU) -w -v $1 -endef - -define teensy/run -endef - -### avrdude -define avrdude/erase -endef - -define avrdude/flash - $(avrdude) -V -F -p $(MCU) -P $(AVRDUDE_PORT) -c $(PROG_TYPE) -b $(UPLOAD_RATE) -U flash:w:$1 -endef - -define avrdude/run -endef - -### Program Targets -program: reset erase flash run - -erase: - $(call $(PROG)/$@,) - -flash: $(HEXFILE) - $(call $(PROG)/$@,$(HEXFILE)) - -run: - $(call $(PROG)/$@,) - -reset: - @if [ -n "$(RESET_FUNC)" ]; then \ - if [ -x "$(RESET_FUNC)" ]; then \ - eval $(RESET_FUNC) $(RESET_PARAM); \ - else \ - echo "WARNING: ignoring non-existing or non-executable reset script"; \ - fi \ - fi |