aboutsummaryrefslogtreecommitdiffstats
path: root/include/debug.mk
blob: faead042dc4a81909cef3689b94f9a11b367ad74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 
# Copyright (C) 2007 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

# debug flags:
#
# d: show subdirectory tree
# t: show added targets
# l: show legacy targets
# r: show autorebuild messages
# v: verbose (no .SILENCE for common targets)

ifeq ($(DUMP),)
  ifeq ($(DEBUG),all)
    build_debug:=dltvr
  else
    build_debug:=$(DEBUG)
  endif
endif

define debug
$$(findstring $(2),$$(if $$(DEBUG_SCOPE_DIR),$$(if $$(filter $$(DEBUG_SCOPE_DIR)%,$(1)),$(build_debug)),$(build_debug)))
endef

define warn
$$(if $(call debug,$(1),$(2)),$$(warning $(3)))
endef

define debug_eval
$$(if $(call debug,$(1),$(2)),$(3))
endef

define warn_eval
$(call warn,$(1),$(2),$(3)	$(4))
$(4)
endef
ersion commit.h TARGET=boiler-monster V=1 default: ${PROG}.fw.bin rsync -vaP ${PROG}.fw.bin ${TARGET}:/tmp/boiler.fw ssh ${TARGET} /etc/stm32/startup /tmp/boiler.fw install: ${PROG}.fw.bin rsync -vaP ${PROG}.fw.bin ${TARGET}:/etc/stm32/boiler.fw 128k_of_ff.bin: dd if=/dev/zero bs=128k count=1 | tr '\0' '\377' > $@ ${PROG}.fw.bin:${PROG}.bin 128k_of_ff.bin cat ${PROG}.bin 128k_of_ff.bin | dd of=$@ bs=128k iflag=fullblock count=1 program: ${PROG}.elf echo halt | nc -t localhost 4444 echo flash write_image erase ${PWD}/$< 0x2000 | nc -t localhost 4444 echo reset halt | nc -t localhost 4444 RV=$$(arm-none-eabi-objdump --disassemble=reset_handler $< | awk '/^0/ { print "0x"$$1 }') && \ echo resume $${RV} | nc -t localhost 4444 && \ echo reset vector at $${RV} run:${PROG}.run %.run: %.hex RV=$$(arm-none-eabi-objdump --disassemble=reset_handler $(*).elf | awk '/^0/ { print "0x"$$1 }') && \ $(Q)$(OOCD) -f $(OOCD_INTERFACE) \ -f $(OOCD_BOARD) \ -c "init" -c "reset init" \ -c "flash write_image erase $(*).hex" \ -c "reset halt" \ -c "resume $${RV}" \ -c "shutdown" $(NULL) && \ echo reset_handler is at $${RV} BINARY = ${PROG} OBJS = ${CSRCS:%.c=%.o} include ../Makefile.include CFLAGS+=-Wno-redundant-decls -Wno-unused-parameter -DDEBUG INCLUDES += -I.. protos: echo -n > prototypes.h ${CPROTO} $(INCLUDES) $(DEFINES) -e -v ${CSRCS} > prototypes.h.tmp mv -f prototypes.h.tmp prototypes.h server: $(OOCD) -f $(OOCD_INTERFACE) \ -f $(OOCD_BOARD) debug: ${PROG}.elf ${PREFIX}-gdb -x gdb.script ${PROG}.elf tidy: astyle -A3 -s2 --attach-extern-c -L -c -w -Y -m0 -f -p -H -U -k3 -xj -xd ${CSRCS} ${HSRCS} HEAD_REF = $(shell git rev-parse --verify --short HEAD) SCM_DIRTY = $(shell if ! git diff-index --quiet HEAD --; then echo "+dirty"; fi) SCMVERSION = ${HEAD_REF}${SCM_DIRTY} scmversion: echo -n ${SCMVERSION} > $@ .PHONY: scmversion commit.o: commit.h commit.h: scmversion echo -n '#define COMMIT_ID "' > $@ echo -n `cat scmversion` >> $@ echo '"' >> $@