@@ -296,42 +296,107 @@ submodules:
296296 git submodule update --init lib/micropython-lib && \
297297 cd -
298298
299+ LV_BINDING_PATH = $(abspath ./cmodules/lv_binding_micropython)
300+ MICROPYTHON_PATH = $(abspath ./../micropython)
301+ M5UNIFIED_PATH = $(abspath ./components/M5Unified/M5Unified)
302+ M5GFX_PATH = $(abspath ./components/M5Unified/M5GFX)
303+ ESP32_CAMERA_PATH = $(abspath ./components/esp32-camera)
304+
305+ LV_BINDING_PATCH_SERIES = \
306+ 0003-avoid-lv_bindings-compile-error.patch
307+
308+ MICROPYTHON_PATCH_SERIES = \
309+ 0006-modtime-add-timezone-method.patch \
310+ 0007-Add-set-default-netif-method.patch \
311+ 0009-micropython-1.25.0-add-esp32p4-pins.patch \
312+ 0010-micropython-1.25.0-machine-adc-v5.x.patch \
313+ 0011-micropython-1.25.0-fix-esp32-p4-pwm.patch \
314+ 0012-micropython-1.25.0-fix-esp32-p4-modesp32.patch \
315+ 0013-micropython-1.25.0-fix-touchpad.patch \
316+ 0014-micropython-1.25.0-fix-timer.patch \
317+ 0015-micropython-1.25.0-fix-hostname.patch \
318+ 0016-micropython-1.25.0-fix-mpnimbleport.patch \
319+ 0017-micropython-1.25.0-add-uart-mode.patch
320+
321+ IDF_PATH_PATCH_SERIES = \
322+ 1004-idf_v5.4_freertos.patch
323+
324+ M5UNIFIED_PATCH_SERIES = \
325+ 2005-Support-LTR553.patch
326+
327+ ADF_PATCH_SERIES = \
328+ 3002-Modify-i2s_stream_idf5.patch
329+
330+ M5GFX_PATCH_SERIES = \
331+ 4002-M5GFX-use-i2c-driver.patch
332+
333+ ESP32_CAMERA_PATCH_SERIES = \
334+ 5001-Add-software-i2c-support.patch
335+
336+ PACKAGES = \
337+ lv_binding_micropython \
338+ micropython \
339+ esp-idf \
340+ M5Unified \
341+ esp-adf \
342+ M5GFX \
343+ esp32-camera
344+
345+ PACKAGES_PATH = \
346+ lv_binding_micropython:$(LV_BINDING_PATH ) \
347+ micropython:$(MICROPYTHON_PATH ) \
348+ esp-idf:$(IDF_PATH ) \
349+ M5Unified:$(M5UNIFIED_PATH ) \
350+ esp-adf:$(ADF_PATH ) \
351+ M5GFX:$(M5GFX_PATH ) \
352+ esp32-camera:$(ESP32_CAMERA_PATH )
353+
354+ define find_package
355+ $(if $(filter $(1 ) :% ,$(PACKAGES_PATH ) ) ,$(word 2,$(subst :, ,$(filter $(1 ) :% ,$(PACKAGES_PATH ) ) ) ) ,none)
356+ endef
357+
358+ .PHONY : $(PACKAGES ) prepare
359+ PKG := $(firstword $(MAKECMDGOALS ) )
360+
361+ PKG_PATH ?= $(call find_package,$(PKG ) )
362+ PKG_PATCH_SERIES := $(strip \
363+ $(if $(filter lv_binding_micropython,$(PKG ) ) ,$(LV_BINDING_PATCH_SERIES ) ) \
364+ $(if $(filter micropython,$(PKG ) ) ,$(MICROPYTHON_PATCH_SERIES ) ) \
365+ $(if $(filter esp-idf,$(PKG ) ) ,$(IDF_PATH_PATCH_SERIES ) ) \
366+ $(if $(filter M5Unified,$(PKG ) ) ,$(M5UNIFIED_PATCH_SERIES ) ) \
367+ $(if $(filter esp-adf,$(PKG ) ) ,$(ADF_PATCH_SERIES ) ) \
368+ $(if $(filter M5GFX,$(PKG ) ) ,$(M5GFX_PATCH_SERIES ) ) \
369+ $(if $(filter esp32-camera,$(PKG ) ) ,$(ESP32_CAMERA_PATCH_SERIES ) ) \
370+ )
371+ # $(info PKG_PATCH_SERIES for $(PKG) is [$(PKG_PATCH_SERIES)])
372+
373+ prepare :
374+ $(call Patch/prepare,$(abspath $(PKG_PATH ) ) ,$(PKG_PATCH_SERIES ) )
375+
376+ .PHONY : $(PACKAGES ) update
377+ update :
378+ $(call Patch/update,$(abspath $(PKG_PATH ) ) ,$(abspath ./patches) )
379+
380+ .PHONY : $(PACKAGES ) unprepare
381+ unprepare :
382+ $(call Patch/clean,$(abspath $(PKG_PATH ) ) ,$(PKG_PATCH_SERIES ) )
383+
299384# Apply patches
300- patch :
301- $(call Package/patche,$(abspath ./cmodules/lv_binding_micropython) ,$(abspath ./patches/0003-avoid-lv_bindings-compile-error.patch) )
302- $(call Package/patche,$(abspath ./../micropython) ,$(abspath ./patches/0006-modtime-add-timezone-method.patch) )
303- $(call Package/patche,$(abspath ./../micropython) ,$(abspath ./patches/0007-Add-set-default-netif-method.patch) )
304- $(call Package/patche,$(abspath ./../micropython) ,$(abspath ./patches/0009-micropython-1.25.0-add-esp32p4-pins.patch) )
305- $(call Package/patche,$(abspath ./../micropython) ,$(abspath ./patches/0010-micropython-1.25.0-machine-adc-v5.x.patch) )
306- $(call Package/patche,$(abspath ./../micropython) ,$(abspath ./patches/0011-micropython-1.25.0-fix-esp32-p4-pwm.patch) )
307- $(call Package/patche,$(abspath ./../micropython) ,$(abspath ./patches/0012-micropython-1.25.0-fix-esp32-p4-modesp32.patch) )
308- $(call Package/patche,$(abspath ./../micropython) ,$(abspath ./patches/0013-micropython-1.25.0-fix-touchpad.patch) )
309- $(call Package/patche,$(abspath ./../micropython) ,$(abspath ./patches/0014-micropython-1.25.0-fix-timer.patch) )
310- $(call Package/patche,$(abspath ./../micropython) ,$(abspath ./patches/0015-micropython-1.25.0-fix-hostname.patch) )
311- $(call Package/patche,$(abspath ./../micropython) ,$(abspath ./patches/0016-micropython-1.25.0-fix-mpnimbleport.patch) )
312- $(call Package/patche,$(abspath ./../micropython) ,$(abspath ./patches/0017-micropython-1.25.0-add-uart-mode.patch) )
313- $(call Package/patche,$(abspath $(IDF_PATH ) ) ,$(abspath ./patches/1004-idf_v5.4_freertos.patch) )
314- $(call Package/patche,$(abspath ./components/M5Unified/M5Unified) ,$(abspath ./patches/2005-Support-LTR553.patch) )
315- $(call Package/patche,$(abspath $(ADF_PATH ) ) ,$(abspath ./patches/3002-Modify-i2s_stream_idf5.patch) )
316- $(call Package/patche,$(abspath ./components/M5Unified/M5GFX) ,$(abspath ./patches/4002-M5GFX-use-i2c-driver.patch) )
317- $(call Package/patche,$(abspath ./components/esp32-camera) ,$(abspath ./patches/5001-Add-software-i2c-support.patch) )
385+ patch : unpatch
386+ $(call Patch/prepare,$(LV_BINDING_PATH ) ,$(LV_BINDING_PATCH_SERIES ) )
387+ $(call Patch/prepare,$(MICROPYTHON_PATH ) ,$(MICROPYTHON_PATCH_SERIES ) )
388+ $(call Patch/prepare,$(IDF_PATH ) ,$(IDF_PATH_PATCH_SERIES ) )
389+ $(call Patch/prepare,$(M5UNIFIED_PATH ) ,$(M5UNIFIED_PATCH_SERIES ) )
390+ $(call Patch/prepare,$(ADF_PATH ) ,$(ADF_PATCH_SERIES ) )
391+ $(call Patch/prepare,$(M5GFX_PATH ) ,$(M5GFX_PATCH_SERIES ) )
392+ $(call Patch/prepare,$(ESP32_CAMERA_PATH ) ,$(ESP32_CAMERA_PATCH_SERIES ) )
318393
319394# Unapply patches
320395unpatch :
321- $(call Package/unpatche,$(abspath ./cmodules/lv_binding_micropython) ,$(abspath ./patches/0003-avoid-lv_bindings-compile-error.patch) )
322- $(call Package/unpatche,$(abspath ./../micropython) ,$(abspath ./patches/0017-micropython-1.25.0-add-uart-mode.patch) )
323- $(call Package/unpatche,$(abspath ./../micropython) ,$(abspath ./patches/0016-micropython-1.25.0-fix-mpnimbleport.patch) )
324- $(call Package/unpatche,$(abspath ./../micropython) ,$(abspath ./patches/0015-micropython-1.25.0-fix-hostname.patch) )
325- $(call Package/unpatche,$(abspath ./../micropython) ,$(abspath ./patches/0014-micropython-1.25.0-fix-timer.patch) )
326- $(call Package/unpatche,$(abspath ./../micropython) ,$(abspath ./patches/0013-micropython-1.25.0-fix-touchpad.patch) )
327- $(call Package/unpatche,$(abspath ./../micropython) ,$(abspath ./patches/0012-micropython-1.25.0-fix-esp32-p4-modesp32.patch) )
328- $(call Package/unpatche,$(abspath ./../micropython) ,$(abspath ./patches/0011-micropython-1.25.0-fix-esp32-p4-pwm.patch) )
329- $(call Package/unpatche,$(abspath ./../micropython) ,$(abspath ./patches/0010-micropython-1.25.0-machine-adc-v5.x.patch) )
330- $(call Package/unpatche,$(abspath ./../micropython) ,$(abspath ./patches/0009-micropython-1.25.0-add-esp32p4-pins.patch) )
331- $(call Package/unpatche,$(abspath ./../micropython) ,$(abspath ./patches/0007-Add-set-default-netif-method.patch) )
332- $(call Package/unpatche,$(abspath ./../micropython) ,$(abspath ./patches/0006-modtime-add-timezone-method.patch) )
333- $(call Package/unpatche,$(abspath $(IDF_PATH ) ) ,$(abspath ./patches/1004-idf_v5.4_freertos.patch) )
334- $(call Package/unpatche,$(abspath ./components/M5Unified/M5Unified) ,$(abspath ./patches/2005-Support-LTR553.patch) )
335- $(call Package/unpatche,$(abspath $(ADF_PATH ) ) ,$(abspath ./patches/3002-Modify-i2s_stream_idf5.patch) )
336- $(call Package/unpatche,$(abspath ./components/M5Unified/M5GFX) ,$(abspath ./patches/4002-M5GFX-use-i2c-driver.patch) )
337- $(call Package/unpatche,$(abspath ./components/esp32-camera) ,$(abspath ./patches/5001-Add-software-i2c-support.patch) )
396+ $(call Patch/clean,$(LV_BINDING_PATH ) ,$(LV_BINDING_PATCH_SERIES ) )
397+ $(call Patch/clean,$(MICROPYTHON_PATH ) ,$(MICROPYTHON_PATCH_SERIES ) )
398+ $(call Patch/clean,$(IDF_PATH ) ,$(IDF_PATH_PATCH_SERIES ) )
399+ $(call Patch/clean,$(M5UNIFIED_PATH ) ,$(M5UNIFIED_PATCH_SERIES ) )
400+ $(call Patch/clean,$(ADF_PATH ) ,$(ADF_PATCH_SERIES ) )
401+ $(call Patch/clean,$(M5GFX_PATH ) ,$(M5GFX_PATCH_SERIES ) )
402+ $(call Patch/clean,$(ESP32_CAMERA_PATH ) ,$(ESP32_CAMERA_PATCH_SERIES ) )
0 commit comments