Commit Graph

303 Commits

Author SHA1 Message Date
Miodrag Milanovic
1026d09afa Moved creation of most non-layout files out of makefile (nw) 2015-04-04 14:44:06 +02:00
Vas Crabb
4cd434246d Bring back USE_SDL, CYGWIN_BUILD and malloc debugging for Windows OSD 2015-04-04 14:53:47 +11:00
Miodrag Milanovic
2df0d9deed Added generated m68kops files to tree, added makefile for developers working on core (nw) 2015-04-03 15:59:18 +02:00
Miodrag Milanovic
66cbe9eee4 removed os_version, since it is not used anymore (nw) 2015-04-03 15:30:56 +02:00
Miodrag Milanovic
69d936dfee skeleton for XCode support (nw) 2015-04-02 18:16:20 +02:00
Vas Crabb
d055017fa2 Make VERBOSE=1 propagate properly, add summary of user-configurable options 2015-04-03 00:45:49 +11:00
Vas Crabb
a63bd12019 Add back support for big endian targets including OSX-PPC 2015-04-02 22:26:35 +11:00
Miodrag Milanovic
33387befdb Ignore moc missing if MOC_FILES is empty (nw) 2015-04-01 12:09:38 +02:00
Vas Crabb
19d52cef70 Bring back NOASM 2015-04-01 16:12:03 +11:00
Vas Crabb
fe9339fa30 Add back DIRECTINPUT config for Windows OSD 2015-04-01 09:49:25 +11:00
Vas Crabb
d2b260f489 Better way to decide on whether to compile MOC 2015-04-01 08:42:04 +11:00
Vas Crabb
4d84885a29 Refactor out common OSD modules into separate lua file 2015-04-01 07:29:54 +11:00
Vas Crabb
b64e4ecee5 Restore DONT_USE_NETWORK 2015-04-01 03:44:38 +11:00
Vas Crabb
1f2763cc32 Restore SDL2_MULTIAPI 2015-04-01 03:03:18 +11:00
Vas Crabb
399a5f914b Get rid of unnecessary distro nonsense 2015-04-01 03:03:17 +11:00
Vas Crabb
6116f8c4fa Restore MESA_INSTALL_ROOT 2015-04-01 01:21:59 +11:00
Vas Crabb
dbc99041c3 Restore NO_OPENGL and USE_DISPATCH_GL 2015-04-01 01:21:59 +11:00
Vas Crabb
9a2c6d95c8 Restore NO_USE_MIDI and some more OS support from the old SDL makefile 2015-04-01 01:21:59 +11:00
Vas Crabb
ea348ff9f1 Bring back some SDL OSD configurability (WIP) 2015-03-31 20:46:51 +11:00
Vas Crabb
9a8109a63c Fix VERBOSE=1 for top-level makefile, fix always regenerating makefiles on Windows, make many variable in top-level makefile immediate rather than deferred 2015-03-31 15:13:12 +11:00
Miodrag Milanovic
a1369c9e30 Added dependency, so generation task wait for genie to be built (nw) 2015-03-30 14:37:10 +02:00
Vas Crabb
73deef44fa Fix UME build, allow custom target to inject stuff in main makefile 2015-03-30 18:30:29 +11:00
Vas Crabb
9a1a5c0513 Create directory for layouts for custom targets 2015-03-30 18:13:21 +11:00
Vas Crabb
f1523ec806 Make MinGW and OSX targets use dependencies for running genie
Use REGENIE=1 to force genie re-run without removing/touching files
Mark many targets as phony as appropriate
Improve situation for custom targets/OSDs
2015-03-30 14:19:54 +11:00
couriersud
84067e88ee linux-gmake, linux-gmake-clang: Only run genie build stage if scripts or
makefile has changed. 

The concept may easily be migrated to other builds. I just don't have
the time to test other builds right now.

The downside of the approach is that you have to force a build stage run
by deleting the build/projects folder. This however is a lot less
frequent than normal "make".
2015-03-30 00:50:56 +02:00
couriersud
2bf0febbae Merge branch 'master' of https://github.com/mamedev/mame.git
Conflicts:
	scripts/src/osd/sdl.lua
2015-03-29 23:08:49 +02:00
Miodrag Milanovic
2816588761 more OSX 10.10 fixes and fixed mistake with x64 (nw) 2015-03-29 19:10:34 +02:00
couriersud
4a6023e471 Added two more options to the build system:
USE_QT: Compile the QT Debugger. Default is USE_QT=1 (except macosx),
use USE_QT=0 to disable.
LDOPTS: Optional LDFLAGs.

