diff options
Diffstat (limited to 'makefile')
-rw-r--r-- | makefile | 227 |
1 files changed, 204 insertions, 23 deletions
@@ -20,10 +20,9 @@ # SUBTARGET = tiny # TOOLS = 1 # TESTS = 1 +# BENCHMARKS = 1 # OSD = sdl -# USE_BGFX = 1 -# NO_OPENGL = 1 # USE_DISPATCH_GL = 0 # MODERN_WIN_API = 0 # USE_XAUDIO2 = 0 @@ -67,13 +66,13 @@ # MESA_INSTALL_ROOT = /opt/mesa # SDL_INSTALL_ROOT = /opt/sdl2 # SDL_FRAMEWORK_PATH = $(HOME)/Library/Frameworks -# SDL_LIBVER = sdl -# MACOSX_USE_LIBSDL = 1 +# USE_LIBSDL = 1 # CYGWIN_BUILD = 1 # BUILDDIR = build # TARGETOS = windows # CROSS_BUILD = 1 +# TOOLCHAIN = # OVERRIDE_CC = cc # OVERRIDE_CXX = c++ # OVERRIDE_LD = ld @@ -269,9 +268,9 @@ WINDRES := $(MINGW32)/bin/windres endif else ifeq ($(ARCHITECTURE),_x64) -WINDRES := x86_64-w64-mingw32-windres +WINDRES := $(word 1,$(TOOLCHAIN) x86_64-w64-mingw32-)windres else -WINDRES := i686-w64-mingw32-windres +WINDRES := $(word 1,$(TOOLCHAIN) i686-w64-mingw32-)windres endif endif @@ -310,6 +309,7 @@ PYTHON := $(PYTHON_EXECUTABLE) endif CC := $(SILENT)gcc LD := $(SILENT)g++ +CXX:= $(SILENT)g++ #------------------------------------------------- # specify OSD layer: windows, sdl, etc. @@ -405,6 +405,9 @@ endif PARAMS+= --distro=$(DISTRO) +ifdef TOOLCHAIN +PARAMS += --TOOLCHAIN='$(TOOLCHAIN)' +endif ifdef OVERRIDE_CC PARAMS += --CC='$(OVERRIDE_CC)' ifndef CROSS_BUILD @@ -473,6 +476,10 @@ ifdef TESTS PARAMS += --with-tests endif +ifdef BENCHMARKS +PARAMS += --with-benchmarks +endif + ifdef SYMBOLS PARAMS += --SYMBOLS='$(SYMBOLS)' endif @@ -553,10 +560,6 @@ ifdef DONT_USE_NETWORK PARAMS += --DONT_USE_NETWORK='$(DONT_USE_NETWORK)' endif -ifdef NO_OPENGL -PARAMS += --NO_OPENGL='$(NO_OPENGL)' -endif - ifdef USE_DISPATCH_GL PARAMS += --USE_DISPATCH_GL='$(USE_DISPATCH_GL)' endif @@ -621,8 +624,8 @@ ifdef SDL_FRAMEWORK_PATH PARAMS += --SDL_FRAMEWORK_PATH='$(SDL_FRAMEWORK_PATH)' endif -ifdef MACOSX_USE_LIBSDL -PARAMS += --MACOSX_USE_LIBSDL='$(MACOSX_USE_LIBSDL)' +ifdef USE_LIBSDL +PARAMS += --USE_LIBSDL='$(USE_LIBSDL)' endif ifdef LDOPTS @@ -698,6 +701,7 @@ SCRIPTS = scripts/genie.lua \ scripts/src/sound.lua \ scripts/src/tools.lua \ scripts/src/tests.lua \ + scripts/src/benchmarks.lua \ scripts/src/video.lua \ scripts/src/bus.lua \ scripts/src/netlist.lua \ @@ -770,12 +774,12 @@ endif ifeq ($(OS),windows) ifeq (posix,$(SHELLTYPE)) -GCC_VERSION := $(shell $(subst @,,$(CC)) -dumpversion 2> /dev/null) -CLANG_VERSION := $(shell $(subst @,,$(CC)) --version 2> /dev/null| head -n 1 | grep clang | sed "s/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$$/\1/" | head -n 1) +GCC_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(CC)) -dumpversion 2> /dev/null) +CLANG_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(CC)) --version 2> /dev/null| head -n 1 | grep clang | sed "s/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$$/\1/" | head -n 1) PYTHON_AVAILABLE := $(shell $(PYTHON) --version > /dev/null 2>&1 && echo python) else -GCC_VERSION := $(shell $(subst @,,$(CC)) -dumpversion 2> NUL) -CLANG_VERSION := $(shell $(subst @,,$(CC)) --version 2> NUL| head -n 1 | grep clang | sed "s/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$$/\1/" | head -n 1) +GCC_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(CC)) -dumpversion 2> NUL) +CLANG_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(CC)) --version 2> NUL| head -n 1 | grep clang | sed "s/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$$/\1/" | head -n 1) PYTHON_AVAILABLE := $(shell $(PYTHON) --version > NUL 2>&1 && echo python) endif ifdef MSBUILD @@ -792,9 +796,9 @@ MSBUILD_PARAMS += /p:Platform=win32 endif endif else -GCC_VERSION := $(shell $(subst @,,$(CC)) -dumpversion 2> /dev/null) +GCC_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(CC)) -dumpversion 2> /dev/null) ifneq ($(OS),solaris) -CLANG_VERSION := $(shell $(subst @,,$(CC)) --version 2> /dev/null | head -n 1 | grep -e 'version [0-9]\.[0-9]\(\.[0-9]\)\?' -o | grep -e '[0-9]\.[0-9]\(\.[0-9]\)\?' -o | tail -n 1) +CLANG_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(CC)) --version 2> /dev/null | head -n 1 | grep -e 'version [0-9]\.[0-9]\(\.[0-9]\)\?' -o | grep -e '[0-9]\.[0-9]\(\.[0-9]\)\?' -o | tail -n 1) endif PYTHON_AVAILABLE := $(shell $(PYTHON) --version > /dev/null 2>&1 && echo python) endif @@ -1189,7 +1193,7 @@ endif ifndef MARVELL_ROOTFS $(error MARVELL_ROOTFS is not set) endif - $(SILENT) $(GENIE) $(PARAMS) --gcc=steamlink --gcc_version=$(GCC_VERSION) --USE_BGFX=0 --NO_OPENGL=1 --NO_USE_MIDI=1 --NO_X11=1 --NOASM=1 --SDL_INSTALL_ROOT=$(MARVELL_ROOTFS)/usr gmake + $(SILENT) $(GENIE) $(PARAMS) --gcc=steamlink --gcc_version=$(GCC_VERSION) --NO_OPENGL=1 --NO_USE_MIDI=1 --NO_X11=1 --NOASM=1 --SDL_INSTALL_ROOT=$(MARVELL_ROOTFS)/usr gmake .PHONY: steamlink ifndef MARVELL_SDK_PATH @@ -1229,10 +1233,14 @@ $(GENIE): $(GENIE_SRC) 3rdparty/genie/src/hosts/%.c: -clean: +.PHONY: genieclean +genieclean: + $(SILENT) $(MAKE) $(MAKEPARAMS) -C 3rdparty/genie/build/gmake.$(GENIEOS) -f genie.make clean + +clean: genieclean @echo Cleaning... -@rm -rf $(BUILDDIR) - $(SILENT) $(MAKE) $(MAKEPARAMS) -C 3rdparty/genie/build/gmake.$(GENIEOS) -f genie.make clean + $(SILENT) $(MAKE) -C $(SRC)/devices/cpu/m68000 clean GEN_FOLDERS := $(GENDIR)/$(TARGET)/layout/ $(GENDIR)/$(TARGET)/$(SUBTARGET)/ @@ -1249,15 +1257,24 @@ endif $(GEN_FOLDERS): -$(call MKDIR,$@) +genie: $(GENIE) + generate: \ - $(GENIE) \ + genie \ $(GEN_FOLDERS) \ - $(patsubst $(SRC)/%.lay,$(GENDIR)/%.lh,$(LAYOUTS)) + $(patsubst $(SRC)/%.lay,$(GENDIR)/%.lh,$(LAYOUTS)) \ + $(SRC)/devices/cpu/m68000/m68kops.cpp $(GENDIR)/%.lh: $(SRC)/%.lay scripts/build/file2str.py | $(GEN_FOLDERS) @echo Converting $<... $(SILENT)$(PYTHON) scripts/build/file2str.py $< $@ layout_$(basename $(notdir $<)) +$(SRC)/devices/cpu/m68000/m68kops.cpp: $(SRC)/devices/cpu/m68000/m68k_in.cpp $(SRC)/devices/cpu/m68000/m68kmake.cpp +ifeq ($(TARGETOS),asmjs) + $(SILENT) $(MAKE) -C $(SRC)/devices/cpu/m68000 +else + $(SILENT) $(MAKE) -C $(SRC)/devices/cpu/m68000 CC="$(CC)" CXX="$(CXX)" +endif #------------------------------------------------- # Regression tests @@ -1353,3 +1370,167 @@ cppcheck: @echo Generate CppCheck analysis report cppcheck --enable=all src/ $(CPPCHECK_PARAMS) -j9 +.PHONY: shaders + +shaders: + $(SILENT) $(MAKE) -C $(SRC)/osd/modules/render/bgfx rebuild + +.PHONY: translation + +translation: + $(SILENT) echo Generating mame.pot + $(SILENT) find src/emu/ui -iname "*.cpp" | xargs xgettext --from-code=UTF-8 -k_ -o mame.pot + $(SILENT) echo Afrikaans + $(SILENT) msgmerge -U "language/Afrikaans/strings.po" mame.pot + $(SILENT) echo Albanian + $(SILENT) msgmerge -U "language/Albanian/strings.po" mame.pot + $(SILENT) echo Arabic + $(SILENT) msgmerge -U "language/Arabic/strings.po" mame.pot + $(SILENT) echo Basque + $(SILENT) msgmerge -U "language/Basque/strings.po" mame.pot + $(SILENT) echo Belarusian + $(SILENT) msgmerge -U "language/Belarusian/strings.po" mame.pot + $(SILENT) echo Bosnian + $(SILENT) msgmerge -U "language/Bosnian/strings.po" mame.pot + $(SILENT) echo Bulgarian + $(SILENT) msgmerge -U "language/Bulgarian/strings.po" mame.pot + $(SILENT) echo Burmese + $(SILENT) msgmerge -U "language/Burmese/strings.po" mame.pot + $(SILENT) echo Catalan + $(SILENT) msgmerge -U "language/Catalan/strings.po" mame.pot + $(SILENT) echo Chinese (Simple) + $(SILENT) msgmerge -U "language/Chinese (Simple)/strings.po" mame.pot + $(SILENT) echo Chinese (Traditional) + $(SILENT) msgmerge -U "language/Chinese (Traditional)/strings.po" mame.pot + $(SILENT) echo Croatian + $(SILENT) msgmerge -U "language/Croatian/strings.po" mame.pot + $(SILENT) echo Czech + $(SILENT) msgmerge -U "language/Czech/strings.po" mame.pot + $(SILENT) echo Danish + $(SILENT) msgmerge -U "language/Danish/strings.po" mame.pot + $(SILENT) echo Dutch + $(SILENT) msgmerge -U "language/Dutch/strings.po" mame.pot + $(SILENT) echo English + $(SILENT) msgmerge -U "language/English/strings.po" mame.pot + $(SILENT) echo Estonian + $(SILENT) msgmerge -U "language/Estonian/strings.po" mame.pot + $(SILENT) echo Finnish + $(SILENT) msgmerge -U "language/Finnish/strings.po" mame.pot + $(SILENT) echo French + $(SILENT) msgmerge -U "language/French/strings.po" mame.pot + $(SILENT) echo French (Canada) + $(SILENT) msgmerge -U "language/French (Canada)/strings.po" mame.pot + $(SILENT) echo Georgian + $(SILENT) msgmerge -U "language/Georgian/strings.po" mame.pot + $(SILENT) echo German + $(SILENT) msgmerge -U "language/German/strings.po" mame.pot + $(SILENT) echo Greek + $(SILENT) msgmerge -U "language/Greek/strings.po" mame.pot + $(SILENT) echo Hebrew + $(SILENT) msgmerge -U "language/Hebrew/strings.po" mame.pot + $(SILENT) echo Hindi + $(SILENT) msgmerge -U "language/Hindi/strings.po" mame.pot + $(SILENT) echo Hungarian + $(SILENT) msgmerge -U "language/Hungarian/strings.po" mame.pot + $(SILENT) echo Indonesian + $(SILENT) msgmerge -U "language/Indonesian/strings.po" mame.pot + $(SILENT) echo Italian + $(SILENT) msgmerge -U "language/Italian/strings.po" mame.pot + $(SILENT) echo Japanese + $(SILENT) msgmerge -U "language/Japanese/strings.po" mame.pot + $(SILENT) echo Korean + $(SILENT) msgmerge -U "language/Korean/strings.po" mame.pot + $(SILENT) echo Latvian + $(SILENT) msgmerge -U "language/Latvian/strings.po" mame.pot + $(SILENT) echo Lithuanian + $(SILENT) msgmerge -U "language/Lithuanian/strings.po" mame.pot + $(SILENT) echo Macedonian + $(SILENT) msgmerge -U "language/Macedonian/strings.po" mame.pot + $(SILENT) echo Norwegian + $(SILENT) msgmerge -U "language/Norwegian/strings.po" mame.pot + $(SILENT) echo Persian + $(SILENT) msgmerge -U "language/Persian/strings.po" mame.pot + $(SILENT) echo Polish + $(SILENT) msgmerge -U "language/Polish/strings.po" mame.pot + $(SILENT) echo Portuguese + $(SILENT) msgmerge -U "language/Portuguese/strings.po" mame.pot + $(SILENT) echo Portuguese (Brazil) + $(SILENT) msgmerge -U "language/Portuguese (Brazil)/strings.po" mame.pot + $(SILENT) echo Romanian + $(SILENT) msgmerge -U "language/Romanian/strings.po" mame.pot + $(SILENT) echo Russian + $(SILENT) msgmerge -U "language/Russian/strings.po" mame.pot + $(SILENT) echo Serbian + $(SILENT) msgmerge -U "language/Serbian/strings.po" mame.pot + $(SILENT) echo Serbian (Cyrillic) + $(SILENT) msgmerge -U "language/Serbian (Cyrillic)/strings.po" mame.pot + $(SILENT) echo Slovak + $(SILENT) msgmerge -U "language/Slovak/strings.po" mame.pot + $(SILENT) echo Slovenian + $(SILENT) msgmerge -U "language/Slovenian/strings.po" mame.pot + $(SILENT) echo Spanish + $(SILENT) msgmerge -U "language/Spanish/strings.po" mame.pot + $(SILENT) echo Spanish (Mexico) + $(SILENT) msgmerge -U "language/Spanish (Mexico)/strings.po" mame.pot + $(SILENT) echo Swedish + $(SILENT) msgmerge -U "language/Swedish/strings.po" mame.pot + $(SILENT) echo Thai + $(SILENT) msgmerge -U "language/Thai/strings.po" mame.pot + $(SILENT) echo Turkish + $(SILENT) msgmerge -U "language/Turkish/strings.po" mame.pot + $(SILENT) echo Ukrainian + $(SILENT) msgmerge -U "language/Ukrainian/strings.po" mame.pot + $(SILENT) echo Vietnamese + $(SILENT) msgmerge -U "language/Vietnamese/strings.po" mame.pot + $(SILENT) msgfmt --check --output-file "language/Afrikaans/strings.mo" "language/Afrikaans/strings.po" + $(SILENT) msgfmt --check --output-file "language/Albanian/strings.mo" "language/Albanian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Arabic/strings.mo" "language/Arabic/strings.po" + $(SILENT) msgfmt --check --output-file "language/Basque/strings.mo" "language/Basque/strings.po" + $(SILENT) msgfmt --check --output-file "language/Belarusian/strings.mo" "language/Belarusian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Bosnian/strings.mo" "language/Bosnian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Bulgarian/strings.mo" "language/Bulgarian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Burmese/strings.mo" "language/Burmese/strings.po" + $(SILENT) msgfmt --check --output-file "language/Catalan/strings.mo" "language/Catalan/strings.po" + $(SILENT) msgfmt --check --output-file "language/Chinese (Simple)/strings.mo" "language/Chinese (Simple)/strings.po" + $(SILENT) msgfmt --check --output-file "language/Chinese (Traditional)/strings.mo" "language/Chinese (Traditional)/strings.po" + $(SILENT) msgfmt --check --output-file "language/Croatian/strings.mo" "language/Croatian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Czech/strings.mo" "language/Czech/strings.po" + $(SILENT) msgfmt --check --output-file "language/Danish/strings.mo" "language/Danish/strings.po" + $(SILENT) msgfmt --check --output-file "language/Dutch/strings.mo" "language/Dutch/strings.po" + $(SILENT) msgfmt --check --output-file "language/English/strings.mo" "language/English/strings.po" + $(SILENT) msgfmt --check --output-file "language/Estonian/strings.mo" "language/Estonian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Finnish/strings.mo" "language/Finnish/strings.po" + $(SILENT) msgfmt --check --output-file "language/French/strings.mo" "language/French/strings.po" + $(SILENT) msgfmt --check --output-file "language/French (Canada)/strings.mo" "language/French (Canada)/strings.po" + $(SILENT) msgfmt --check --output-file "language/Georgian/strings.mo" "language/Georgian/strings.po" + $(SILENT) msgfmt --check --output-file "language/German/strings.mo" "language/German/strings.po" + $(SILENT) msgfmt --check --output-file "language/Greek/strings.mo" "language/Greek/strings.po" + $(SILENT) msgfmt --check --output-file "language/Hebrew/strings.mo" "language/Hebrew/strings.po" + $(SILENT) msgfmt --check --output-file "language/Hindi/strings.mo" "language/Hindi/strings.po" + $(SILENT) msgfmt --check --output-file "language/Hungarian/strings.mo" "language/Hungarian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Indonesian/strings.mo" "language/Indonesian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Italian/strings.mo" "language/Italian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Japanese/strings.mo" "language/Japanese/strings.po" + $(SILENT) msgfmt --check --output-file "language/Korean/strings.mo" "language/Korean/strings.po" + $(SILENT) msgfmt --check --output-file "language/Latvian/strings.mo" "language/Latvian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Lithuanian/strings.mo" "language/Lithuanian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Macedonian/strings.mo" "language/Macedonian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Norwegian/strings.mo" "language/Norwegian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Persian/strings.mo" "language/Persian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Polish/strings.mo" "language/Polish/strings.po" + $(SILENT) msgfmt --check --output-file "language/Portuguese/strings.mo" "language/Portuguese/strings.po" + $(SILENT) msgfmt --check --output-file "language/Portuguese (Brazil)/strings.mo" "language/Portuguese (Brazil)/strings.po" + $(SILENT) msgfmt --check --output-file "language/Romanian/strings.mo" "language/Romanian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Russian/strings.mo" "language/Russian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Serbian/strings.mo" "language/Serbian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Serbian (Cyrillic)/strings.mo" "language/Serbian (Cyrillic)/strings.po" + $(SILENT) msgfmt --check --output-file "language/Slovak/strings.mo" "language/Slovak/strings.po" + $(SILENT) msgfmt --check --output-file "language/Slovenian/strings.mo" "language/Slovenian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Spanish/strings.mo" "language/Spanish/strings.po" + $(SILENT) msgfmt --check --output-file "language/Spanish (Mexico)/strings.mo" "language/Spanish (Mexico)/strings.po" + $(SILENT) msgfmt --check --output-file "language/Swedish/strings.mo" "language/Swedish/strings.po" + $(SILENT) msgfmt --check --output-file "language/Thai/strings.mo" "language/Thai/strings.po" + $(SILENT) msgfmt --check --output-file "language/Turkish/strings.mo" "language/Turkish/strings.po" + $(SILENT) msgfmt --check --output-file "language/Ukrainian/strings.mo" "language/Ukrainian/strings.po" + $(SILENT) msgfmt --check --output-file "language/Vietnamese/strings.mo" "language/Vietnamese/strings.po" + |