| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- ##############################################################################
- BUILD = build
- BIN = free_dap_rp2040
- ##############################################################################
- .PHONY: all directory clean size release
- CC = arm-none-eabi-gcc
- OBJCOPY = arm-none-eabi-objcopy
- SIZE = arm-none-eabi-size
- BIN2UF2 = bin2uf2
- ifeq ($(OS), Windows_NT)
- MKDIR = gmkdir
- else
- MKDIR = mkdir
- endif
- CFLAGS += -W -Wall --std=gnu11 -Os
- CFLAGS += -ffreestanding
- CFLAGS += -fno-diagnostics-show-caret
- CFLAGS += -fdata-sections -ffunction-sections
- CFLAGS += -funsigned-char -funsigned-bitfields
- CFLAGS += -mcpu=cortex-m0plus -mthumb
- CFLAGS += -MD -MP -MT $(BUILD)/$(*F).o -MF $(BUILD)/$(@F).d
- LDFLAGS += -mcpu=cortex-m0plus -mthumb
- LDFLAGS += -nostartfiles
- LDFLAGS += -Wl,--gc-sections
- LDFLAGS += -Wl,--script=../linker/rp2040.ld
- INCLUDES += \
- -I../include \
- -I../usb \
- -I../../.. \
- -I..
- SRCS += \
- ../main.c \
- ../uart.c \
- ../usb/usb_rp2040.c \
- ../usb/usb_std.c \
- ../usb/usb_cdc.c \
- ../usb/usb_hid.c \
- ../usb/usb_winusb.c \
- ../usb_descriptors.c \
- ../startup_rp2040.c \
- ../../../dap.c \
- DEFINES += \
- CFLAGS += $(INCLUDES) $(DEFINES)
- OBJS = $(addprefix $(BUILD)/, $(notdir %/$(subst .c,.o, $(SRCS))))
- all: directory $(BUILD)/$(BIN).elf $(BUILD)/$(BIN).hex $(BUILD)/$(BIN).bin $(BUILD)/$(BIN).uf2 release size
- $(BUILD)/$(BIN).elf: $(OBJS)
- @echo LD $@
- @$(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
- $(BUILD)/$(BIN).hex: $(BUILD)/$(BIN).elf
- @echo OBJCOPY $@
- @$(OBJCOPY) -O ihex $^ $@
- $(BUILD)/$(BIN).bin: $(BUILD)/$(BIN).elf
- @echo OBJCOPY $@
- @$(OBJCOPY) -O binary $^ $@
- $(BUILD)/$(BIN).uf2: $(BUILD)/$(BIN).bin
- @echo BIN2UF2 $@
- @$(BIN2UF2) -i $^ -o $@
- %.o:
- @echo CC $@
- @$(CC) $(CFLAGS) $(filter %/$(subst .o,.c,$(notdir $@)), $(SRCS)) -c -o $@
- release: $(BUILD)/$(BIN).uf2
- @echo release
- @cp $(BUILD)/$(BIN).uf2 ../../../bin/
- directory:
- @$(MKDIR) -p $(BUILD)
- size: $(BUILD)/$(BIN).elf
- @echo size:
- @$(SIZE) -t $^
- clean:
- @echo clean
- @-rm -rf $(BUILD)
- -include $(wildcard $(BUILD)/*.d)
|