Commit graph

229 commits

Author SHA1 Message Date
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