sxkbd

Firmware for RP2040-based corne split keyboard
git clone https://git.sinitax.com/sinitax/sxkbd
Log | Files | Refs | Submodules | README | LICENSE | sfeed.txt

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