## These are production boards.
##################################
+#Unset by default, but can be explicitly set later.
+config=undef
ifneq (,$(findstring $(board),goodfet20 goodfet10 goodfet11))
mcu ?= msp430f1612
platform := goodfet
# This will link to fit in a '2254, so unneeded packages should be omited.
CONFIG_ccspi = n
+CONFIG_nrf = y
endif
ifneq (,$(findstring $(board),goodfet40 goodfet41))
mcu ?= msp430f2618
platform := goodfet
+CONFIG_nrf = y
+endif
+
+ifneq (,$(findstring $(board),stm32f4discovery))
+
+periph ?= /opt/STM32F4xx_StdPeriph_Driver
+discovery ?= /opt/STM32F4-Discovery_FW_V1.1.0
+pincs ?= -I$(periph)/inc -I$(discovery)/Libraries/CMSIS/ST/STM32F4xx/Include -I$(discovery)/Libraries/CMSIS/Include -Dassert_param\(x\)=
+psrc ?= /opt/STM32F4xx_StdPeriph_Driver/src
+
+
+GCC = arm-none-eabi-gcc
+CC = arm-none-eabi-gcc
+LD = arm-none-eabi-ld -v
+AR = arm-none-eabi-ar
+AS = arm-none-eabi-as
+CP = arm-none-eabi-objcopy
+OD = arm-none-eabi-objdump
+CFLAGS = -c -fno-common -O1 -g -mcpu=cortex-m3 -mthumb $(pincs)
+AFLAGS = -ahls -mapcs-32
+LFLAGS = -Ttmplink.cmd -nostartfiles
+CPFLAGS = -Obinary
+ODFLAGS = -S
+LDFLAGS =
+
+
+mcu ?= stm32f407
+platform := stm32f4discovery
+config = monitor
+extralibs = lib/cortexm3.o lib/system_stm32f4xx.o $(psrc)/stm32f4xx_rcc.o $(psrc)/stm32f4xx_gpio.o
+
+endif
+
+ifneq (,$(findstring $(board),facedancer10))
+mcu ?= msp430f2618
+platform := goodfet
+config = monitor spi maxusb
+endif
+
+ifeq ($(board),z1)
+mcu ?= msp430f2617
+platform := z1
+config = monitor spi ccspi
+MSP430BSL?=goodfet.bsl --z1 --speed=38400
endif
ifneq (,$(findstring $(board),goodfet24))
mcu ?= msp430f2618
platform := goodfet
+CONFIG_glitch = y
endif
ifneq (,$(findstring $(board),nhb12b))
ifneq (,$(findstring $(board),donbfet))
GCC := avr-gcc
+CC := avr-gcc
mcu ?= atmega644p
-CFLAGS=$(DEBUG) -mmcu=$(mcu) -W -Os -mcall-prologues -Wall -Wextra -Wuninitialized -fpack-struct -fshort-enums -funsigned-bitfields
+platform = donbfet
+CFLAGS=$(DEBUG) -Iinclude -mmcu=$(mcu) -W -Os -mcall-prologues -Wall -Wextra -Wuninitialized -fpack-struct -fshort-enums -funsigned-bitfields
config := monitor avr spi jscan
endif
endif
#platform := $(board)
-AVAILABLE_APPS = monitor spi jtag sbw jtag430 jtag430x2 i2c jtagarm7 ejtag jtagxscale openocd chipcon avr pic adc nrf ccspi glitch smartcard ps2 slc2
+AVAILABLE_APPS = monitor spi jtag sbw jtag430 jtag430x2 i2c jtagarm7 ejtag jtagxscale openocd chipcon avr pic adc nrf ccspi glitch smartcard ps2 slc2 maxusb
# defaults
CONFIG_monitor ?= y
CONFIG_spi ?= y
-CONFIG_maxusb ?= n
+CONFIG_maxusb ?= y
CONFIG_jtag ?= n
CONFIG_sbw ?= n
CONFIG_jtag430 ?= y
CONFIG_pic ?= n
CONFIG_adc ?= n
CONFIG_nrf ?= n
-CONFIG_ccspi ?= y
+CONFIG_ccspi ?= n
CONFIG_glitch ?= n
CONFIG_smartcard ?= n
CONFIG_ps2 ?= n
CONFIG_slc2 ?= n
-#The CONFIG_foo vars are only interpreted if $(config) is unset.
+#The CONFIG_foo vars are only interpreted if $(config) is "unset".
ifeq ($(config),undef)
config += $(foreach app,$(AVAILABLE_APPS),$(if $(findstring $(CONFIG_$(app)),y yes t true Y YES T TRUE),$(app)))
endif