Skip to content

Environment variables

gebart edited this page Nov 26, 2014 · 2 revisions

Some environment variables are used to adjust the behaviour of the build system used in Contiki/Mulle

Environment variables used when building

  • BUILD_WITH_CLANG - When set to 1: compiles the sources using Clang instead of GCC.
  • MULLE_BOARD_SERIAL_NUMBER - Tells the build system which specific hardware revision to build for.
  • PROGRAMMER_SERIAL - Which programmer board to use.
  • PROGRAMMER_VERSION - Less specific than PROGRAMMER_SERIAL, only tell which version of the programmer board you are using, but still match any serial number (PROGRAMMER_SERIAL='*').
  • CPU_PART - The specific CPU module used when linking, there must exist a linker script for this specific CPU part in the cpu/arm/k60/ldscripts/ directory.
  • V - When set to 1: display all Makefile commands as they are executed, otherwise, display only simplified commands (e.g. CC contiki-main.c).
  • DEBUG - CFLAGS extra parameters for debugging, default: -g3 -gdwarf-4, see GCC manual.
  • OPTI - optimization level (-O*), default: 0, possible values: 0,1,2,3,4,s,fast, see GCC manual for details.

Environment variables affecting the debug/flash commands

Setup of debug commands:

  • FFLAGS - flags passed to the flasher program command.
  • DEBUGSERVER_FLAGS - flags passed to the debug server command.
  • DEBUGGER_FLAGS - flags passed to the debugger command.
  • RESET_FLAGS - flags passed to the reset command.
  • TERMFLAGS - flags passed to the term command.
  • OPENOCD - Alternative OpenOCD command, default: openocd
  • DEBUGGER - Alternative debugger command, default: gdb
  • DEBUGSERVER - Alternative debug server command, default: $(OPENOCD)
  • FLASHER - Alternative flash command, default: $(OPENOCD)
  • TERMPROG - Alternative term command, default: $(SERIALDUMP)
  • FILENAME - Flash filename, default: same as project name (directory)
  • GDB_PORT - GDB tcp port, default: 3333
  • PORT - UART device, default: /dev/ttyUSB0

Toolchain paths etc.

You will only need to touch these variables if using some special toolchain.

  • TARGET_TRIPLE - Target triple, i.e. the compiler CTARGET specification, default: arm-none-eabi
  • TCPREFIX - Toolchain prefix, all compiler commands will be prefixed by this, default: $(TARGET_TRIPLE)-
  • GDBPREFIX - same as toolchain prefix, but for GDB commands, default: $(TCPREFIX)
  • GCCBIN legacy TCPREFIX equivalent, do not set this.