These are mainly used for cross compilation. The following will compile
a windows SDL build without QT debugger on linux:

make 	TARGETOS=windows PTR64=1 OSD=sdl OS=linux \
		OVERRIDE_CC="@x86_64-w64-mingw32-gcc" \
		OVERRIDE_CXX="@x86_64-w64-mingw32-g++" \
		OVERRIDE_LD="x86_64-w64-mingw32-g++" \
		WINDRES="x86_64-w64-mingw32-windres" \
		USE_QT=0 \
		ARCHOPTS="-idirafter ${MINGW64DIR}/x86_64-w64-mingw32/include/  \
		-I${MINGW64DIR}/Qt/include/ -v" SUBTARGET=tiny MINGW64=/usr \ \
		LDOPTS="-L/mnt/mfhome/andre/mame/w64crosslibs"
2015-03-29 18:58:39 +02:00
Miodrag Milanovic
02f7ff9b90 fix genie location (nw) 2015-03-29 18:26:15 +02:00
Miodrag Milanovic
a600e61c58 Enforce OPTIMIZE = 3 for PROFILE builds, suggested by MG (nw) 2015-03-29 16:18:52 +02:00
Miodrag Milanovic
c95c00c8c0 Separate OS and TARGETOS recognition and supported more platforms (nw) 2015-03-29 15:17:21 +02:00
Vas Crabb
c878883667 Remove all the stuff that causes driver and emu sources to be compiled
differently with different OSDs
Switch back to building for all OSDs in common directory
Move more OSD-specific stuff into OSD scripts
It still isn't completely safe to be building all OSD into same directory
Common OSD "module" files, e.g. debuggers and renderers, build with
different options for each OSD.  It works at the moment, but you will end
up with slightly different executables depending on the order you build
OSDs.
2015-03-29 15:02:23 +11:00
couriersud
935c280b4d Fix cross-compile. The following will build mame64.exe on linux
make TARGETOS=windows PTR64=1 OSD=windows OS=linux VERBOSE=1 \
			OVERRIDE_CC="@ccache x86_64-w64-mingw32-gcc" \
			OVERRIDE_CXX="@ccache x86_64-w64-mingw32-g++" \
			OVERRIDE_LD="x86_64-w64-mingw32-g++" \
			WINDRES="x86_64-w64-mingw32-windres" \
			MINGW64=/usr $*
