Browse Source

make: add comprehensive `buildinfo` list

Sometimes it is difficult to track down build errors for boards that you
are unfamiliar with.

This change adds `make buildinfo` that prints out all the relevant build
information for the selected board and project:

```
PROJECT: default
BOARD:   msba2
CPU:     lpc2387
MCU:     lpc2387

RIOTBASE:  /home/kijewski/RIOT/RIOT
RIOTBOARD: /home/kijewski/RIOT/RIOT/boards
RIOTCPU:   /home/kijewski/RIOT/RIOT/cpu

DEFAULT_MODULE: auto_init core cpu sys
DISABLE_MODULE:
USEMODULE:      arm_common cc110x_ng cc110x_spi config defaulttransceiver gpioint lib lpc_common ltc4150 mci net_help posix protocol_multiplex ps random rtc shell shell_commands sht11 timex transceiver uart0 vtimer

ELFFILE: /home/kijewski/RIOT/RIOT/examples/default/bin/msba2/default.elf
HEXFILE: /home/kijewski/RIOT/RIOT/examples/default/bin/msba2/default.hex

CC: arm-none-eabi-gcc
CFLAGSS:
        -DBOARD_MSBA2
        -DCPU_LPC2387
        -DMODULE_ARM_COMMON
        -DMODULE_AUTO_INIT
        -DMODULE_CC110X_NG
        -DMODULE_CC110X_SPI
        -DMODULE_CONFIG
        -DMODULE_CORE
        -DMODULE_CPU
        -DMODULE_DEFAULTTRANSCEIVER
        -DMODULE_GPIOINT
        -DMODULE_LIB
        -DMODULE_LPC_COMMON
        -DMODULE_LTC4150
        -DMODULE_MCI
        -DMODULE_NET_HELP
        -DMODULE_POSIX
        -DMODULE_PROTOCOL_MULTIPLEX
        -DMODULE_PS
        -DMODULE_RANDOM
        -DMODULE_RTC
        -DMODULE_SHELL
        -DMODULE_SHELL_COMMANDS
        -DMODULE_SHT11
        -DMODULE_SYS
        -DMODULE_TIMEX
        -DMODULE_TRANSCEIVER
        -DMODULE_UART0
        -DMODULE_VTIMER
        -O2
        -Wall
        -Wstrict-prototypes
        -mcpu=arm7tdmi-s
        -gdwarf-2
        -std=gnu99
        -fno-delete-null-pointer-checks
        -Wstrict-prototypes
        -Werror=strict-prototypes
        -Wold-style-definition
        -Werror=old-style-definition

LINK: arm-none-eabi-gcc
LINKFLAGS:
        -gdwarf-2
        -mcpu=arm7tdmi-s
        -static
        -lgcc
        -nostartfiles
        -T/home/kijewski/RIOT/RIOT/cpu/lpc2387/linkerscript.x

OBJCOPY: arm-none-eabi-objcopy
OFLAGS:  -O ihex

FLASHER: lpc2k_pgm
FFLAGS:  /dev/ttyUSB0 /home/kijewski/RIOT/RIOT/examples/default/bin/msba2/default.hex

TERMPROG: /home/kijewski/RIOT/RIOT/dist/tools/pyterm/pyterm.py
PORT:     /dev/ttyUSB0

DEBUGGER:
DEBUGGER_FLAGS:

MAKEFILE_LIST:
        /home/kijewski/RIOT/RIOT/examples/default/Makefile
        /home/kijewski/RIOT/RIOT/Makefile.include
        /home/kijewski/RIOT/RIOT/Makefile.modules
        /home/kijewski/RIOT/RIOT/Makefile.pseudomodules
        /home/kijewski/RIOT/RIOT/Makefile.defaultmodules
        /home/kijewski/RIOT/RIOT/boards/msba2/Makefile.include
        /home/kijewski/RIOT/RIOT/boards/msba2-common/Makefile.include
        /home/kijewski/RIOT/RIOT/boards/msba2-common/Makefile.dep
        /home/kijewski/RIOT/RIOT/cpu/lpc2387/Makefile.include
        /home/kijewski/RIOT/RIOT/cpu/arm_common/Makefile.include
        /home/kijewski/RIOT/RIOT/cpu/lpc_common/Makefile.include
        /home/kijewski/RIOT/RIOT/Makefile.dep
        /home/kijewski/RIOT/RIOT/Makefile.cflags
        /home/kijewski/RIOT/RIOT/sys/Makefile.include
        /home/kijewski/RIOT/RIOT/drivers/Makefile.include
        /home/kijewski/RIOT/RIOT/Makefile.buildtests
```
dev/timer
René Kijewski 9 years ago
parent
commit
5cb1d03ef4
  1. 37
      Makefile.buildtests
  2. 2
      Makefile.include

37
Makefile.buildtests

@ -148,3 +148,40 @@ buildsizes-diff:
for I in 0 1 2 3; do echo -ne "$${NEW[I]-$${RED}ERR$${RESET}}\t"; done; echo -e "$${NEWBIN}\n"; \
done; \
done;
buildinfo:
@echo 'PROJECT: $(PROJECT)'
@echo 'BOARD: $(BOARD)'
@echo 'CPU: $(CPU)'
@echo 'MCU: $(MCU)'
@echo ''
@echo 'RIOTBASE: $(RIOTBASE)'
@echo 'RIOTBOARD: $(RIOTBOARD)'
@echo 'RIOTCPU: $(RIOTCPU)'
@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 'CC: $(CC)'
@echo -e 'CFLAGSS:$(patsubst %, \n\t%, $(CFLAGS))'
@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 'PORT: $(PORT)'
@echo ''
@echo 'DEBUGGER: $(DEBUGGER)'
@echo 'DEBUGGER_FLAGS: $(DEBUGGER_FLAGS)'
@echo ''
@echo -e 'MAKEFILE_LIST:$(patsubst %, \n\t%, $(abspath $(MAKEFILE_LIST)))'

2
Makefile.include

@ -65,7 +65,7 @@ BASELIBS += $(BINDIR)$(BOARD)_base.a
BASELIBS += $(BINDIR)${PROJECT}.a
BASELIBS += $(USEPKG:%=${BINDIR}%.a)
.PHONY: all clean flash doc term objsize buildsize buildsizes buildsizes-diff
.PHONY: all clean flash doc term objsize buildsize buildsizes buildsizes-diff buildinfo
export ELFFILE ?= $(BINDIR)$(PROJECT).elf
export HEXFILE ?= $(ELFFILE:.elf=.hex)

Loading…
Cancel
Save