PROBE_HOST ?= native PLATFORM_DIR = platforms/$(PROBE_HOST) VPATH += $(PLATFORM_DIR) target ENABLE_DEBUG ?= ifneq ($(V), 1) MAKEFLAGS += --no-print-dir Q := @ endif CFLAGS += -Wall -Wextra -Werror -Wno-char-subscripts \ -std=gnu99 -g3 -MD -I./target \ -I. -Iinclude -I$(PLATFORM_DIR) ifeq ($(ENABLE_DEBUG), 1) CFLAGS += -DENABLE_DEBUG endif SRC = \ adiv5.c \ adiv5_jtagdp.c \ adiv5_swdp.c \ command.c \ cortexa.c \ cortexm.c \ crc32.c \ efm32.c \ exception.c \ gdb_if.c \ gdb_main.c \ gdb_hostio.c \ gdb_packet.c \ hex_utils.c \ jtag_devs.c \ lmi.c \ lpc_common.c \ lpc11xx.c \ lpc17xx.c \ lpc15xx.c \ lpc43xx.c \ kinetis.c \ main.c \ morse.c \ msp432.c \ nrf51.c \ nxpke04.c \ platform.c \ remote.c \ sam3x.c \ sam4l.c \ samd.c \ samx5x.c \ stm32f1.c \ stm32f4.c \ stm32h7.c \ stm32l0.c \ stm32l4.c \ swdptap.c \ target.c \ include $(PLATFORM_DIR)/Makefile.inc OPT_FLAGS ?= -O2 CFLAGS += $(OPT_FLAGS) LDFLAGS += $(OPT_FLAGS) ifndef TARGET TARGET=blackmagic endif ifdef NO_OWN_LL SRC += jtagtap_generic.c swdptap_generic.c endif ifndef OWN_HL SRC += jtag_scan.c jtagtap.c else CFLAGS += -DOWN_HL endif ifdef PC_HOSTED CFLAGS += -DPC_HOSTED=1 else CFLAGS += -DPC_HOSTED=0 VPATH += platforms/common CFLAGS += -Iplatforms/common endif OBJ = $(patsubst %.S,%.o,$(patsubst %.c,%.o,$(SRC))) $(TARGET): include/version.h $(OBJ) @echo " LD $@" $(Q)$(CC) -o $@ $(OBJ) $(LDFLAGS) %.o: %.c @echo " CC $<" $(Q)$(CC) $(CFLAGS) -c $< -o $@ %.o: %.S @echo " AS $<" $(Q)$(CC) $(CFLAGS) -c $< -o $@ %.bin: % @echo " OBJCOPY $@" $(Q)$(OBJCOPY) -O binary $^ $@ %.hex: % @echo " OBJCOPY $@" $(Q)$(OBJCOPY) -O ihex $^ $@ .PHONY: clean host_clean all_platforms FORCE clean: host_clean $(Q)echo " CLEAN" -$(Q)$(RM) *.o *.d *~ blackmagic $(HOSTFILES) -$(Q)$(RM) platforms/*/*.o platforms/*/*.d mapfile include/version.h all_platforms: $(Q)set -e ;\ mkdir -p artifacts/$(shell git describe --always) ;\ echo "" >> artifacts/index.html ;\ cp artifacts/*.bin artifacts/$(shell git describe --always) command.c: include/version.h include/version.h: FORCE $(Q)echo " GIT include/version.h" $(Q)echo "#define FIRMWARE_VERSION \"$(shell git describe --always --dirty)\"" > $@ -include *.d