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 \ jtag_scan.c \ lmi.c \ lpc_common.c \ lpc11xx.c \ lpc17xx.c \ lpc15xx.c \ lpc43xx.c \ lpc546xx.c \ kinetis.c \ main.c \ morse.c \ msp432.c \ nrf51.c \ nxpke04.c \ platform.c \ remote.c \ rp.c \ sam3x.c \ sam4l.c \ samd.c \ samx5x.c \ stm32f1.c \ ch32f1.c \ stm32f4.c \ stm32h7.c \ stm32l0.c \ stm32l4.c \ stm32g0.c \ target.c \ include $(PLATFORM_DIR)/Makefile.inc ifneq ($(PC_HOSTED),1) # Output memory usage information LDFLAGS += -Wl,--print-memory-usage endif OPT_FLAGS ?= -Os CFLAGS += $(OPT_FLAGS) LDFLAGS += $(OPT_FLAGS) ifndef TARGET ifdef PC_HOSTED TARGET = blackmagic else TARGET = blackmagic.elf endif endif ifdef NO_OWN_LL SRC += jtagtap_generic.c swdptap_generic.c endif ifdef PC_HOSTED CFLAGS += -DPC_HOSTED=1 else SRC += swdptap.c jtagtap.c CFLAGS += -DPC_HOSTED=0 VPATH += platforms/common CFLAGS += -Iplatforms/common endif ifeq ($(ENABLE_RTT), 1) CFLAGS += -DENABLE_RTT SRC += rtt.c rtt_if.c endif ifdef RTT_IDENT CFLAGS += -DRTT_IDENT=$(RTT_IDENT) 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 $@ ifndef PC_HOSTED %.bin: %.elf @echo " OBJCOPY $@" $(Q)$(OBJCOPY) -O binary $^ $@ %.hex: %.elf @echo " OBJCOPY $@" $(Q)$(OBJCOPY) -O ihex $^ $@ endif .PHONY: clean host_clean all_platforms clang-format FORCE clean: host_clean $(Q)echo " CLEAN" -$(Q)$(RM) *.o *.d *.elf *~ $(TARGET) $(HOSTFILES) -$(Q)$(RM) platforms/*/*.o platforms/*/*.d mapfile include/version.h all_platforms: $(Q)if [ ! -f ../libopencm3/Makefile ]; then \ echo "Initialising git submodules..." ;\ git submodule init ;\ git submodule update ;\ fi $(Q)$(MAKE) $(MFLAGS) -C ../libopencm3 lib/stm32/f1 lib/stm32/f4 lib/lm4f $(Q)set -e ;\ mkdir -p artifacts/$(shell git describe --always --dirty --tags) ;\ echo "