Revert "make: allow building flat binary plugins on USE_ELF targets"

This reverts commit 91ec6f1e1e.

Reason for revert: Massive sea of red, looks like hosted + sim builds.

Change-Id: I98a3954d68ad2cc521e13c3683bf4a6f45f88b36
This commit is contained in:
Solomon Peachy 2026-02-04 08:48:43 -05:00
parent bbe72761a4
commit 1e2950cc6c
13 changed files with 13 additions and 20 deletions

View file

@ -39,7 +39,7 @@ $(CHESSBOX_OBJDIR)/chessbox.ovl: $(CHESSBOX_OBJ) $(CHESSBOX_OUTLDS)
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(CHESSBOX_OVLFLAGS)
$(call PRINTS,LD $(@F))$(call objcopy_plugin,$(basename $@).elf,$@)
$(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@)
# special pattern rule for compiling chessbox with extra flags
$(CHESSBOX_OBJDIR)/%.o: $(CHESSBOX_SRCDIR)/%.c $(CHESSBOX_SRCDIR)/chessbox.make

View file

@ -36,4 +36,4 @@ $(GOBAN_BUILDDIR)/goban.ovl: $(GOBAN_OBJ) $(GOBAN_OUTLDS)
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(GOBAN_OVLFLAGS)
$(call PRINTS,LD $(@F))$(call objcopy_plugin,$(basename $@).elf,$@)
$(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@)

View file

@ -40,7 +40,7 @@ $(IMGVBUILDDIR)/%.ovl: $(IMGDEC_OUTLDS)
$(filter-out $(PLUGIN_CRT0),$(filter %.o, $^)) \
$(filter %.a, $+) \
-lgcc $(IMGDEC_OVLFLAGS)
$(SILENT)$(call objcopy_plugin,$(IMGVBUILDDIR)/$*.elf,$@)
$(SILENT)$(call objcopy,$(IMGVBUILDDIR)/$*.elf,$@)
# rule to create reference map for image decoder
$(IMGVBUILDDIR)/%.refmap: $(APPSDIR)/plugin.h $(IMGVSRCDIR)/imageviewer.h $(PLUGINLINK_LDS) $(PLUGIN_LIBS)

View file

@ -73,7 +73,7 @@ $(LUA_BUILDDIR)/lua.ovl: $(LUA_OBJ) $(TLSFLIB) $(LUA_OUTLDS)
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(LUA_OVLFLAGS)
$(call PRINTS,LD $(@F))$(call objcopy_plugin,$(basename $@).elf,$@)
$(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@)
$(LUA_BUILDDIR):
$(call PRINTS,MKDIR $@)mkdir -p $(LUA_BUILDDIR)/

View file

@ -37,7 +37,7 @@ $(PICTUREFLOW_OBJDIR)/pictureflow.ovl: $(PICTUREFLOW_OBJ) $(PICTUREFLOW_OUTLDS)
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(PICTUREFLOW_OVLFLAGS)
$(call PRINTS,LD $(@F))$(call objcopy_plugin,$(basename $@).elf,$@)
$(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@)
# special pattern rule for compiling pictureflow with extra flags
$(PICTUREFLOW_OBJDIR)/%.o: $(PICTUREFLOW_SRCDIR)/%.c $(PICTUREFLOW_SRCDIR)/pictureflow.make

View file

@ -169,7 +169,7 @@ $(BUILDDIR)/%.rock:
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(PLUGINLDFLAGS)
$(SILENT)$(call objcopy_plugin,$(BUILDDIR)/$*.elf,$@)
$(SILENT)$(call objcopy,$(BUILDDIR)/$*.elf,$@)
$(BUILDDIR)/apps/plugins/%.lua: $(ROOTDIR)/apps/plugins/%.lua
$(call PRINTS,CP $(subst $(ROOTDIR)/,,$<))cp $< $(BUILDDIR)/apps/plugins/

View file

@ -49,14 +49,14 @@ $(PUZZLES_OBJDIR)/sgt-%.rock: $(PUZZLES_OBJDIR)/src/%.o $(PUZZLES_OBJDIR)/help/%
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(filter-out -Wl%.map, $(PLUGINLDFLAGS)) -Wl,$(LDMAP_OPT),$(PUZZLES_OBJDIR)/src/$*.map
$(SILENT)$(call objcopy_plugin,$(PUZZLES_OBJDIR)/$*.elf,$@)
$(SILENT)$(call objcopy,$(PUZZLES_OBJDIR)/$*.elf,$@)
$(PUZZLES_OBJDIR)/sgt-%.rock: $(PUZZLES_OBJDIR)/src/unfinished/%.o $(PUZZLES_OBJDIR)/help/%.o $(PUZZLES_SHARED_OBJ) $(TLSFLIB)
$(call PRINTS,LD $(@F))$(CC) $(PLUGINFLAGS) -o $(PUZZLES_OBJDIR)/$*.elf \
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(filter-out -Wl%.map, $(PLUGINLDFLAGS)) -Wl,$(LDMAP_OPT),$(PUZZLES_OBJDIR)/src/$*.map
$(SILENT)$(call objcopy_plugin,$(PUZZLES_OBJDIR)/$*.elf,$@)
$(SILENT)$(call objcopy,$(PUZZLES_OBJDIR)/$*.elf,$@)
$(PUZZLES_SRCDIR)/rbcompat.h: $(APPSDIR)/plugin.h \
$(APPSDIR)/plugins/lib/pluginlib_exit.h \