2015-03-29 03:29:22 +02:00
Miodrag Milanovic
bb9140a109 Added support for per-OSD mak files [qmc2] 2015-03-28 14:27:39 +01:00
Miodrag Milanovic
603e5ebb1a put common parameters into PARAMS (nw) 2015-03-28 12:50:15 +01:00
Miodrag Milanovic
dfa73bab4f join these into one (nw) 2015-03-28 11:33:59 +01:00
Miodrag Milanovic
ce5ccff643 added NOWERROR support (nw) 2015-03-28 07:03:44 +01:00
Miodrag Milanovic
cf02c07fda Merge branch 'master' of https://github.com/mamedev/mame 2015-03-28 06:57:07 +01:00
Vas Crabb
eca145893d Generate project files into OSD subdir to facilitate building multiple OSDs 2015-03-28 15:38:12 +11:00
Miodrag Milanovic
ae98425a87 enable partial support for compile on some other platforms (nw) 2015-03-27 17:30:45 +01:00
Miodrag Milanovic
a539224998 propagated USE_BGFX for unsupported platforms (nw) 2015-03-27 17:19:57 +01:00
Miodrag Milanovic
fdd61e7569 renamed CC to OVERRIDE_CC and same for CXX and LD since otherwise values sent to GENie are makefile defaults and they always overwrite values in built scripts (nw) 2015-03-27 15:11:41 +01:00
Miodrag Milanovic
5877841729 fixed OSX build with Clang on 10.7.x (nw)
Removed internal CC and LD  settings since it's not
needed and can be overwritten  externally now
2015-03-27 14:36:13 +01:00
Miodrag Milanovic
05516f50c9 fixed propagated version 2015-03-27 14:04:42 +01:00
Miodrag Milanovic
103a675d4a PTR64=0 is x86, PTR64=1 is x64 (nw) 2015-03-27 08:16:44 +01:00
Miodrag Milanovic
3fc637d9c6 Create makefiles for targets per subdir (nw) 2015-03-27 08:06:15 +01:00
couriersud
10f36fa302 Allow ARCHOPTS to contain whitespace. (nw) 2015-03-26 23:53:16 +01:00
couriersud
ed869da9db Make GCC_VERSION work with $(CC). (nw) 2015-03-26 22:40:11 +01:00
Miodrag Milanovic
3a3fb1dc9d fix for later OSX (nw) 2015-03-26 19:07:46 +01:00
Miodrag Milanovic
604d83b1e3 Added CXX and fixed LD [qmc2] (nw) 2015-03-26 15:49:06 +01:00
Miodrag Milanovic
b4d9920e10 More parameter handling (nw) 2015-03-26 15:45:59 +01:00
Miodrag Milanovic
6abf77a172 enable whitespace in CC and LD (nw) 2015-03-26 14:50:03 +01:00
Miodrag Milanovic
3b8cab2802 fix order (nw) 2015-03-26 14:47:10 +01:00
Miodrag Milanovic
726de20508 Made CC and LD override possible (nw) 2015-03-26 14:43:39 +01:00
Miodrag Milanovic
323d87af33 check generated files even if just compiling (nw) 2015-03-26 14:28:13 +01:00
Miodrag Milanovic
5310d041d5 added distro support for linux (nw) 2015-03-26 14:01:14 +01:00
Vas Crabb
edab1abaaf Make some lines less confusingly long, remove a stray paren, add rule to generate Info.plist back for OSX 2015-03-26 22:44:01 +11:00
Miodrag Milanovic
ca485faa1b made possible architecture override with PTR64=1 param (nw) 2015-03-26 11:30:45 +01:00
Miodrag Milanovic
53340a5f89 changed .build to build to be visible (nw) 2015-03-26 11:17:59 +01:00
Miodrag Milanovic
c869696a3f Fix clang and one more warning added 2015-03-26 10:20:29 +01:00
Miodrag Milanovic
9358a61e7a made tools to be built with TOOLS=1 param (nw) 2015-03-26 09:35:10 +01:00
Miodrag Milanovic
51968eddb3 fixed compiling ldplayer (nw) 2015-03-26 09:20:27 +01:00
Miodrag Milanovic
f76d59c41d Moved build system to GENie [Miodrag Milanovic]
make TARGET=mess -j19

will generate all needed files and build MESS, while developing you can use

make TARGET=mess COMPILE=1 -j19
to prevent rebuilding of make files.

Build system have automatic generate of dependencies so will do incremental builds fine.

make clean
will remove all generated files/projects and obj files
2015-03-26 09:00:39 +01:00
Vas Crabb
165e3c2ade FASTDEBUG should be a 'sub-option' of DEBUG 2015-03-21 00:18:58 +11:00
Vas Crabb
af7b120d82 OS/2 patches for SDLMAME 0.159 [KO Muyng-Hun] 2015-03-15 22:57:16 +11:00
Justin Kerk
e7e05efea4 Fix tiny build when there are no buses (nw) 2015-02-23 07:26:41 -08:00
Vas Crabb
7b83547d61 Fix build on OSX 2015-02-22 21:11:59 +11:00
couriersud
46b916d7b1 Fix ldplayer linking. (nw) 2015-02-22 02:31:31 +01:00
Vas Crabb
ff1b484599 Re-link emulator binary if version source file changes 2015-02-21 18:17:19 +11:00
Miodrag Milanovic
9f9d4fd250 makelist implementation in python (nw) 2015-02-13 13:40:49 +01:00
Oliver Stöneberg
a4c8ca2c25 fixed makefile (nw) 2015-02-05 15:40:53 +01:00
Oliver Stöneberg
af64bda24d added makefile define CPP11 to compile C++ code as C++11 [Oliver Stöneberg] 2015-02-05 14:40:19 +01:00
couriersud
06b848185f Changes to the build system:
- BGFX library is set in windows.mak and sdl.mak now. This ensures the
library is only build when needed. 
  This is necessary to be able to build MAME on systems without opengl
support.
  
