From 8247cab5583ef4a8e916975d36948a2e51c37a11 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Mon, 2 Nov 2015 22:37:01 +1100 Subject: [PATCH] make it easier to build multiple configs (nw) --- makefile | 27 ++++++++++++++++++++------- scripts/genie.lua | 7 ++++++- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/makefile b/makefile index a39823843f8..6f5cffe98c8 100644 --- a/makefile +++ b/makefile @@ -69,6 +69,7 @@ # MACOSX_USE_LIBSDL = 1 # CYGWIN_BUILD = 1 +# BUILDDIR = build # TARGETOS = windows # CROSS_BUILD = 1 # OVERRIDE_CC = cc @@ -94,7 +95,11 @@ # FORCE_VERSION_COMPILE = 1 +ifdef PREFIX_MAKEFILE +include $(PREFIX_MAKEFILE) +else -include useroptions.mak +endif ########################################################################### ################## END USER-CONFIGURABLE OPTIONS ###################### @@ -182,6 +187,10 @@ SILENT := @ MAKEPARAMS += --no-print-directory endif +ifndef BUILDDIR +BUILDDIR := build +endif + #------------------------------------------------- # specify OS target, which further differentiates # the underlying OS; supported values are: @@ -504,6 +513,10 @@ ifdef OSD PARAMS += --osd='$(OSD)' endif +ifdef BUILDDIR +PARAMS += --build-dir='$(BUILDDIR)' +endif + ifdef TARGETOS PARAMS += --targetos='$(TARGETOS)' endif @@ -702,7 +715,7 @@ else COPY = $(SILENT) copy /Y "$(subst /,\\,$(1))" "$(subst /,\\,$(2))" endif -GENDIR = build/generated +GENDIR = $(BUILDDIR)/generated # all sources are under the src/ directory SRC = src @@ -743,7 +756,7 @@ SUBDIR := $(OSD)/$(TARGET) else SUBDIR := $(OSD)/$(TARGET)$(SUBTARGET) endif -PROJECTDIR := build/projects/$(SUBDIR) +PROJECTDIR := $(BUILDDIR)/projects/$(SUBDIR) .PHONY: all clean regenie generate all: $(GENIE) $(TARGETOS)$(ARCHITECTURE) @@ -1074,7 +1087,7 @@ $(GENIE): $(GENIE_SRC) clean: @echo Cleaning... - -@rm -rf build + -@rm -rf $(BUILDDIR) $(SILENT) $(MAKE) $(MAKEPARAMS) -C 3rdparty/genie/build/gmake.$(GENIEOS) -f genie.make clean GEN_FOLDERS := $(GENDIR)/$(TARGET)/layout/ $(GENDIR)/$(TARGET)/$(SUBTARGET)/ @@ -1167,13 +1180,13 @@ ifndef USE_SYSTEM_LIB_LUA CPPCHECK_PARAMS += -I3rdparty/lua/src endif ifndef USE_SYSTEM_LIB_ZLIB -CPPCHECK_PARAMS += -I3rdparty/zlib +CPPCHECK_PARAMS += -I3rdparty/zlib endif CPPCHECK_PARAMS += -I3rdparty/bgfx/include CPPCHECK_PARAMS += -I3rdparty/bx/include -CPPCHECK_PARAMS += -Ibuild/generated/emu -CPPCHECK_PARAMS += -Ibuild/generated/emu/layout -CPPCHECK_PARAMS += -Ibuild/generated/mame/layout +CPPCHECK_PARAMS += -I$(BUILDDIR)/generated/emu +CPPCHECK_PARAMS += -I$(BUILDDIR)/generated/emu/layout +CPPCHECK_PARAMS += -I$(BUILDDIR)/generated/mame/layout CPPCHECK_PARAMS += -DX64_WINDOWS_ABI CPPCHECK_PARAMS += -DPTR64=1 CPPCHECK_PARAMS += -DMAME_DEBUG diff --git a/scripts/genie.lua b/scripts/genie.lua index 475c110ecb5..8ec86054678 100644 --- a/scripts/genie.lua +++ b/scripts/genie.lua @@ -1,11 +1,16 @@ -- license:BSD-3-Clause -- copyright-holders:MAMEdev Team +newoption { + trigger = 'build-dir', + description = 'Build directory name', +} + premake.check_paths = true premake.make.override = { "TARGET" } MAME_DIR = (path.getabsolute("..") .. "/") MAME_DIR = string.gsub(MAME_DIR, "(%s)", "\\%1") -local MAME_BUILD_DIR = (MAME_DIR .. "build/") +local MAME_BUILD_DIR = (MAME_DIR .. _OPTIONS["build-dir"] .. "/") local naclToolchain = ""