Makefile (1274B)
1 # make pico -> sd/ lista para copiar a la tarjeta (necesita arm-none-eabi-gcc y el pico-sdk) 2 # make sim -> ./sim, el simulador en la PC (Linux o WSL con SDL3) 3 # Cambiá NOMBRE para que los archivos de la SD tengan otro nombre. 4 NOMBRE ?= Hola 5 PICO_SDK_PATH ?= $(HOME)/pico-sdk 6 LOG := $(shell sed -n 's/.*APP_SD_LOG *"\(.*\)".*/\1/p' app/app_config.h) 7 SAV := $(shell sed -n 's/.*APP_SD_SAV *"\(.*\)".*/\1/p' app/app_config.h) 8 9 pico: 10 cmake -S . -B build -DPICO_SDK_PATH=$(PICO_SDK_PATH) && $(MAKE) -C build -j4 11 @mkdir -p sd/pico1-apps sd/firmware 12 cp build/app.uf2 sd/pico1-apps/$(NOMBRE).uf2 13 cp build/app_sd200k.bin sd/firmware/$(NOMBRE).bin 14 python3 comun/tools/patch_reset.py build/app_sd200k.elf sd/firmware/$(NOMBRE).bin 15 @test -f sd/$(LOG) || head -c 262144 /dev/zero | tr '\0' ' ' > sd/$(LOG) 16 @test -f sd/$(SAV) || head -c 81920 /dev/zero > sd/$(SAV) 17 @echo "Listo: copiá el contenido de sd/ a la raíz de la tarjeta SD" 18 19 SIM_SRC := $(wildcard app/*.c) $(wildcard comun/base/*.c) $(wildcard comun/gfx/*.c) comun/pico/hal_sim.c comun/pico/link.c 20 sim: $(SIM_SRC) 21 $(CC) -std=gnu11 -O2 -Wall -Wno-unused-parameter -Iapp -Icomun/base -Icomun/gfx -Icomun/pico \ 22 -o $@ $(SIM_SRC) $$(pkg-config --cflags --libs sdl3) 23 24 clean: 25 rm -rf build sim 26 27 .PHONY: pico clean