Support was added for an optional BIN location for executables. The
default is still the root folder. Setting BIN=bin e.g. will put
executables in bin.
2015-02-01 19:26:10 +01:00
Miodrag Milanovic
e68d22d779 Added building of BGFX library (nw) 2015-02-01 10:26:09 +01:00
Justin Kerk
31bc7f4bbb Work around Emscripten linking issues by avoiding ar altogether (nw)
See https://github.com/kripken/emscripten/issues/2619
2015-01-31 23:13:50 -08:00
Cesare Falco
a49eee8559 *nix: Fixed linking tools against system libraries 2015-01-29 12:55:14 +01:00
Justin Kerk
f56e1f309e More JSMESS breakage (nw) 2015-01-28 15:47:03 +00:00
Oliver Stöneberg
1e29bb1347 moved some clang-specific stuff from makefile to src/build/flags_clang.mak (nw) 2015-01-27 23:27:08 +01:00
couriersud
36c9bba47d Solaris 11 build support. [Couriersud] 2015-01-25 22:01:16 +01:00
Miodrag Milanovic
fb4695be0a Made all compile for Lua 5.3 (nw) 2015-01-13 18:44:26 +01:00
Miodrag Milanovic
736cc5469d Use $(INCPATH) only where needed 2015-01-13 11:50:42 +01:00
couriersud
d9e4bfacb3 Remove some "@". These should be used in the command definition. 2015-01-12 02:10:57 +01:00
Miodrag Milanovic
022e6c7a5b Fixed LUA compile 2015-01-10 15:06:17 +01:00
Miodrag Milanovic
61f7cd05df Added integral source of sqlite3 to 3rdparty (nw) 2015-01-10 13:25:50 +01:00
Miodrag Milanovic
b0640c888b Added integral libjpeg 8c to 3rdparty folder (nw) 2015-01-10 12:32:56 +01:00
Miodrag Milanovic
e427c5471b Fixed include paths for 3rdparty libs (nw) 2015-01-10 12:06:16 +01:00
Miodrag Milanovic
31251f6c09 Added integral version of zlib in 3rdparty folder (nw) 2015-01-10 11:51:23 +01:00
Miodrag Milanovic
fb5c151082 Converted png2bcd tool to python [Andrew Gardner] 2015-01-10 11:35:34 +01:00
couriersud
799d10beb3 Move definition of -DOSD_WINDOWS, -DOSD_SDL and -DOSD_MINI into
$(OSD).mak. Added sanity check to makefile. [Couriersud]
2015-01-09 03:25:46 +01:00
Oliver Stöneberg
8ef233f78a proper fix for PROFILE=1 with clang (nw)
png2bdc was crashing because an implicitly enabled optimizations - see
http://llvm.org/bugs/show_bug.cgi?id=14713
2015-01-08 10:21:18 +01:00
couriersud
25a3c8f54d Fixed typo in last commit. (nw) 2015-01-08 02:17:39 +01:00
couriersud
8b20927852 Changed error about wrong OSD to a warning. Non supported builds can now
add the proper define (OSD_WINDOWS, OSD_MINI, OSD_SDL, or
OSD_my_own_OSD) in my_own_OSD.mak (nw)
2015-01-08 01:47:27 +01:00
Oliver Stöneberg
d3b6b803f3 fixed non-DEBUG PROFILE=1 build with clang (nw) 2015-01-07 15:58:40 +01:00
Robert
53ab5084a4 fixed compile of derivatives (nw) 2015-01-07 22:18:49 +11:00
couriersud
2c4b785554 Merged winwork and sdlwork into osd/modules/sync/work_osd.c. Moved
miniwork.c to osd/modules/sync/work_mini.c
The makefile now adds either a OSD_SDL, OSD_WINDOWS or OSD_MINI 
define to DEFS. This was necessary so that work_osd.c could determine
the build on a OSD level. (nw)
2015-01-06 02:18:38 +01:00
Ramiro Polla
c26b76f6b7 Run build tools based on build OS 2015-01-04 16:23:45 +01:00
Oliver Stöneberg
13ffe9965c final clarification of disabled UndefinedBehaviorSanitizer checks (nw) 2014-12-30 16:31:07 +01:00
Oliver Stöneberg
d9a6a2e914 more clarification on disabled UndefinedBehaviorSanitizer checks (nw) 2014-12-30 15:38:40 +01:00
Oliver Stöneberg
ace2339469 small clarification on disabled UndefinedBehaviorSanitizer checks (nw) 2014-12-30 15:17:16 +01:00
Miodrag Milanovic
6239845086 Better x64 detection for windows 2014-12-23 16:18:20 +01:00