7ab5252cdd
to trade compile speed & flash size Initially enable the faster mode on rp2040 and espressif, where there's usually plenty of flash available (these advanced techniques save hundreds to thousands of bytes, which is important on a lot of old samd21 boards but is a drop in the lake of a 4MB flash chip)
154 lines
3.9 KiB
Makefile
154 lines
3.9 KiB
Makefile
# Use internal flash for CIRCUITPY drive
|
|
INTERNAL_FLASH_FILESYSTEM = 1
|
|
|
|
# Internal math library is substantially smaller than toolchain one
|
|
INTERNAL_LIBM = 0
|
|
|
|
# Longints can be implemented as mpz, as longlong, or not
|
|
LONGINT_IMPL = MPZ
|
|
|
|
# Default to no-psram
|
|
CIRCUITPY_ESP_PSRAM_SIZE ?= 0
|
|
|
|
# Enable more features
|
|
CIRCUITPY_FULL_BUILD ?= 1
|
|
|
|
# These modules are implemented in ports/<port>/common-hal:
|
|
CIRCUITPY_ALARM ?= 1
|
|
CIRCUITPY_ANALOGBUFIO ?= 1
|
|
CIRCUITPY_AUDIOBUSIO ?= 1
|
|
CIRCUITPY_AUDIOBUSIO_PDMIN ?= 0
|
|
CIRCUITPY_AUDIOIO ?= 0
|
|
CIRCUITPY_AUDIOMP3 ?= 0
|
|
CIRCUITPY_BLEIO ?= 1
|
|
CIRCUITPY_BLEIO_HCI = 0
|
|
CIRCUITPY_CANIO ?= 1
|
|
CIRCUITPY_COUNTIO ?= 1
|
|
CIRCUITPY_DOTCLOCKFRAMEBUFFER_USES_SUPERVISOR_ALLOCATION = 0
|
|
CIRCUITPY_DUALBANK ?= 1
|
|
CIRCUITPY_ESPCAMERA ?= 1
|
|
CIRCUITPY_ESPIDF ?= 1
|
|
CIRCUITPY_ESPULP ?= 1
|
|
CIRCUITPY_FRAMEBUFFERIO ?= 1
|
|
CIRCUITPY_FREQUENCYIO ?= 1
|
|
CIRCUITPY_HASHLIB ?= 1
|
|
CIRCUITPY_I2CTARGET ?= 1
|
|
CIRCUITPY_IMAGECAPTURE = 0
|
|
CIRCUITPY_MEMORYMAP ?= 1
|
|
CIRCUITPY_NVM ?= 1
|
|
# Turn off because it uses the old I2S driver which conflicts with the new ADC driver.
|
|
CIRCUITPY_PARALLELDISPLAY ?= 0
|
|
CIRCUITPY_PS2IO ?= 1
|
|
CIRCUITPY_RGBMATRIX ?= 1
|
|
CIRCUITPY_ROTARYIO ?= 1
|
|
CIRCUITPY_SYNTHIO_MAX_CHANNELS ?= 12
|
|
CIRCUITPY_TOUCHIO_USE_NATIVE ?= 1
|
|
CIRCUITPY_WATCHDOG ?= 1
|
|
CIRCUITPY_WIFI ?= 1
|
|
|
|
# Conditionally turn off modules/features
|
|
ifeq ($(IDF_TARGET),esp32)
|
|
# Modules
|
|
CIRCUITPY_RGBMATRIX = 0
|
|
CIRCUITPY_BLEIO = 0
|
|
# Features
|
|
CIRCUITPY_USB = 0
|
|
|
|
else ifeq ($(IDF_TARGET),esp32c3)
|
|
# Modules
|
|
CIRCUITPY_ALARM = 0
|
|
CIRCUITPY_AUDIOBUSIO = 0
|
|
CIRCUITPY_COUNTIO = 0
|
|
CIRCUITPY_ESPCAMERA = 0
|
|
CIRCUITPY_ESPULP = 0
|
|
CIRCUITPY_FREQUENCYIO = 0
|
|
CIRCUITPY_MEMORYMAP = 0
|
|
CIRCUITPY_PARALLELDISPLAY = 0
|
|
CIRCUITPY_ROTARYIO = 0
|
|
CIRCUITPY_TOUCHIO ?= 1
|
|
CIRCUITPY_TOUCHIO_USE_NATIVE = 0
|
|
# Features
|
|
CIRCUITPY_USB = 0
|
|
CIRCUITPY_ESP_USB_SERIAL_JTAG ?= 1
|
|
|
|
else ifeq ($(IDF_TARGET),esp32c6)
|
|
# Modules
|
|
CIRCUITPY_ALARM = 0
|
|
CIRCUITPY_AUDIOBUSIO = 0
|
|
CIRCUITPY_ESPCAMERA = 0
|
|
CIRCUITPY_ESPULP = 0
|
|
CIRCUITPY_MEMORYMAP = 0
|
|
CIRCUITPY_PARALLELDISPLAY = 0
|
|
CIRCUITPY_TOUCHIO ?= 1
|
|
CIRCUITPY_TOUCHIO_USE_NATIVE = 0
|
|
# Features
|
|
CIRCUITPY_USB = 0
|
|
CIRCUITPY_ESP_USB_SERIAL_JTAG ?= 1
|
|
|
|
else ifeq ($(IDF_TARGET),esp32h2)
|
|
# Modules
|
|
CIRCUITPY_ALARM = 0
|
|
# Turn off analogio because calibration is currently supported.
|
|
# https://github.com/espressif/esp-idf/issues/11038
|
|
CIRCUITPY_ANALOGIO = 0
|
|
CIRCUITPY_AUDIOBUSIO = 0
|
|
CIRCUITPY_ESPCAMERA = 0
|
|
CIRCUITPY_ESPULP = 0
|
|
CIRCUITPY_MEMORYMAP = 0
|
|
CIRCUITPY_PARALLELDISPLAY = 0
|
|
CIRCUITPY_RGBMATRIX = 0
|
|
CIRCUITPY_TOUCHIO ?= 1
|
|
CIRCUITPY_TOUCHIO_USE_NATIVE = 0
|
|
# Features
|
|
CIRCUITPY_USB = 0
|
|
CIRCUITPY_ESP_USB_SERIAL_JTAG ?= 1
|
|
CIRCUITPY_WIFI = 0
|
|
|
|
else ifeq ($(IDF_TARGET),esp32s2)
|
|
# Modules
|
|
CIRCUITPY_BLEIO = 0
|
|
CIRCUITPY_RGBMATRIX_USES_SUPERVISOR_ALLOCATION = 0
|
|
|
|
CIRCUITPY_ESP_USB_SERIAL_JTAG ?= 0
|
|
|
|
else ifeq ($(IDF_TARGET),esp32s3)
|
|
# Modules
|
|
CIRCUITPY_PARALLELDISPLAY = 0
|
|
CIRCUITPY_RGBMATRIX_USES_SUPERVISOR_ALLOCATION = 0
|
|
|
|
CIRCUITPY_ESP_USB_SERIAL_JTAG ?= 0
|
|
|
|
endif
|
|
|
|
# No room for dualbank on boards with 2MB flash
|
|
ifeq ($(CIRCUITPY_ESP_FLASH_SIZE),2MB)
|
|
CIRCUITPY_DUALBANK = 0
|
|
endif
|
|
|
|
# Modules dependent on other modules
|
|
CIRCUITPY_ESPNOW ?= $(CIRCUITPY_WIFI)
|
|
CIRCUITPY_GIFIO ?= $(CIRCUITPY_ESPCAMERA)
|
|
CIRCUITPY_QRIO ?= $(CIRCUITPY_ESPCAMERA)
|
|
|
|
# Features dependent on other features
|
|
ifneq ($(CIRCUITPY_USB),0)
|
|
CIRCUITPY_BUILD_EXTENSIONS ?= bin,uf2
|
|
else
|
|
CIRCUITPY_BUILD_EXTENSIONS ?= bin
|
|
endif
|
|
|
|
# From ESP32-S2/S3 Technical Reference Manual:
|
|
#
|
|
# Endpoint number 0 always present (bi-directional, consisting of EP0 IN and EP0 OUT)
|
|
# Six additional endpoints (endpoint numbers 1 to 6), configurable as IN or OUT
|
|
# Maximum of five IN endpoints concurrently active at any time (including EP0 IN)
|
|
#
|
|
# Due to the limited number of endpoints, some USB devices will be off by default.
|
|
# For instance MIDI is available, but the device is turned off. It can be turned on
|
|
# only if something else is turned off, such as HID.
|
|
USB_NUM_ENDPOINT_PAIRS = 7
|
|
USB_NUM_IN_ENDPOINTS = 5
|
|
|
|
# Usually lots of flash space available
|
|
CIRCUITPY_MESSAGE_COMPRESSION_LEVEL ?= 1
|