configure: add ability to select plugins to build in --plugins flag

Use ":" as the separator. Useful for plugin development and debugging.

Example:
../tools/configure --target=hibyr1 --type=ADS --plugins="properties.c:imageviewer"

This creates a debug simulator build for Hiby R1 with the properties.c file and the imageviewer directory plugins enabled.

Change-Id: If974cfb0c54bd2c1a53ae11cc3f942c698ef2fe4
This commit is contained in:
Roman Artiukhin 2026-02-16 11:11:19 +02:00
parent dd21a1d1d9
commit aea9e1b63f
2 changed files with 33 additions and 0 deletions

View file

@ -20,11 +20,15 @@ ifeq ($(APP_TYPE),ctru-app)
is_app_build =
endif
ifdef SELECTED_PLUGINS_SRC
PLUGINS_SRC = $(SELECTED_PLUGINS_SRC)
else
ifdef is_app_build
PLUGINS_SRC = $(call preprocess, $(APPSDIR)/plugins/SOURCES.app_build)
else
PLUGINS_SRC = $(call preprocess, $(APPSDIR)/plugins/SOURCES)
endif
endif # ifdef SELECTED_PLUGINS_SRC
OTHER_SRC += $(PLUGINS_SRC)
ROCKS1 := $(PLUGINS_SRC:.c=.rock)
ROCKS1 := $(call full_path_subst,$(ROOTDIR)/%,$(BUILDDIR)/%,$(ROCKS1))
@ -58,11 +62,15 @@ endif
OTHER_SRC += $(ROOTDIR)/apps/plugins/plugin_crt0.c
PLUGIN_CRT0 := $(BUILDDIR)/apps/plugins/plugin_crt0.o
# multifile plugins (subdirs):
ifdef SELECTED_PLUGINS_SUBDIRS
PLUGINSUBDIRS := $(SELECTED_PLUGINS_SUBDIRS)
else
ifdef is_app_build
PLUGINSUBDIRS := $(call preprocess, $(APPSDIR)/plugins/SUBDIRS.app_build)
else
PLUGINSUBDIRS := $(call preprocess, $(APPSDIR)/plugins/SUBDIRS)
endif
endif # ifdef SELECTED_PLUGINS_SUBDIRS
PLUGIN_LIBS := $(PLUGINLIB) $(PLUGINBITMAPLIB) $(SETJMPLIB) $(FIXEDPOINTLIB)