Blame view

RIOT/makefiles/info.inc.mk 4.2 KB
a752c7ab   elopes   add first test an...
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
  .PHONY: info-objsize info-buildsizes info-build info-boards-supported \
          info-features-missing info-modules info-cpu
  
  info-objsize:
  	@case "${SORTROW}" in \
  	  text) SORTROW=1 ;; \
  	  data) SORTROW=2 ;; \
  	  bss) SORTROW=3 ;; \
  	  dec) SORTROW=4 ;; \
  	  "") SORTROW=4 ;; \
  	  *) echo "Usage: $(MAKE) info-objsize SORTROW=[text|data|bss|dec]" ; return ;; \
  	esac; \
  	echo -e '   text\t   data\t    bss\t    dec\t    hex\tfilename'; \
  	$(SIZE) -d -B $(BASELIBS) | \
  	  tail -n+2 | \
  	  sed -e 's#$(BINDIR)##' | \
  	  sort -rnk$${SORTROW}
  
  info-buildsize:
  	@$(SIZE) -d -B $(BINDIR)/$(APPLICATION).elf || echo ''
  
  info-build:
  	@echo 'APPLICATION: $(APPLICATION)'
  	@echo ''
  	@echo 'supported boards:'
  	@echo $$($(MAKE) info-boards-supported)
  	@echo ''
  	@echo 'BOARD:   $(BOARD)'
  	@echo 'CPU:     $(CPU)'
  	@echo 'MCU:     $(MCU)'
  	@echo ''
  	@echo 'RIOTBASE:  $(RIOTBASE)'
  	@echo 'RIOTBOARD: $(RIOTBOARD)'
  	@echo 'RIOTCPU:   $(RIOTCPU)'
  	@echo 'RIOTPKG:   $(RIOTPKG)'
  	@echo ''
  	@echo 'DEFAULT_MODULE: $(sort $(filter-out $(DISABLE_MODULE), $(DEFAULT_MODULE)))'
  	@echo 'DISABLE_MODULE: $(sort $(DISABLE_MODULE))'
  	@echo 'USEMODULE:      $(sort $(filter-out $(DEFAULT_MODULE), $(USEMODULE)))'
  	@echo ''
  	@echo 'ELFFILE: $(ELFFILE)'
  	@echo 'HEXFILE: $(HEXFILE)'
  	@echo ''
  	@echo 'FEATURES_REQUIRED (excl. optional features):'
  	@echo '         $(or $(sort $(filter-out $(FEATURES_OPTIONAL), $(FEATURES_REQUIRED))), -none-)'
  	@echo 'FEATURES_OPTIONAL (strictly "nice to have"):'
  	@echo '         $(or $(sort $(FEATURES_OPTIONAL)), -none-)'
  	@echo 'FEATURES_PROVIDED (by the board or USEMODULE'"'"'d drivers):'
  	@echo '         $(or $(sort $(FEATURES_PROVIDED)), -none-)'
  	@echo 'FEATURES_MISSING (incl. optional features):'
  	@echo '         $(or $(sort $(filter-out $(FEATURES_PROVIDED), $(FEATURES_REQUIRED))), -none-)'
  	@echo 'FEATURES_MISSING (only non-optional features):'
  	@echo '         $(or $(sort $(filter-out $(FEATURES_OPTIONAL) $(FEATURES_PROVIDED), $(FEATURES_REQUIRED))), -none-)'
  	@echo ''
  	@echo 'FEATURES_CONFLICT:     $(FEATURES_CONFLICT)'
  	@echo 'FEATURES_CONFLICT_MSG: $(FEATURES_CONFLICT_MSG)'
  	@echo ''
  	@echo 'CC:      $(CC)'
  	@echo -e 'CFLAGS:$(patsubst %, \n\t%, $(CFLAGS))'
  	@echo ''
  	@echo 'CXX:     $(CXX)'
  	@echo -e 'CXXUWFLAGS:$(patsubst %, \n\t%, $(CXXUWFLAGS))'
  	@echo -e 'CXXEXFLAGS:$(patsubst %, \n\t%, $(CXXEXFLAGS))'
  	@echo ''
  	@echo 'LINK:    $(LINK)'
  	@echo -e 'LINKFLAGS:$(patsubst %, \n\t%, $(LINKFLAGS))'
  	@echo ''
  	@echo 'OBJCOPY: $(OBJCOPY)'
  	@echo 'OFLAGS:  $(OFLAGS)'
  	@echo ''
  	@echo 'FLASHER: $(FLASHER)'
  	@echo 'FFLAGS:  $(FFLAGS)'
  	@echo ''
  	@echo 'TERMPROG:  $(TERMPROG)'
  	@echo 'TERMFLAGS: $(TERMFLAGS)'
  	@echo 'PORT:      $(PORT)'
  	@echo ''
  	@echo 'DEBUGGER:       $(DEBUGGER)'
  	@echo 'DEBUGGER_FLAGS: $(DEBUGGER_FLAGS)'
  	@echo
  	@echo 'DOWNLOAD_TO_FILE:   $(DOWNLOAD_TO_FILE)'
  	@echo 'DOWNLOAD_TO_STDOUT: $(DOWNLOAD_TO_STDOUT)'
  	@echo 'UNZIP_HERE:         $(UNZIP_HERE)'
  	@echo ''
  	@echo 'DEBUGSERVER:       $(DEBUGSERVER)'
  	@echo 'DEBUGSERVER_FLAGS: $(DEBUGSERVER_FLAGS)'
  	@echo ''
  	@echo 'RESET:       $(RESET)'
  	@echo 'RESET_FLAGS: $(RESET_FLAGS)'
  	@echo ''
  	@echo -e 'MAKEFILE_LIST:$(patsubst %, \n\t%, $(abspath $(MAKEFILE_LIST)))'
  
  info-files: QUIET := 0
  info-files:
  	@( \
  	  echo "$(abspath $(shell echo "$(MAKEFILE_LIST)"))" | tr ' ' '\n'; \
  	  CSRC="$$($(MAKE) USEPKG="" -Bn | grep -o -e "[^ ]\+\.[csS]$$" -e "[^ ]\+\.[csS][ \']" | grep -v -e "^\s*-D")"; \
  	  echo "$$CSRC"; \
  	  echo "$(RIOTBASE)/Makefile.base"; \
  	  echo "$$CSRC" | xargs dirname -- | sort | uniq | xargs -I{} find {} -name "Makefile*"; \
  	  echo "$$CSRC" | xargs $(CC) $(CFLAGS) $(INCLUDES) -MM 2> /dev/null | grep -o "[^ ]\+\.h"; \
  	  if [ -n "$$SRCXX" ]; then \
  	    CPPSRC="$$($(MAKE) -Bn USEPKG="" | grep -o -e "[^ ]\+\.cpp" | grep -v -e "^\s*-D")"; \
  	    echo "$$CPPSRC"; \
  	    echo "$$CPPSRC" | xargs dirname -- | sort | uniq | xargs -I{} find {} -name "Makefile*"; \
  	    echo "$$CPPSRC" | xargs $(CXX) $(CXXFLAGS) $(INCLUDES) -MM 2> /dev/null | grep -o "[^ ]\+\.h"; \
  	  fi; \
  	  $(foreach pkg,$(USEPKG),find $(RIOTPKG)/$(pkg) -type f;) \
  	) | sort | uniq | sed 's#$(RIOTBASE)/##'
  
  info-modules:
  	@for i in $(sort $(USEMODULE)); do echo $$i; done
  
  info-cpu:
  	@echo $(CPU)
  
  info-features-missing:
  	@echo $(filter-out $(FEATURES_PROVIDED), $(FEATURES_REQUIRED))