Skip to content

Commit 4d95024

Browse files
committed
Makefile compatibility fixes
1 parent 393e1b4 commit 4d95024

1 file changed

Lines changed: 16 additions & 9 deletions

File tree

Makefile.emscripten

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ else
77
TARGET := $(LIBRETRO)_libretro.js
88
endif
99
endif
10+
TARGET_BASE := $(subst .js,,$(TARGET))
1011

1112
OS = Emscripten
1213
OBJ :=
@@ -293,18 +294,24 @@ RARCH_OBJ := $(addprefix $(OBJDIR)/,$(OBJ))
293294

294295
all: $(TARGET)
295296

296-
$(libretro_new) : $(libretro)
297-
mv -f $(libretro) $(libretro_new)
297+
$(libretro_new): ;
298+
299+
mv_libretro:
300+
mv -f $(libretro) $(libretro_new) || true
298301

299302
# until emscripten adds something like WASM_WORKERS=2 but for audio worklets, DIY.
300-
$(TARGET): $(RARCH_OBJ) $(libretro_new)
303+
ifeq ($(HAVE_AUDIOWORKLET), 1)
304+
$(TARGET): $(RARCH_OBJ) $(libretro_new) mv_libretro
305+
@$(if $(Q), $(shell echo echo "LD $@ \<obj\> $(libretro_new) $(LIBS) $(LDFLAGS)"),)
306+
$(Q)$(LD) -o $@ $(RARCH_OBJ) $(libretro_new) $(LIBS) $(LDFLAGS)
307+
$(Q)tr -d '\n' < "$(TARGET_BASE).aw.js" | sed -e "s/[\/&]/\\\\&/g" -e "s/'/\\\\\\\\&/g" > _audioworklet.js
308+
$(Q)sed -i.bak -e "s/\"$(TARGET_BASE)\.aw\.js\"/URL.createObjectURL(new Blob(['$$(cat _audioworklet.js)'],{type:'text\/javascript'}))/" -- "$@"
309+
$(Q)rm -f "$(TARGET_BASE).aw.js" _audioworklet.js "$@".bak
310+
else
311+
$(TARGET): $(RARCH_OBJ) $(libretro_new) mv_libretro
301312
@$(if $(Q), $(shell echo echo "LD $@ \<obj\> $(libretro_new) $(LIBS) $(LDFLAGS)"),)
302313
$(Q)$(LD) -o $@ $(RARCH_OBJ) $(libretro_new) $(LIBS) $(LDFLAGS)
303-
@if [ "$(HAVE_AUDIOWORKLET)" = 1 ]; then\
304-
tr -d '\n' < "$${TARGET%%\.js}.aw.js" | sed -e "s/[\/&]/\\\\&/g" -e "s/'/\\\\\\\\&/g" > _audioworklet.js;\
305-
sed -i "s/\"$${TARGET%%\.js}\.aw\.js\"/URL.createObjectURL(new Blob(['$$(cat _audioworklet.js)'],{type:'text\/javascript'}))/" "$@";\
306-
rm "$${TARGET%%\.js}.aw.js" _audioworklet.js;\
307-
fi
314+
endif
308315

309316
$(OBJDIR)/%.o: %.c
310317
@mkdir -p $(dir $@)
@@ -320,4 +327,4 @@ clean:
320327
rm -rf $(OBJDIR)
321328
rm -f $(TARGET)
322329

323-
.PHONY: all clean
330+
.PHONY: all clean mv_libretro

0 commit comments

Comments
 (0)