summaryrefslogtreecommitdiffstatshomepage
path: root/makefile
diff options
context:
space:
mode:
Diffstat (limited to 'makefile')
-rw-r--r--makefile227
1 files changed, 204 insertions, 23 deletions
diff --git a/makefile b/makefile
index 7818353125d..582be0296c6 100644
--- a/makefile
+++ b/makefile
@@ -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"
+