Makefile (972B)
1 FAMILY ?= rp2040 2 3 SIDE ?= left 4 5 PICO_SDK_PATH ?= lib/picosdk 6 TINYUSB_PATH ?= lib/tinyusb 7 8 PICO_SDK_FILES = $(PICO_SDK_PATH)/CMakeLists.txt 9 TINYUSB_FILES = $(TINYUSB_PATH)/hw/bsp/family_support.cmake 10 11 CMAKE_FLAGS = -DFAMILY=$(FAMILY) -DPICO_SDK_PATH=$(PICO_SDK_PATH) 12 CMAKE_C_FLAGS = -DSPLIT_SIDE=$(shell echo "$(SIDE)" | tr a-z A-Z) 13 ifdef ROLE 14 CMAKE_C_FLAGS += -DSPLIT_ROLE=$(shell echo "$(ROLE)" | tr a-z A-Z) 15 endif 16 ifneq ($(GPIO_MOD),0) 17 CMAKE_C_FLAGS += -DBAD_GPIO_MITIGATION=1 18 endif 19 20 all: build flash 21 22 clean: 23 rm -rf .build 24 25 build: | $(PICO_SDK_FILES) $(TINYUSB_FILES) .build/$(SIDE) 26 cmake -B .build/$(SIDE) $(CMAKE_FLAGS) -DCMAKE_C_EXTRA_FLAGS="$(CMAKE_C_FLAGS)" 27 make -C .build/$(SIDE) 28 29 flash: 30 picotool load .build/$(SIDE)/sxkbd.uf2 31 32 $(PICO_SDK_FILES): 33 git submodule update --init lib/picosdk 34 35 $(TINYUSB_FILES): 36 git submodule update --init lib/tinyusb 37 git -C lib/tinyusb apply ../../extra/tinyusb.diff 38 39 .build/$(SIDE): 40 mkdir -p $@ 41 42 .PHONY: all clean build flash