View file

@ -37,7 +37,7 @@ $(ROCKBOY_OBJDIR)/rockboy.ovl: $(ROCKBOY_OBJ) $(ROCKBOY_OUTLDS)
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(ROCKBOY_OVLFLAGS)
$(call PRINTS,LD $(@F))$(call objcopy_plugin,$(basename $@).elf,$@)
$(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@)
# special rule to build with devkitarm gcc
ifeq ($(APP_TYPE),ctru-app)

View file

@ -95,7 +95,7 @@ $(SDL_OBJDIR)/wolf3d.ovl: $(SDL_OBJ) $(WOLF3D_OBJ) $(TLSFLIB) $(WOLF3D_OUTLDS)
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc -T$(WOLF3D_OUTLDS) $(SDL_OVLFLAGS)
$(call PRINTS,LD $(@F))$(call objcopy_plugin,$(basename $@).elf,$@)
$(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@)
# Quake
###
@ -113,7 +113,7 @@ $(SDL_OBJDIR)/quake.ovl: $(SDL_OBJ) $(QUAKE_OBJ) $(TLSFLIB) $(QUAKE_OUTLDS)
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc -T$(QUAKE_OUTLDS) $(SDL_OVLFLAGS)
$(call PRINTS,LD $(@F))$(call objcopy_plugin,$(basename $@).elf,$@)
$(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@)
###

View file

@ -45,7 +45,7 @@ $(ZXBOX_OBJDIR)/zxbox.ovl: $(ZXBOX_OBJ) $(ZXBOX_OUTLDS)
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(ZXBOX_LDFLAGS)
$(call PRINTS,LD $(@F))$(call objcopy_plugin,$(basename $@).elf,$@)
$(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@)
# special pattern rule for compiling zxbox with extra flags
$(ZXBOX_OBJDIR)/%.o: $(ZXBOX_SRCDIR)/%.c $(ZXBOX_SRCDIR)/zxbox.make

View file

@ -245,4 +245,4 @@ $(CODECDIR)/%.codec: $(CODECDIR)/%.o
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(CODECLDFLAGS)
$(SILENT)$(call objcopy_plugin,$(CODECDIR)/$*.elf,$@)
$(SILENT)$(call objcopy,$(CODECDIR)/$*.elf,$@)

2
tools/configure vendored
View file

@ -1755,7 +1755,6 @@ fi
x1000tools="$genericbitmaptools scramble mkspl-x1000 uclpack"
# default to not generating ELF files
USE_ELF="no"
PLUGIN_USE_ELF="no"
# ---- For each target ----
#
@ -5007,7 +5006,6 @@ export TTS_ENGINE=${TTS_ENGINE}
export ENC_OPTS=${ENC_OPTS}
export ENCODER=${ENCODER}
export USE_ELF=${USE_ELF}
export PLUGIN_USE_ELF=${PLUGIN_USE_ELF}
export RBDIR=${rbdir}
export ROCKBOX_SHARE_PATH=${sharedir}
export ROCKBOX_BINARY_PATH=${bindir}

View file

@ -38,20 +38,15 @@ a2lnk = $(patsubst lib%.a,-l%,$(notdir $(1)))
# handles the $(1) == $(2) case too
ifndef APP_TYPE
objcopy = $(OC) $(if $(filter yes, $(USE_ELF)), -S -x, -O binary) $(1) $(2) # objcopy native
objcopy_plugin = $(OC) $(if $(filter yes, $(PLUGIN_USE_ELF)), -S -x, -O binary) $(1) $(2)
else ifneq (,$(findstring sdl-sim,$(APP_TYPE)))
objcopy = cp $(1) $(1).tmp;mv -f $(1).tmp $(2) # objcopy simulator
objcopy_plugin = objcopy
else ifneq (,$(findstring ctru,$(MODELNAME))) # 3dsxtool requires symbols
objcopy = cp $(1) $(1).tmp;mv -f $(1).tmp $(2)
objcopy_plugin = objcopy
else
ifdef DEBUG
objcopy = cp $(1) $(1).tmp;mv -f $(1).tmp $(2) # objcopy hosted (DEBUG)
objcopy_plugin = objcopy
else
objcopy = $(OC) -S -x $(1) $(2) # objcopy hosted (!DEBUG)
objcopy_plugin = objcopy
endif
endif