Previous 199869 Revisions Next

r34779 Sunday 1st February, 2015 at 07:13:50 UTC by Justin Kerk
Work around Emscripten linking issues by avoiding ar altogether (nw)

See https://github.com/kripken/emscripten/issues/2619
[/trunk]makefile

trunk/makefile
r243290r243291
650650ARFLAGS = -crs
651651endif
652652endif
653ifeq ($(TARGETOS),emscripten)
654ARFLAGS = cr
655endif
656653
657654
658655#-------------------------------------------------
r243290r243291
929926
930927ifndef EXECUTABLE_DEFINED
931928
932$(EMULATOR): $(EMUINFOOBJ) $(DRIVLISTOBJ) $(DRVLIBS) $(LIBOSD) $(LIBBUS) $(LIBOPTIONAL) $(LIBEMU) $(LIBDASM) $(LIBUTIL) $(EXPAT) $(SOFTFLOAT) $(JPEG_LIB) $(FLAC_LIB) $(7Z_LIB) $(FORMATS_LIB) $(LUA_LIB) $(SQLITE3_LIB) $(WEB_LIB) $(ZLIB) $(LIBOCORE) $(MIDI_LIB) $(RESFILE)
929EMULATOROBJLIST = $(EMUINFOOBJ) $(DRIVLISTOBJ) $(DRVLIBS) $(LIBOSD) $(LIBBUS) $(LIBOPTIONAL) $(LIBEMU) $(LIBDASM) $(LIBUTIL) $(EXPAT) $(SOFTFLOAT) $(JPEG_LIB) $(FLAC_LIB) $(7Z_LIB) $(FORMATS_LIB) $(LUA_LIB) $(SQLITE3_LIB) $(WEB_LIB) $(ZLIB) $(LIBOCORE) $(MIDI_LIB) $(RESFILE)
930
931ifeq ($(TARGETOS),emscripten)
932EMULATOROBJ = $(EMULATOROBJLIST:.a=.bc)
933else
934EMULATOROBJ = $(EMULATOROBJLIST)
935endif
936
937$(EMULATOR): $(EMULATOROBJ)
933938   $(CC) $(CDEFS) $(CFLAGS) -c $(SRC)/version.c -o $(VERSIONOBJ)
934939   @echo Linking $@...
935940ifeq ($(TARGETOS),emscripten)
936# Emscripten's linker seems to be stricter about the ordering of .a files
941# Emscripten's linker seems to be stricter about the ordering of files
937942   $(LD) $(LDFLAGS) $(LDFLAGSEMULATOR) $(VERSIONOBJ) -Wl,--start-group $^ -Wl,--end-group $(LIBS) -o $@
938943else
939944   $(LD) $(LDFLAGS) $(LDFLAGSEMULATOR) $(VERSIONOBJ) $^ $(LIBS) -o $@
r243290r243291
10021007   @echo Building driver list $<...
10031008   @$(MAKELIST) $< >$@
10041009
1010ifeq ($(TARGETOS),emscripten)
1011# Avoid using .a files with Emscripten, link to bitcode instead
10051012$(OBJ)/%.a:
1013   @echo Linking $@...
1014   $(RM) $@
1015   $(LD) $^ -o $@
1016$(OBJ)/%.bc: $(OBJ)/%.a
1017   @cp $< $@
1018else
1019$(OBJ)/%.a:
10061020   @echo Archiving $@...
10071021   $(RM) $@
10081022   $(AR) $(ARFLAGS) $@ $^
1023endif
10091024
10101025ifeq ($(TARGETOS),macosx)
10111026$(OBJ)/%.o: $(SRC)/%.m | $(OSPREBUILD)


Previous 199869 Revisions Next


© 1997-2024 The MAME Team