mirror of
https://github.com/holub/mame
synced 2025-04-23 17:00:53 +03:00
Merge branch 'master' of https://github.com/mamedev/mame
This commit is contained in:
commit
cc00b13b92
6
3rdparty/genie/LICENSE
vendored
6
3rdparty/genie/LICENSE
vendored
@ -1,9 +1,9 @@
|
||||
# GENie
|
||||
|
||||
GENie
|
||||
Copyright (c) 2014-2015 Branimir Karadžić, Neil Richardson, Mike Popoloski,
|
||||
Drew Solomon, Ted de Munnik, Miodrag Milanović, Brett Vickers,
|
||||
Terry Hendrix II.
|
||||
Copyright (c) 2014-2016 Branimir Karadžić, Neil Richardson, Mike Popoloski,
|
||||
Drew Solomon, Ted de Munnik, Miodrag Milanović, Brett Vickers, Bill Freist,
|
||||
Terry Hendrix II, Ryan Juckett, Andrew Johnson
|
||||
All rights reserved.
|
||||
|
||||
https://github.com/bkaradzic/genie
|
||||
|
18
3rdparty/genie/README.md
vendored
18
3rdparty/genie/README.md
vendored
@ -4,12 +4,14 @@
|
||||
What is it?
|
||||
-----------
|
||||
|
||||
**GENie** is project generator tool. It automagically generates project from Lua
|
||||
script, making applying the same settings for multiple projects easy.
|
||||
**GENie** (pronounced as Jenny) is project generator tool. It automagically
|
||||
generates project from Lua script, making applying the same settings for
|
||||
multiple projects easy.
|
||||
|
||||
Supported project generators:
|
||||
* Visual Studio 2008, 2010, 2012, 2013, 2015
|
||||
* GNU Makefile
|
||||
* XCode
|
||||
|
||||
Who is using it?
|
||||
----------------
|
||||
@ -35,7 +37,7 @@ Download (stable)
|
||||
|
||||
[](https://travis-ci.org/bkaradzic/genie)
|
||||
|
||||
version 331 (commit 3653d092d054d5725cab272b6a5fd55edfd9a4ba)
|
||||
version 366 (commit b887178737cd74cf60899899c4c65b9bf02efb26)
|
||||
|
||||
Linux:
|
||||
https://github.com/bkaradzic/bx/raw/master/tools/bin/linux/genie
|
||||
@ -100,6 +102,10 @@ intention to keep it compatible with it.
|
||||
`excludes` will exclude files from build but files will be added to project
|
||||
file. `removefiles` removes files completely from project.
|
||||
- Added support for generating PS4/Orbis projects.
|
||||
- Fixed PCH race when using concurrent Makefile build.
|
||||
- Added Green Hills Software compiler support.
|
||||
- Added edit & continue support for 64-bit builds in VS2013 upwards.
|
||||
- Added `windowstargetplatformversion` to specify VS Windows target version.
|
||||
|
||||
## Why fork?
|
||||
|
||||
@ -138,9 +144,9 @@ state of Premake, it's just acknowledging the problem, and dealing with it.
|
||||
-----------------------------------------------------------------
|
||||
|
||||
GENie
|
||||
Copyright (c) 2014-2015 Branimir Karadžić, Neil Richardson, Mike Popoloski,
|
||||
Drew Solomon, Ted de Munnik, Miodrag Milanović, Brett Vickers,
|
||||
Terry Hendrix II.
|
||||
Copyright (c) 2014-2016 Branimir Karadžić, Neil Richardson, Mike Popoloski,
|
||||
Drew Solomon, Ted de Munnik, Miodrag Milanović, Brett Vickers, Bill Freist,
|
||||
Terry Hendrix II, Ryan Juckett, Andrew Johnson
|
||||
All rights reserved.
|
||||
|
||||
https://github.com/bkaradzic/genie
|
||||
|
226
3rdparty/genie/build/gmake.darwin/genie.make
vendored
226
3rdparty/genie/build/gmake.darwin/genie.make
vendored
@ -43,7 +43,7 @@ ifeq ($(config),release)
|
||||
override TARGET = $(TARGETDIR)/genie
|
||||
DEFINES += -DNDEBUG -DLUA_COMPAT_MODULE -DLUA_USE_MACOSX
|
||||
INCLUDES += -I../../src/host/lua-5.3.0/src
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES)
|
||||
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -mmacosx-version-min=10.4
|
||||
ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -mmacosx-version-min=10.4
|
||||
ALL_OBJCFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -mmacosx-version-min=10.4
|
||||
@ -120,7 +120,7 @@ ifeq ($(config),debug)
|
||||
override TARGET = $(TARGETDIR)/genie
|
||||
DEFINES += -D_DEBUG -DLUA_COMPAT_MODULE -DLUA_USE_MACOSX
|
||||
INCLUDES += -I../../src/host/lua-5.3.0/src
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES)
|
||||
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -mmacosx-version-min=10.4
|
||||
ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -mmacosx-version-min=10.4
|
||||
ALL_OBJCFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -mmacosx-version-min=10.4
|
||||
@ -192,12 +192,13 @@ ifeq ($(config),debug)
|
||||
endif
|
||||
|
||||
ifeq ($(config),releaseuniv32)
|
||||
AR = libtool
|
||||
OBJDIR = obj/Universal32/Release
|
||||
TARGETDIR = ../../bin/darwin
|
||||
override TARGET = $(TARGETDIR)/genie
|
||||
DEFINES += -DNDEBUG -DLUA_COMPAT_MODULE -DLUA_USE_MACOSX
|
||||
INCLUDES += -I../../src/host/lua-5.3.0/src
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) $(DEFINES) $(INCLUDES)
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES)
|
||||
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -arch i386 -arch ppc -mmacosx-version-min=10.4
|
||||
ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -arch i386 -arch ppc -mmacosx-version-min=10.4
|
||||
ALL_OBJCFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os -arch i386 -arch ppc -mmacosx-version-min=10.4
|
||||
@ -269,12 +270,13 @@ ifeq ($(config),releaseuniv32)
|
||||
endif
|
||||
|
||||
ifeq ($(config),debuguniv32)
|
||||
AR = libtool
|
||||
OBJDIR = obj/Universal32/Debug
|
||||
TARGETDIR = ../../bin/darwin
|
||||
override TARGET = $(TARGETDIR)/genie
|
||||
DEFINES += -D_DEBUG -DLUA_COMPAT_MODULE -DLUA_USE_MACOSX
|
||||
INCLUDES += -I../../src/host/lua-5.3.0/src
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) $(DEFINES) $(INCLUDES)
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES)
|
||||
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -arch i386 -arch ppc -mmacosx-version-min=10.4
|
||||
ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -arch i386 -arch ppc -mmacosx-version-min=10.4
|
||||
ALL_OBJCFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g -arch i386 -arch ppc -mmacosx-version-min=10.4
|
||||
@ -347,17 +349,17 @@ endif
|
||||
|
||||
OBJDIRS := \
|
||||
$(OBJDIR) \
|
||||
$(OBJDIR)/src/host \
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src \
|
||||
$(OBJDIR)/src/host \
|
||||
|
||||
RESOURCES := \
|
||||
|
||||
.PHONY: clean prebuild prelink
|
||||
|
||||
all: $(TARGETDIR) $(OBJDIRS) prebuild prelink $(TARGET)
|
||||
all: $(OBJDIRS) prebuild prelink $(TARGET) | $(TARGETDIR)
|
||||
@:
|
||||
|
||||
$(TARGET): $(TARGETDIR) $(OBJDIRS) $(GCH) $(OBJECTS) $(LDDEPS) $(RESOURCES)
|
||||
$(TARGET): $(OBJDIRS) $(GCH) $(OBJECTS) $(LDDEPS) $(RESOURCES) | $(TARGETDIR)
|
||||
@echo Linking genie
|
||||
$(SILENT) $(LINKCMD)
|
||||
$(POSTBUILDCMDS)
|
||||
@ -389,216 +391,216 @@ prelink:
|
||||
ifneq (,$(PCH))
|
||||
$(GCH): $(PCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) -x c-header $(ALL_CFLAGS) -MMD -MP $(DEFINES) $(INCLUDES) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) -x c-header $(DEFINES) $(INCLUDES) -o "$@" -c "$<"
|
||||
endif
|
||||
|
||||
$(OBJDIR)/src/host/os_getcwd.o: ../../src/host/os_getcwd.c
|
||||
$(OBJDIR)/src/host/os_getcwd.o: ../../src/host/os_getcwd.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_stat.o: ../../src/host/os_stat.c
|
||||
$(OBJDIR)/src/host/os_stat.o: ../../src/host/os_stat.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_chdir.o: ../../src/host/os_chdir.c
|
||||
$(OBJDIR)/src/host/os_chdir.o: ../../src/host/os_chdir.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/premake_main.o: ../../src/host/premake_main.c
|
||||
$(OBJDIR)/src/host/premake_main.o: ../../src/host/premake_main.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_uuid.o: ../../src/host/os_uuid.c
|
||||
$(OBJDIR)/src/host/os_uuid.o: ../../src/host/os_uuid.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_isfile.o: ../../src/host/os_isfile.c
|
||||
$(OBJDIR)/src/host/os_isfile.o: ../../src/host/os_isfile.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_ticks.o: ../../src/host/os_ticks.c
|
||||
$(OBJDIR)/src/host/os_ticks.o: ../../src/host/os_ticks.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_copyfile.o: ../../src/host/os_copyfile.c
|
||||
$(OBJDIR)/src/host/os_copyfile.o: ../../src/host/os_copyfile.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/scripts.o: ../../src/host/scripts.c
|
||||
$(OBJDIR)/src/host/scripts.o: ../../src/host/scripts.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/string_endswith.o: ../../src/host/string_endswith.c
|
||||
$(OBJDIR)/src/host/string_endswith.o: ../../src/host/string_endswith.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/string_hash.o: ../../src/host/string_hash.c
|
||||
$(OBJDIR)/src/host/string_hash.o: ../../src/host/string_hash.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_pathsearch.o: ../../src/host/os_pathsearch.c
|
||||
$(OBJDIR)/src/host/os_pathsearch.o: ../../src/host/os_pathsearch.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_rmdir.o: ../../src/host/os_rmdir.c
|
||||
$(OBJDIR)/src/host/os_rmdir.o: ../../src/host/os_rmdir.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_match.o: ../../src/host/os_match.c
|
||||
$(OBJDIR)/src/host/os_match.o: ../../src/host/os_match.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/premake.o: ../../src/host/premake.c
|
||||
$(OBJDIR)/src/host/premake.o: ../../src/host/premake.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_isdir.o: ../../src/host/os_isdir.c
|
||||
$(OBJDIR)/src/host/os_isdir.o: ../../src/host/os_isdir.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_mkdir.o: ../../src/host/os_mkdir.c
|
||||
$(OBJDIR)/src/host/os_mkdir.o: ../../src/host/os_mkdir.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/path_isabsolute.o: ../../src/host/path_isabsolute.c
|
||||
$(OBJDIR)/src/host/path_isabsolute.o: ../../src/host/path_isabsolute.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_is64bit.o: ../../src/host/os_is64bit.c
|
||||
$(OBJDIR)/src/host/os_is64bit.o: ../../src/host/os_is64bit.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldump.o: ../../src/host/lua-5.3.0/src/ldump.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldump.o: ../../src/host/lua-5.3.0/src/ldump.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lvm.o: ../../src/host/lua-5.3.0/src/lvm.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lvm.o: ../../src/host/lua-5.3.0/src/lvm.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltable.o: ../../src/host/lua-5.3.0/src/ltable.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltable.o: ../../src/host/lua-5.3.0/src/ltable.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstrlib.o: ../../src/host/lua-5.3.0/src/lstrlib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstrlib.o: ../../src/host/lua-5.3.0/src/lstrlib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/liolib.o: ../../src/host/lua-5.3.0/src/liolib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/liolib.o: ../../src/host/lua-5.3.0/src/liolib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lcode.o: ../../src/host/lua-5.3.0/src/lcode.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lcode.o: ../../src/host/lua-5.3.0/src/lcode.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lparser.o: ../../src/host/lua-5.3.0/src/lparser.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lparser.o: ../../src/host/lua-5.3.0/src/lparser.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/loadlib.o: ../../src/host/lua-5.3.0/src/loadlib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/loadlib.o: ../../src/host/lua-5.3.0/src/loadlib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lbitlib.o: ../../src/host/lua-5.3.0/src/lbitlib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lbitlib.o: ../../src/host/lua-5.3.0/src/lbitlib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lzio.o: ../../src/host/lua-5.3.0/src/lzio.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lzio.o: ../../src/host/lua-5.3.0/src/lzio.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldblib.o: ../../src/host/lua-5.3.0/src/ldblib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldblib.o: ../../src/host/lua-5.3.0/src/ldblib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lmathlib.o: ../../src/host/lua-5.3.0/src/lmathlib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lmathlib.o: ../../src/host/lua-5.3.0/src/lmathlib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lfunc.o: ../../src/host/lua-5.3.0/src/lfunc.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lfunc.o: ../../src/host/lua-5.3.0/src/lfunc.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lmem.o: ../../src/host/lua-5.3.0/src/lmem.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lmem.o: ../../src/host/lua-5.3.0/src/lmem.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lgc.o: ../../src/host/lua-5.3.0/src/lgc.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lgc.o: ../../src/host/lua-5.3.0/src/lgc.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstring.o: ../../src/host/lua-5.3.0/src/lstring.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstring.o: ../../src/host/lua-5.3.0/src/lstring.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/linit.o: ../../src/host/lua-5.3.0/src/linit.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/linit.o: ../../src/host/lua-5.3.0/src/linit.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltm.o: ../../src/host/lua-5.3.0/src/ltm.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltm.o: ../../src/host/lua-5.3.0/src/ltm.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lapi.o: ../../src/host/lua-5.3.0/src/lapi.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lapi.o: ../../src/host/lua-5.3.0/src/lapi.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lctype.o: ../../src/host/lua-5.3.0/src/lctype.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lctype.o: ../../src/host/lua-5.3.0/src/lctype.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstate.o: ../../src/host/lua-5.3.0/src/lstate.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstate.o: ../../src/host/lua-5.3.0/src/lstate.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lbaselib.o: ../../src/host/lua-5.3.0/src/lbaselib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lbaselib.o: ../../src/host/lua-5.3.0/src/lbaselib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltablib.o: ../../src/host/lua-5.3.0/src/ltablib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltablib.o: ../../src/host/lua-5.3.0/src/ltablib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lauxlib.o: ../../src/host/lua-5.3.0/src/lauxlib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lauxlib.o: ../../src/host/lua-5.3.0/src/lauxlib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lcorolib.o: ../../src/host/lua-5.3.0/src/lcorolib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lcorolib.o: ../../src/host/lua-5.3.0/src/lcorolib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/llex.o: ../../src/host/lua-5.3.0/src/llex.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/llex.o: ../../src/host/lua-5.3.0/src/llex.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldo.o: ../../src/host/lua-5.3.0/src/ldo.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldo.o: ../../src/host/lua-5.3.0/src/ldo.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lundump.o: ../../src/host/lua-5.3.0/src/lundump.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lundump.o: ../../src/host/lua-5.3.0/src/lundump.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lopcodes.o: ../../src/host/lua-5.3.0/src/lopcodes.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lopcodes.o: ../../src/host/lua-5.3.0/src/lopcodes.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lutf8lib.o: ../../src/host/lua-5.3.0/src/lutf8lib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lutf8lib.o: ../../src/host/lua-5.3.0/src/lutf8lib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/loslib.o: ../../src/host/lua-5.3.0/src/loslib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/loslib.o: ../../src/host/lua-5.3.0/src/loslib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lobject.o: ../../src/host/lua-5.3.0/src/lobject.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lobject.o: ../../src/host/lua-5.3.0/src/lobject.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldebug.o: ../../src/host/lua-5.3.0/src/ldebug.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldebug.o: ../../src/host/lua-5.3.0/src/ldebug.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
-include $(OBJECTS:%.o=%.d)
|
||||
ifneq (,$(PCH))
|
||||
|
220
3rdparty/genie/build/gmake.linux/genie.make
vendored
220
3rdparty/genie/build/gmake.linux/genie.make
vendored
@ -43,7 +43,7 @@ ifeq ($(config),release)
|
||||
override TARGET = $(TARGETDIR)/genie
|
||||
DEFINES += -DNDEBUG -DLUA_COMPAT_MODULE -DLUA_USE_POSIX -DLUA_USE_DLOPEN
|
||||
INCLUDES += -I../../src/host/lua-5.3.0/src
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES)
|
||||
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os
|
||||
ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os
|
||||
ALL_OBJCFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os
|
||||
@ -120,7 +120,7 @@ ifeq ($(config),debug)
|
||||
override TARGET = $(TARGETDIR)/genie
|
||||
DEFINES += -D_DEBUG -DLUA_COMPAT_MODULE -DLUA_USE_POSIX -DLUA_USE_DLOPEN
|
||||
INCLUDES += -I../../src/host/lua-5.3.0/src
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES)
|
||||
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
|
||||
ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
|
||||
ALL_OBJCFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
|
||||
@ -193,17 +193,17 @@ endif
|
||||
|
||||
OBJDIRS := \
|
||||
$(OBJDIR) \
|
||||
$(OBJDIR)/src/host \
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src \
|
||||
$(OBJDIR)/src/host \
|
||||
|
||||
RESOURCES := \
|
||||
|
||||
.PHONY: clean prebuild prelink
|
||||
|
||||
all: $(TARGETDIR) $(OBJDIRS) prebuild prelink $(TARGET)
|
||||
all: $(OBJDIRS) prebuild prelink $(TARGET) | $(TARGETDIR)
|
||||
@:
|
||||
|
||||
$(TARGET): $(TARGETDIR) $(OBJDIRS) $(GCH) $(OBJECTS) $(LDDEPS) $(RESOURCES)
|
||||
$(TARGET): $(OBJDIRS) $(GCH) $(OBJECTS) $(LDDEPS) $(RESOURCES) | $(TARGETDIR)
|
||||
@echo Linking genie
|
||||
$(SILENT) $(LINKCMD)
|
||||
$(POSTBUILDCMDS)
|
||||
@ -235,216 +235,216 @@ prelink:
|
||||
ifneq (,$(PCH))
|
||||
$(GCH): $(PCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) -x c-header $(ALL_CFLAGS) -MMD -MP $(DEFINES) $(INCLUDES) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) -x c-header $(DEFINES) $(INCLUDES) -o "$@" -c "$<"
|
||||
endif
|
||||
|
||||
$(OBJDIR)/src/host/os_getcwd.o: ../../src/host/os_getcwd.c
|
||||
$(OBJDIR)/src/host/os_getcwd.o: ../../src/host/os_getcwd.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_stat.o: ../../src/host/os_stat.c
|
||||
$(OBJDIR)/src/host/os_stat.o: ../../src/host/os_stat.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_chdir.o: ../../src/host/os_chdir.c
|
||||
$(OBJDIR)/src/host/os_chdir.o: ../../src/host/os_chdir.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/premake_main.o: ../../src/host/premake_main.c
|
||||
$(OBJDIR)/src/host/premake_main.o: ../../src/host/premake_main.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_uuid.o: ../../src/host/os_uuid.c
|
||||
$(OBJDIR)/src/host/os_uuid.o: ../../src/host/os_uuid.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_isfile.o: ../../src/host/os_isfile.c
|
||||
$(OBJDIR)/src/host/os_isfile.o: ../../src/host/os_isfile.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_ticks.o: ../../src/host/os_ticks.c
|
||||
$(OBJDIR)/src/host/os_ticks.o: ../../src/host/os_ticks.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_copyfile.o: ../../src/host/os_copyfile.c
|
||||
$(OBJDIR)/src/host/os_copyfile.o: ../../src/host/os_copyfile.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/scripts.o: ../../src/host/scripts.c
|
||||
$(OBJDIR)/src/host/scripts.o: ../../src/host/scripts.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/string_endswith.o: ../../src/host/string_endswith.c
|
||||
$(OBJDIR)/src/host/string_endswith.o: ../../src/host/string_endswith.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/string_hash.o: ../../src/host/string_hash.c
|
||||
$(OBJDIR)/src/host/string_hash.o: ../../src/host/string_hash.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_pathsearch.o: ../../src/host/os_pathsearch.c
|
||||
$(OBJDIR)/src/host/os_pathsearch.o: ../../src/host/os_pathsearch.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_rmdir.o: ../../src/host/os_rmdir.c
|
||||
$(OBJDIR)/src/host/os_rmdir.o: ../../src/host/os_rmdir.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_match.o: ../../src/host/os_match.c
|
||||
$(OBJDIR)/src/host/os_match.o: ../../src/host/os_match.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/premake.o: ../../src/host/premake.c
|
||||
$(OBJDIR)/src/host/premake.o: ../../src/host/premake.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_isdir.o: ../../src/host/os_isdir.c
|
||||
$(OBJDIR)/src/host/os_isdir.o: ../../src/host/os_isdir.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_mkdir.o: ../../src/host/os_mkdir.c
|
||||
$(OBJDIR)/src/host/os_mkdir.o: ../../src/host/os_mkdir.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/path_isabsolute.o: ../../src/host/path_isabsolute.c
|
||||
$(OBJDIR)/src/host/path_isabsolute.o: ../../src/host/path_isabsolute.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_is64bit.o: ../../src/host/os_is64bit.c
|
||||
$(OBJDIR)/src/host/os_is64bit.o: ../../src/host/os_is64bit.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldump.o: ../../src/host/lua-5.3.0/src/ldump.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldump.o: ../../src/host/lua-5.3.0/src/ldump.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lvm.o: ../../src/host/lua-5.3.0/src/lvm.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lvm.o: ../../src/host/lua-5.3.0/src/lvm.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltable.o: ../../src/host/lua-5.3.0/src/ltable.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltable.o: ../../src/host/lua-5.3.0/src/ltable.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstrlib.o: ../../src/host/lua-5.3.0/src/lstrlib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstrlib.o: ../../src/host/lua-5.3.0/src/lstrlib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/liolib.o: ../../src/host/lua-5.3.0/src/liolib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/liolib.o: ../../src/host/lua-5.3.0/src/liolib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lcode.o: ../../src/host/lua-5.3.0/src/lcode.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lcode.o: ../../src/host/lua-5.3.0/src/lcode.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lparser.o: ../../src/host/lua-5.3.0/src/lparser.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lparser.o: ../../src/host/lua-5.3.0/src/lparser.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/loadlib.o: ../../src/host/lua-5.3.0/src/loadlib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/loadlib.o: ../../src/host/lua-5.3.0/src/loadlib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lbitlib.o: ../../src/host/lua-5.3.0/src/lbitlib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lbitlib.o: ../../src/host/lua-5.3.0/src/lbitlib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lzio.o: ../../src/host/lua-5.3.0/src/lzio.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lzio.o: ../../src/host/lua-5.3.0/src/lzio.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldblib.o: ../../src/host/lua-5.3.0/src/ldblib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldblib.o: ../../src/host/lua-5.3.0/src/ldblib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lmathlib.o: ../../src/host/lua-5.3.0/src/lmathlib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lmathlib.o: ../../src/host/lua-5.3.0/src/lmathlib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lfunc.o: ../../src/host/lua-5.3.0/src/lfunc.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lfunc.o: ../../src/host/lua-5.3.0/src/lfunc.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lmem.o: ../../src/host/lua-5.3.0/src/lmem.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lmem.o: ../../src/host/lua-5.3.0/src/lmem.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lgc.o: ../../src/host/lua-5.3.0/src/lgc.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lgc.o: ../../src/host/lua-5.3.0/src/lgc.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstring.o: ../../src/host/lua-5.3.0/src/lstring.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstring.o: ../../src/host/lua-5.3.0/src/lstring.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/linit.o: ../../src/host/lua-5.3.0/src/linit.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/linit.o: ../../src/host/lua-5.3.0/src/linit.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltm.o: ../../src/host/lua-5.3.0/src/ltm.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltm.o: ../../src/host/lua-5.3.0/src/ltm.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lapi.o: ../../src/host/lua-5.3.0/src/lapi.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lapi.o: ../../src/host/lua-5.3.0/src/lapi.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lctype.o: ../../src/host/lua-5.3.0/src/lctype.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lctype.o: ../../src/host/lua-5.3.0/src/lctype.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstate.o: ../../src/host/lua-5.3.0/src/lstate.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstate.o: ../../src/host/lua-5.3.0/src/lstate.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lbaselib.o: ../../src/host/lua-5.3.0/src/lbaselib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lbaselib.o: ../../src/host/lua-5.3.0/src/lbaselib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltablib.o: ../../src/host/lua-5.3.0/src/ltablib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltablib.o: ../../src/host/lua-5.3.0/src/ltablib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lauxlib.o: ../../src/host/lua-5.3.0/src/lauxlib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lauxlib.o: ../../src/host/lua-5.3.0/src/lauxlib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lcorolib.o: ../../src/host/lua-5.3.0/src/lcorolib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lcorolib.o: ../../src/host/lua-5.3.0/src/lcorolib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/llex.o: ../../src/host/lua-5.3.0/src/llex.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/llex.o: ../../src/host/lua-5.3.0/src/llex.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldo.o: ../../src/host/lua-5.3.0/src/ldo.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldo.o: ../../src/host/lua-5.3.0/src/ldo.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lundump.o: ../../src/host/lua-5.3.0/src/lundump.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lundump.o: ../../src/host/lua-5.3.0/src/lundump.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lopcodes.o: ../../src/host/lua-5.3.0/src/lopcodes.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lopcodes.o: ../../src/host/lua-5.3.0/src/lopcodes.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lutf8lib.o: ../../src/host/lua-5.3.0/src/lutf8lib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lutf8lib.o: ../../src/host/lua-5.3.0/src/lutf8lib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/loslib.o: ../../src/host/lua-5.3.0/src/loslib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/loslib.o: ../../src/host/lua-5.3.0/src/loslib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lobject.o: ../../src/host/lua-5.3.0/src/lobject.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lobject.o: ../../src/host/lua-5.3.0/src/lobject.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldebug.o: ../../src/host/lua-5.3.0/src/ldebug.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldebug.o: ../../src/host/lua-5.3.0/src/ldebug.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
-include $(OBJECTS:%.o=%.d)
|
||||
ifneq (,$(PCH))
|
||||
|
220
3rdparty/genie/build/gmake.windows/genie.make
vendored
220
3rdparty/genie/build/gmake.windows/genie.make
vendored
@ -43,7 +43,7 @@ ifeq ($(config),release)
|
||||
override TARGET = $(TARGETDIR)/genie.exe
|
||||
DEFINES += -DNDEBUG -DLUA_COMPAT_MODULE
|
||||
INCLUDES += -I../../src/host/lua-5.3.0/src
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES)
|
||||
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os
|
||||
ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os
|
||||
ALL_OBJCFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os
|
||||
@ -120,7 +120,7 @@ ifeq ($(config),debug)
|
||||
override TARGET = $(TARGETDIR)/genie.exe
|
||||
DEFINES += -D_DEBUG -DLUA_COMPAT_MODULE
|
||||
INCLUDES += -I../../src/host/lua-5.3.0/src
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
|
||||
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES)
|
||||
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
|
||||
ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
|
||||
ALL_OBJCFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
|
||||
@ -193,17 +193,17 @@ endif
|
||||
|
||||
OBJDIRS := \
|
||||
$(OBJDIR) \
|
||||
$(OBJDIR)/src/host \
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src \
|
||||
$(OBJDIR)/src/host \
|
||||
|
||||
RESOURCES := \
|
||||
|
||||
.PHONY: clean prebuild prelink
|
||||
|
||||
all: $(TARGETDIR) $(OBJDIRS) prebuild prelink $(TARGET)
|
||||
all: $(OBJDIRS) prebuild prelink $(TARGET) | $(TARGETDIR)
|
||||
@:
|
||||
|
||||
$(TARGET): $(TARGETDIR) $(OBJDIRS) $(GCH) $(OBJECTS) $(LDDEPS) $(RESOURCES)
|
||||
$(TARGET): $(OBJDIRS) $(GCH) $(OBJECTS) $(LDDEPS) $(RESOURCES) | $(TARGETDIR)
|
||||
@echo Linking genie
|
||||
$(SILENT) $(LINKCMD)
|
||||
$(POSTBUILDCMDS)
|
||||
@ -235,216 +235,216 @@ prelink:
|
||||
ifneq (,$(PCH))
|
||||
$(GCH): $(PCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) -x c-header $(ALL_CFLAGS) -MMD -MP $(DEFINES) $(INCLUDES) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) -x c-header $(DEFINES) $(INCLUDES) -o "$@" -c "$<"
|
||||
endif
|
||||
|
||||
$(OBJDIR)/src/host/os_getcwd.o: ../../src/host/os_getcwd.c
|
||||
$(OBJDIR)/src/host/os_getcwd.o: ../../src/host/os_getcwd.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_stat.o: ../../src/host/os_stat.c
|
||||
$(OBJDIR)/src/host/os_stat.o: ../../src/host/os_stat.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_chdir.o: ../../src/host/os_chdir.c
|
||||
$(OBJDIR)/src/host/os_chdir.o: ../../src/host/os_chdir.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/premake_main.o: ../../src/host/premake_main.c
|
||||
$(OBJDIR)/src/host/premake_main.o: ../../src/host/premake_main.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_uuid.o: ../../src/host/os_uuid.c
|
||||
$(OBJDIR)/src/host/os_uuid.o: ../../src/host/os_uuid.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_isfile.o: ../../src/host/os_isfile.c
|
||||
$(OBJDIR)/src/host/os_isfile.o: ../../src/host/os_isfile.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_ticks.o: ../../src/host/os_ticks.c
|
||||
$(OBJDIR)/src/host/os_ticks.o: ../../src/host/os_ticks.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_copyfile.o: ../../src/host/os_copyfile.c
|
||||
$(OBJDIR)/src/host/os_copyfile.o: ../../src/host/os_copyfile.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/scripts.o: ../../src/host/scripts.c
|
||||
$(OBJDIR)/src/host/scripts.o: ../../src/host/scripts.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/string_endswith.o: ../../src/host/string_endswith.c
|
||||
$(OBJDIR)/src/host/string_endswith.o: ../../src/host/string_endswith.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/string_hash.o: ../../src/host/string_hash.c
|
||||
$(OBJDIR)/src/host/string_hash.o: ../../src/host/string_hash.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_pathsearch.o: ../../src/host/os_pathsearch.c
|
||||
$(OBJDIR)/src/host/os_pathsearch.o: ../../src/host/os_pathsearch.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_rmdir.o: ../../src/host/os_rmdir.c
|
||||
$(OBJDIR)/src/host/os_rmdir.o: ../../src/host/os_rmdir.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_match.o: ../../src/host/os_match.c
|
||||
$(OBJDIR)/src/host/os_match.o: ../../src/host/os_match.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/premake.o: ../../src/host/premake.c
|
||||
$(OBJDIR)/src/host/premake.o: ../../src/host/premake.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_isdir.o: ../../src/host/os_isdir.c
|
||||
$(OBJDIR)/src/host/os_isdir.o: ../../src/host/os_isdir.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_mkdir.o: ../../src/host/os_mkdir.c
|
||||
$(OBJDIR)/src/host/os_mkdir.o: ../../src/host/os_mkdir.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/path_isabsolute.o: ../../src/host/path_isabsolute.c
|
||||
$(OBJDIR)/src/host/path_isabsolute.o: ../../src/host/path_isabsolute.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/os_is64bit.o: ../../src/host/os_is64bit.c
|
||||
$(OBJDIR)/src/host/os_is64bit.o: ../../src/host/os_is64bit.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldump.o: ../../src/host/lua-5.3.0/src/ldump.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldump.o: ../../src/host/lua-5.3.0/src/ldump.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lvm.o: ../../src/host/lua-5.3.0/src/lvm.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lvm.o: ../../src/host/lua-5.3.0/src/lvm.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltable.o: ../../src/host/lua-5.3.0/src/ltable.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltable.o: ../../src/host/lua-5.3.0/src/ltable.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstrlib.o: ../../src/host/lua-5.3.0/src/lstrlib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstrlib.o: ../../src/host/lua-5.3.0/src/lstrlib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/liolib.o: ../../src/host/lua-5.3.0/src/liolib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/liolib.o: ../../src/host/lua-5.3.0/src/liolib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lcode.o: ../../src/host/lua-5.3.0/src/lcode.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lcode.o: ../../src/host/lua-5.3.0/src/lcode.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lparser.o: ../../src/host/lua-5.3.0/src/lparser.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lparser.o: ../../src/host/lua-5.3.0/src/lparser.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/loadlib.o: ../../src/host/lua-5.3.0/src/loadlib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/loadlib.o: ../../src/host/lua-5.3.0/src/loadlib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lbitlib.o: ../../src/host/lua-5.3.0/src/lbitlib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lbitlib.o: ../../src/host/lua-5.3.0/src/lbitlib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lzio.o: ../../src/host/lua-5.3.0/src/lzio.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lzio.o: ../../src/host/lua-5.3.0/src/lzio.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldblib.o: ../../src/host/lua-5.3.0/src/ldblib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldblib.o: ../../src/host/lua-5.3.0/src/ldblib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lmathlib.o: ../../src/host/lua-5.3.0/src/lmathlib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lmathlib.o: ../../src/host/lua-5.3.0/src/lmathlib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lfunc.o: ../../src/host/lua-5.3.0/src/lfunc.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lfunc.o: ../../src/host/lua-5.3.0/src/lfunc.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lmem.o: ../../src/host/lua-5.3.0/src/lmem.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lmem.o: ../../src/host/lua-5.3.0/src/lmem.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lgc.o: ../../src/host/lua-5.3.0/src/lgc.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lgc.o: ../../src/host/lua-5.3.0/src/lgc.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstring.o: ../../src/host/lua-5.3.0/src/lstring.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstring.o: ../../src/host/lua-5.3.0/src/lstring.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/linit.o: ../../src/host/lua-5.3.0/src/linit.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/linit.o: ../../src/host/lua-5.3.0/src/linit.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltm.o: ../../src/host/lua-5.3.0/src/ltm.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltm.o: ../../src/host/lua-5.3.0/src/ltm.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lapi.o: ../../src/host/lua-5.3.0/src/lapi.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lapi.o: ../../src/host/lua-5.3.0/src/lapi.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lctype.o: ../../src/host/lua-5.3.0/src/lctype.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lctype.o: ../../src/host/lua-5.3.0/src/lctype.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstate.o: ../../src/host/lua-5.3.0/src/lstate.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lstate.o: ../../src/host/lua-5.3.0/src/lstate.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lbaselib.o: ../../src/host/lua-5.3.0/src/lbaselib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lbaselib.o: ../../src/host/lua-5.3.0/src/lbaselib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltablib.o: ../../src/host/lua-5.3.0/src/ltablib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ltablib.o: ../../src/host/lua-5.3.0/src/ltablib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lauxlib.o: ../../src/host/lua-5.3.0/src/lauxlib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lauxlib.o: ../../src/host/lua-5.3.0/src/lauxlib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lcorolib.o: ../../src/host/lua-5.3.0/src/lcorolib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lcorolib.o: ../../src/host/lua-5.3.0/src/lcorolib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/llex.o: ../../src/host/lua-5.3.0/src/llex.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/llex.o: ../../src/host/lua-5.3.0/src/llex.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldo.o: ../../src/host/lua-5.3.0/src/ldo.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldo.o: ../../src/host/lua-5.3.0/src/ldo.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lundump.o: ../../src/host/lua-5.3.0/src/lundump.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lundump.o: ../../src/host/lua-5.3.0/src/lundump.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lopcodes.o: ../../src/host/lua-5.3.0/src/lopcodes.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lopcodes.o: ../../src/host/lua-5.3.0/src/lopcodes.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lutf8lib.o: ../../src/host/lua-5.3.0/src/lutf8lib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lutf8lib.o: ../../src/host/lua-5.3.0/src/lutf8lib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/loslib.o: ../../src/host/lua-5.3.0/src/loslib.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/loslib.o: ../../src/host/lua-5.3.0/src/loslib.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lobject.o: ../../src/host/lua-5.3.0/src/lobject.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/lobject.o: ../../src/host/lua-5.3.0/src/lobject.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldebug.o: ../../src/host/lua-5.3.0/src/ldebug.c
|
||||
$(OBJDIR)/src/host/lua-5.3.0/src/ldebug.o: ../../src/host/lua-5.3.0/src/ldebug.c $(GCH)
|
||||
@echo $(notdir $<)
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%.o=%.d) -c "$<"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"
|
||||
|
||||
-include $(OBJECTS:%.o=%.d)
|
||||
ifneq (,$(PCH))
|
||||
|
3
3rdparty/genie/src/_manifest.lua
vendored
3
3rdparty/genie/src/_manifest.lua
vendored
@ -28,6 +28,7 @@
|
||||
"base/inspect.lua",
|
||||
"tools/dotnet.lua",
|
||||
"tools/gcc.lua",
|
||||
"tools/ghs.lua",
|
||||
"tools/msc.lua",
|
||||
"tools/ow.lua",
|
||||
"tools/snc.lua",
|
||||
@ -45,7 +46,7 @@
|
||||
"actions/codelite/codelite_workspace.lua",
|
||||
"actions/codelite/codelite_project.lua",
|
||||
|
||||
-- CodeLite action
|
||||
-- CMake action
|
||||
"actions/cmake/_cmake.lua",
|
||||
"actions/cmake/cmake_workspace.lua",
|
||||
"actions/cmake/cmake_project.lua",
|
||||
|
2
3rdparty/genie/src/actions/make/_make.lua
vendored
2
3rdparty/genie/src/actions/make/_make.lua
vendored
@ -137,7 +137,7 @@
|
||||
valid_languages = { "C", "C++", "C#" },
|
||||
|
||||
valid_tools = {
|
||||
cc = { "gcc" },
|
||||
cc = { "gcc", "ghs" },
|
||||
dotnet = { "mono", "msnet", "pnet" },
|
||||
},
|
||||
|
||||
|
59
3rdparty/genie/src/actions/make/make_cpp.lua
vendored
59
3rdparty/genie/src/actions/make/make_cpp.lua
vendored
@ -34,13 +34,13 @@
|
||||
objdirs[_MAKE.esc(path.getdirectory(path.trimdots(file)))] = 1
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
for _, custombuildtask in ipairs(prj.custombuildtask or {}) do
|
||||
for _, buildtask in ipairs(custombuildtask or {}) do
|
||||
additionalobjdirs[_MAKE.esc(path.getdirectory(path.getrelative(prj.location,buildtask[2])))] = 1
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
_p('OBJDIRS := \\')
|
||||
_p('\t$(OBJDIR) \\')
|
||||
for dir, _ in pairs(objdirs) do
|
||||
@ -64,9 +64,9 @@
|
||||
_p('')
|
||||
|
||||
if os.is("MacOSX") and prj.kind == "WindowedApp" then
|
||||
_p('all: $(TARGETDIR) $(OBJDIRS) prebuild prelink $(TARGET) $(dir $(TARGETDIR))PkgInfo $(dir $(TARGETDIR))Info.plist')
|
||||
_p('all: $(OBJDIRS) prebuild prelink $(TARGET) $(dir $(TARGETDIR))PkgInfo $(dir $(TARGETDIR))Info.plist | $(TARGETDIR)')
|
||||
else
|
||||
_p('all: $(TARGETDIR) $(OBJDIRS) prebuild prelink $(TARGET)')
|
||||
_p('all: $(OBJDIRS) prebuild prelink $(TARGET) | $(TARGETDIR)')
|
||||
end
|
||||
_p('\t@:')
|
||||
_p('')
|
||||
@ -86,7 +86,7 @@
|
||||
end
|
||||
|
||||
-- target build rule
|
||||
_p('$(TARGET): $(GCH) $(OBJECTS) $(LDDEPS) $(RESOURCES)')
|
||||
_p('$(TARGET): $(GCH) $(OBJECTS) $(LDDEPS) $(RESOURCES) | $(TARGETDIR) $(OBJDIRS)')
|
||||
|
||||
if prj.kind == "StaticLib" then
|
||||
if prj.msgarchiving then
|
||||
@ -162,7 +162,7 @@
|
||||
|
||||
-- per-file build rules
|
||||
cpp.fileRules(prj)
|
||||
|
||||
|
||||
-- per-dependency build rules
|
||||
cpp.dependencyRules(prj)
|
||||
|
||||
@ -172,7 +172,7 @@
|
||||
for _, depdata in ipairs(buildtask[3] or {}) do
|
||||
deps = deps .. string.format("%s ",path.getrelative(prj.location,depdata))
|
||||
end
|
||||
_p('%s: %s'
|
||||
_p('%s: %s | $(TARGETDIR) $(OBJDIRS)'
|
||||
,path.getrelative(prj.location,buildtask[2])
|
||||
, deps
|
||||
)
|
||||
@ -185,14 +185,14 @@
|
||||
end
|
||||
cmd = string.gsub(cmd, "%$%(<%)", "$<")
|
||||
cmd = string.gsub(cmd, "%$%(@%)", "$@")
|
||||
|
||||
|
||||
_p('\t$(SILENT) %s',cmd)
|
||||
|
||||
|
||||
end
|
||||
_p('')
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- include the dependencies, built by GCC (with the -MMD flag)
|
||||
_p('-include $(OBJECTS:%%.o=%%.d)')
|
||||
_p('ifneq (,$(PCH))')
|
||||
@ -387,24 +387,11 @@
|
||||
_p(' LIBS += $(LDDEPS)%s', make.list(cc.getlinkflags(cfg)))
|
||||
|
||||
if cfg.kind == "StaticLib" then
|
||||
if cfg.platform:startswith("Universal") then
|
||||
_p(' LINKCMD = libtool -o $(TARGET)')
|
||||
if (not prj.options.ArchiveSplit) then
|
||||
_p(' LINKCMD = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, false)))
|
||||
else
|
||||
if (not prj.options.ArchiveSplit) then
|
||||
if cc.llvm then
|
||||
_p(' LINKCMD = $(AR) rcs $(TARGET)')
|
||||
else
|
||||
_p(' LINKCMD = $(AR) -rcs $(TARGET)')
|
||||
end
|
||||
else
|
||||
if cc.llvm then
|
||||
_p(' LINKCMD = $(AR) qc $(TARGET)')
|
||||
_p(' LINKCMD_NDX= $(AR) cs $(TARGET)')
|
||||
else
|
||||
_p(' LINKCMD = $(AR) -qc $(TARGET)')
|
||||
_p(' LINKCMD_NDX= $(AR) -cs $(TARGET)')
|
||||
end
|
||||
end
|
||||
_p(' LINKCMD = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, false)))
|
||||
_p(' LINKCMD_NDX= $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, true)))
|
||||
end
|
||||
else
|
||||
|
||||
@ -464,15 +451,15 @@
|
||||
|
||||
function cpp.pchrules(prj)
|
||||
_p('ifneq (,$(PCH))')
|
||||
_p('$(GCH): $(PCH)')
|
||||
_p('$(GCH): $(PCH) | $(OBJDIR)')
|
||||
if prj.msgprecompile then
|
||||
_p('\t@echo ' .. prj.msgprecompile)
|
||||
else
|
||||
_p('\t@echo $(notdir $<)')
|
||||
end
|
||||
end
|
||||
|
||||
local cmd = iif(prj.language == "C", "$(CC) $(ALL_CFLAGS) -x c-header", "$(CXX) $(ALL_CXXFLAGS) -x c++-header")
|
||||
_p('\t$(SILENT) %s -MMD -MP $(DEFINES) $(INCLUDES) -o "$@" -MF "$(@:%%.gch=%%.d)" -c "$<"', cmd)
|
||||
_p('\t$(SILENT) %s $(DEFINES) $(INCLUDES) -o "$@" -c "$<"', cmd)
|
||||
|
||||
_p('endif')
|
||||
_p('')
|
||||
@ -486,7 +473,7 @@
|
||||
function cpp.fileRules(prj)
|
||||
for _, file in ipairs(prj.files or {}) do
|
||||
if path.iscppfile(file) then
|
||||
_p('$(OBJDIR)/%s.o: %s'
|
||||
_p('$(OBJDIR)/%s.o: %s $(GCH)'
|
||||
, _MAKE.esc(path.trimdots(path.removeext(file)))
|
||||
, _MAKE.esc(file)
|
||||
)
|
||||
@ -498,7 +485,7 @@
|
||||
_p('\t@echo $(notdir $<)')
|
||||
end
|
||||
if (path.isobjcfile(file)) then
|
||||
_p('\t$(SILENT) $(CXX) $(ALL_OBJCFLAGS) $(FORCE_INCLUDE) -o "$@" -MF $(@:%%.o=%%.d) -c "$<"')
|
||||
_p('\t$(SILENT) $(CXX) $(ALL_OBJCFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<"')
|
||||
else
|
||||
cpp.buildcommand(path.iscfile(file) and not prj.options.ForceCPP, "o")
|
||||
end
|
||||
@ -506,7 +493,7 @@
|
||||
_p('\t$(SILENT) %s', task)
|
||||
_p('')
|
||||
end
|
||||
|
||||
|
||||
_p('')
|
||||
elseif (path.getextension(file) == ".rc") then
|
||||
_p('$(OBJDIR)/%s.res: %s', _MAKE.esc(path.getbasename(file)), _MAKE.esc(file))
|
||||
@ -520,7 +507,7 @@
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
function cpp.dependencyRules(prj)
|
||||
for _, dependency in ipairs(prj.dependency or {}) do
|
||||
for _, dep in ipairs(dependency or {}) do
|
||||
@ -539,9 +526,9 @@
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
function cpp.buildcommand(iscfile, objext)
|
||||
local flags = iif(iscfile, '$(CC) $(ALL_CFLAGS)', '$(CXX) $(ALL_CXXFLAGS)')
|
||||
_p('\t$(SILENT) %s $(FORCE_INCLUDE) -o "$@" -MF $(@:%%.%s=%%.d) -c "$<"', flags, objext)
|
||||
_p('\t$(SILENT) %s $(FORCE_INCLUDE) -o "$@" -c "$<"', flags, objext)
|
||||
end
|
||||
|
@ -255,6 +255,7 @@
|
||||
productVersion = "9.0.21022",
|
||||
solutionVersion = "10",
|
||||
toolsVersion = "3.5",
|
||||
supports64bitEditContinue = false,
|
||||
}
|
||||
}
|
||||
|
||||
@ -303,5 +304,6 @@
|
||||
solutionVersion = "11",
|
||||
targetFramework = "4.0",
|
||||
toolsVersion = "4.0",
|
||||
supports64bitEditContinue = false,
|
||||
}
|
||||
}
|
||||
|
@ -264,7 +264,7 @@
|
||||
--
|
||||
local debug_info = ''
|
||||
if cfg.flags.Symbols then
|
||||
if cfg.platform == "x64"
|
||||
if (action.vstudio.supports64bitEditContinue == false and cfg.platform == "x64")
|
||||
or cfg.flags.Managed
|
||||
or premake.config.isoptimizedbuild(cfg.flags)
|
||||
or cfg.flags.NoEditAndContinue
|
||||
|
@ -53,6 +53,7 @@
|
||||
solutionVersion = "12",
|
||||
targetFramework = "4.5",
|
||||
toolsVersion = "4.0",
|
||||
supports64bitEditContinue = false,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -58,5 +58,6 @@
|
||||
solutionVersion = "12",
|
||||
targetFramework = "4.5",
|
||||
toolsVersion = "12.0",
|
||||
supports64bitEditContinue = false,
|
||||
}
|
||||
}
|
||||
|
@ -58,5 +58,6 @@
|
||||
targetFramework = "4.5",
|
||||
toolsVersion = "14.0",
|
||||
windowsTargetPlatformVersion = "8.1",
|
||||
supports64bitEditContinue = true,
|
||||
}
|
||||
}
|
||||
|
4
3rdparty/genie/src/base/cmdline.lua
vendored
4
3rdparty/genie/src/base/cmdline.lua
vendored
@ -17,6 +17,7 @@
|
||||
allowed = {
|
||||
{ "gcc", "GNU GCC (gcc/g++)" },
|
||||
{ "ow", "OpenWatcom" },
|
||||
{ "ghs", "Green Hills Software" },
|
||||
}
|
||||
}
|
||||
|
||||
@ -73,7 +74,8 @@
|
||||
{ "ps3", "Playstation 3 (experimental)" },
|
||||
{ "orbis", "Playstation 4" },
|
||||
{ "xbox360", "Xbox 360 (experimental)" },
|
||||
{ "ARM", "ARM (Microsoft)" },
|
||||
{ "ARM", "ARM" },
|
||||
{ "PowerPC", "PowerPC" },
|
||||
}
|
||||
}
|
||||
|
||||
|
6
3rdparty/genie/src/base/globals.lua
vendored
6
3rdparty/genie/src/base/globals.lua
vendored
@ -57,11 +57,15 @@
|
||||
iscrosscompiler = true,
|
||||
namestyle = "windows",
|
||||
},
|
||||
PowerPC =
|
||||
{
|
||||
cfgsuffix = "ppc",
|
||||
iscrosscompiler = true,
|
||||
},
|
||||
ARM =
|
||||
{
|
||||
cfgsuffix = "ARM",
|
||||
iscrosscompiler = true,
|
||||
namestyle = "windows"
|
||||
},
|
||||
Orbis =
|
||||
{
|
||||
|
96
3rdparty/genie/src/host/scripts.c
vendored
96
3rdparty/genie/src/host/scripts.c
vendored
@ -28,8 +28,8 @@ const char* builtin_scripts[] = {
|
||||
"function io.capture()\nio.captured = ''\nend\nfunction io.endcapture()\nlocal captured = io.captured\nio.captured = nil\nreturn captured\nend\nlocal builtin_open = io.open\nfunction io.open(fname, mode)\nif (mode) then\nif (mode:find(\"w\")) then\nlocal dir = path.getdirectory(fname)\nok, err = os.mkdir(dir)\nif (not ok) then\nerror(err, 0)\nend\nend\nend\nreturn builtin_open(fname, mode)\nend\nfunction io.printf(msg, ...)\nlocal arg={...}\nif not io.eol then\nio.eol = \"\\n\"\nend\nif not io.indent then\nio.indent = \"\\t\"\nend\nif type(msg) == \"number\" then\ns = string.rep(io.indent, msg) .. string.format(table.unpack(arg))\nelse\ns = string.format(msg, table.unpack(arg))\nend\nif io.captured then\nio.captured = io.captured .. s .. io.eol\nelse\nio.write(s)\nio.write(io.eol)\nend\nend\n_p = io.printf\n",
|
||||
|
||||
/* base/globals.lua */
|
||||
"premake = { }\npremake.platforms = \n{\nNative = \n{ \ncfgsuffix = \"\",\n},\nx32 = \n{ \ncfgsuffix = \"32\",\n},\nx64 = \n{ \ncfgsuffix = \"64\",\n},\nUniversal = \n{ \ncfgsuffix = \"univ\",\n},\nUniversal32 = \n{ \ncfgsuffix = \"univ32\",\n},\nUniversal64 = \n{ \ncfgsuffix = \"univ64\",\n},\nPS3 = \n{ \ncfgsuffix = \"ps3\",\niscrosscompiler = true,\nnosharedlibs = true,\nnamestyle = \"PS3\",\n},\nWiiDev =\n{\ncfgsuffix = \"wii\",\niscrosscompiler = true,\nnamestyle = \"PS3\",\n},\nXbox360 = \n{ \ncfgsuffix = \"xbox360\",\niscrosscompiler = true,\nnamestyle = \"windows\",\n},\nARM =\n{\ncfgsuffix = \"ARM\",\niscrosscompiler = true,\nnamestyle = \"windows\"\n},\nOrbis = \n{ \ncfgsuffix = \"orbis\",\niscrosscompiler = true,\nnosharedlibs = true, -- @thendrix, Fix this to allow SPRXs\nnamestyle = \"Orbis\",\n},\n}\nlocal builtin_dofile = dofile\nfunction dofile(fname)\nlocal oldcwd = os.getcwd()\nlocal oldfile "
|
||||
"= _SCRIPT\nif (not os.isfile(fname)) then\nlocal path = os.pathsearch(fname, _OPTIONS[\"scripts\"], os.getenv(\"PREMAKE_PATH\"))\nif (path) then\nfname = path..\"/\"..fname\nend\nend\n_SCRIPT = path.getabsolute(fname)\nlocal newcwd = path.getdirectory(_SCRIPT)\nos.chdir(newcwd)\nlocal a, b, c, d, e, f = builtin_dofile(_SCRIPT)\n_SCRIPT = oldfile\nos.chdir(oldcwd)\nreturn a, b, c, d, e, f\nend\nfunction iif(expr, trueval, falseval)\nif (expr) then\nreturn trueval\nelse\nreturn falseval\nend\nend\nfunction include(fname)\nlocal dir, name = premake.findDefaultScript(fname, false)\nif dir ~= nil then\nreturn dofile(dir .. \"/\" .. name)\nend\nreturn nil\nend\nfunction printf(msg, ...)\nlocal arg={...}\nprint(string.format(msg, table.unpack(arg)))\nend\nlocal builtin_type = type\nfunction type(t)\nlocal mt = getmetatable(t)\nif (mt) then\nif (mt.__type) then\nreturn mt.__type\nend\nend\nreturn builtin_type(t)\nend\n",
|
||||
"premake = { }\npremake.platforms = \n{\nNative = \n{ \ncfgsuffix = \"\",\n},\nx32 = \n{ \ncfgsuffix = \"32\",\n},\nx64 = \n{ \ncfgsuffix = \"64\",\n},\nUniversal = \n{ \ncfgsuffix = \"univ\",\n},\nUniversal32 = \n{ \ncfgsuffix = \"univ32\",\n},\nUniversal64 = \n{ \ncfgsuffix = \"univ64\",\n},\nPS3 = \n{ \ncfgsuffix = \"ps3\",\niscrosscompiler = true,\nnosharedlibs = true,\nnamestyle = \"PS3\",\n},\nWiiDev =\n{\ncfgsuffix = \"wii\",\niscrosscompiler = true,\nnamestyle = \"PS3\",\n},\nXbox360 = \n{ \ncfgsuffix = \"xbox360\",\niscrosscompiler = true,\nnamestyle = \"windows\",\n},\nPowerPC =\n{\ncfgsuffix = \"ppc\",\niscrosscompiler = true,\n},\nARM =\n{\ncfgsuffix = \"ARM\",\niscrosscompiler = true,\n},\nOrbis = \n{ \ncfgsuffix = \"orbis\",\niscrosscompiler = true,\nnosharedlibs = true, -- @thendrix, Fix this to allow SPRXs\nnamestyle = \"Orbis\",\n},\n}\nlocal builtin_dofile = dofile\nfunction dofile(fname)\nlo"
|
||||
"cal oldcwd = os.getcwd()\nlocal oldfile = _SCRIPT\nif (not os.isfile(fname)) then\nlocal path = os.pathsearch(fname, _OPTIONS[\"scripts\"], os.getenv(\"PREMAKE_PATH\"))\nif (path) then\nfname = path..\"/\"..fname\nend\nend\n_SCRIPT = path.getabsolute(fname)\nlocal newcwd = path.getdirectory(_SCRIPT)\nos.chdir(newcwd)\nlocal a, b, c, d, e, f = builtin_dofile(_SCRIPT)\n_SCRIPT = oldfile\nos.chdir(oldcwd)\nreturn a, b, c, d, e, f\nend\nfunction iif(expr, trueval, falseval)\nif (expr) then\nreturn trueval\nelse\nreturn falseval\nend\nend\nfunction include(fname)\nlocal dir, name = premake.findDefaultScript(fname, false)\nif dir ~= nil then\nreturn dofile(dir .. \"/\" .. name)\nend\nreturn nil\nend\nfunction printf(msg, ...)\nlocal arg={...}\nprint(string.format(msg, table.unpack(arg)))\nend\nlocal builtin_type = type\nfunction type(t)\nlocal mt = getmetatable(t)\nif (mt) then\nif (mt.__type) then\nreturn mt.__type\nend\nend\nreturn builtin_type(t)\nend\n",
|
||||
|
||||
/* base/action.lua */
|
||||
"premake.action = { }\npremake.action.list = { }\nfunction premake.action.add(a)\nlocal missing\nfor _, field in ipairs({\"description\", \"trigger\"}) do\nif (not a[field]) then\nmissing = field\nend\nend\nif (missing) then\nerror(\"action needs a \" .. missing, 3)\nend\npremake.action.list[a.trigger] = a\nend\nfunction premake.action.call(name)\nlocal a = premake.action.list[name]\nfor sln in premake.solution.each() do\nif a.onsolution then\na.onsolution(sln)\nend\nfor prj in premake.solution.eachproject(sln) do\nif a.onproject then\na.onproject(prj)\nend\nend\nend\nif a.execute then\na.execute()\nend\nend\nfunction premake.action.current()\nreturn premake.action.get(_ACTION)\nend\nfunction premake.action.get(name)\nreturn premake.action.list[name]\nend\nfunction premake.action.each()\nlocal keys = { }\nfor _, action in pairs(premake.action.list) do\ntable.insert(keys, action.trigger)\nend\ntable.sort(keys)\nlocal i = 0\nreturn function()\ni = i + 1\nreturn premake.action.list[keys[i]]\nend\nend\nfunction pre"
|
||||
@ -98,8 +98,8 @@ const char* builtin_scripts[] = {
|
||||
"]) or sln.projects[name].usage) then\npremake.CurrentContainer = createproject(name, sln)\nelse\npremake.CurrentContainer = sln.projects[name];\nend\nconfiguration { }\nreturn premake.CurrentContainer\nend\nfunction solution(name)\nif not name then\nif type(premake.CurrentContainer) == \"project\" then\nreturn premake.CurrentContainer.solution\nelse\nreturn premake.CurrentContainer\nend\nend\npremake.CurrentContainer = premake.solution.get(name)\nif (not premake.CurrentContainer) then\npremake.CurrentContainer = premake.solution.new(name)\nend\nconfiguration { }\nreturn premake.CurrentContainer\nend\nfunction group(name)\nif not name then\nreturn premake.CurrentGroup\nend\npremake.CurrentGroup = name\nreturn premake.CurrentGroup\nend\nfunction newaction(a)\npremake.action.add(a)\nend\nfunction newoption(opt)\npremake.option.add(opt)\nend\n",
|
||||
|
||||
/* base/cmdline.lua */
|
||||
"newoption \n{\ntrigger = \"cc\",\nvalue = \"VALUE\",\ndescription = \"Choose a C/C++ compiler set\",\nallowed = {\n{ \"gcc\", \"GNU GCC (gcc/g++)\" },\n{ \"ow\", \"OpenWatcom\" },\n}\n}\nnewoption\n{\ntrigger = \"dotnet\",\nvalue = \"VALUE\",\ndescription = \"Choose a .NET compiler set\",\nallowed = {\n{ \"msnet\", \"Microsoft .NET (csc)\" },\n{ \"mono\", \"Novell Mono (mcs)\" },\n{ \"pnet\", \"Portable.NET (cscc)\" },\n}\n}\nnewoption\n{\ntrigger = \"file\",\nvalue = \"FILE\",\ndescription = \"Read FILE as a Premake script; default is 'premake4.lua'\"\n}\nnewoption\n{\ntrigger = \"help\",\ndescription = \"Display this information\"\n}\nnewoption\n{\ntrigger = \"os\",\nvalue = \"VALUE\",\ndescription = \"Generate files for a different operating system\",\nallowed = {\n{ \"bsd\", \"OpenBSD, NetBSD, or FreeBSD\" },\n{ \"linux\", \"Linux\" },\n{ \"macosx\", \"Apple Mac OS X\" },\n{ \"solaris\", \"Solaris\" },\n{ \"windows\", \"Microsoft W"
|
||||
"indows\" },\n}\n}\nnewoption\n{\ntrigger = \"platform\",\nvalue = \"VALUE\",\ndescription = \"Add target architecture (if supported by action)\",\nallowed = {\n{ \"x32\", \"32-bit\" },\n{ \"x64\", \"64-bit\" },\n{ \"universal\", \"Mac OS X Universal, 32- and 64-bit\" },\n{ \"universal32\", \"Mac OS X Universal, 32-bit only\" },\n{ \"universal64\", \"Mac OS X Universal, 64-bit only\" },\n{ \"ps3\", \"Playstation 3 (experimental)\" },\n{ \"orbis\", \"Playstation 4\" },\n{ \"xbox360\", \"Xbox 360 (experimental)\" },\n{ \"ARM\", \"ARM (Microsoft)\" },\n}\n}\nnewoption\n{\ntrigger = \"scripts\",\nvalue = \"path\",\ndescription = \"Search for additional scripts on the given path\"\n}\nnewoption\n{\ntrigger = \"version\",\ndescription = \"Display version information\"\n}\n",
|
||||
"newoption \n{\ntrigger = \"cc\",\nvalue = \"VALUE\",\ndescription = \"Choose a C/C++ compiler set\",\nallowed = {\n{ \"gcc\", \"GNU GCC (gcc/g++)\" },\n{ \"ow\", \"OpenWatcom\" },\n{ \"ghs\", \"Green Hills Software\" },\n}\n}\nnewoption\n{\ntrigger = \"dotnet\",\nvalue = \"VALUE\",\ndescription = \"Choose a .NET compiler set\",\nallowed = {\n{ \"msnet\", \"Microsoft .NET (csc)\" },\n{ \"mono\", \"Novell Mono (mcs)\" },\n{ \"pnet\", \"Portable.NET (cscc)\" },\n}\n}\nnewoption\n{\ntrigger = \"file\",\nvalue = \"FILE\",\ndescription = \"Read FILE as a Premake script; default is 'premake4.lua'\"\n}\nnewoption\n{\ntrigger = \"help\",\ndescription = \"Display this information\"\n}\nnewoption\n{\ntrigger = \"os\",\nvalue = \"VALUE\",\ndescription = \"Generate files for a different operating system\",\nallowed = {\n{ \"bsd\", \"OpenBSD, NetBSD, or FreeBSD\" },\n{ \"linux\", \"Linux\" },\n{ \"macosx\", \"Apple Mac OS X\" },\n{ \"solaris\", \"Sol"
|
||||
"aris\" },\n{ \"windows\", \"Microsoft Windows\" },\n}\n}\nnewoption\n{\ntrigger = \"platform\",\nvalue = \"VALUE\",\ndescription = \"Add target architecture (if supported by action)\",\nallowed = {\n{ \"x32\", \"32-bit\" },\n{ \"x64\", \"64-bit\" },\n{ \"universal\", \"Mac OS X Universal, 32- and 64-bit\" },\n{ \"universal32\", \"Mac OS X Universal, 32-bit only\" },\n{ \"universal64\", \"Mac OS X Universal, 64-bit only\" },\n{ \"ps3\", \"Playstation 3 (experimental)\" },\n{ \"orbis\", \"Playstation 4\" },\n{ \"xbox360\", \"Xbox 360 (experimental)\" },\n{ \"ARM\", \"ARM\" },\n{ \"PowerPC\", \"PowerPC\" },\n}\n}\nnewoption\n{\ntrigger = \"scripts\",\nvalue = \"path\",\ndescription = \"Search for additional scripts on the given path\"\n}\nnewoption\n{\ntrigger = \"version\",\ndescription = \"Display version information\"\n}\n",
|
||||
|
||||
/* base/inspect.lua */
|
||||
"-- Copyright (c) 2013 Enrique García Cota\nlocal function smartQuote(str)\n if str:match('\"') and not str:match(\"'\") then\n return \"'\" .. str .. \"'\"\n end\n return '\"' .. str:gsub('\"', '\\\\\"') .. '\"'\nend\nlocal controlCharsTranslation = {\n [\"\\a\"] = \"\\\\a\", [\"\\b\"] = \"\\\\b\", [\"\\f\"] = \"\\\\f\", [\"\\n\"] = \"\\\\n\",\n [\"\\r\"] = \"\\\\r\", [\"\\t\"] = \"\\\\t\", [\"\\v\"] = \"\\\\v\"\n}\nlocal function escapeChar(c) return controlCharsTranslation[c] end\nlocal function escape(str)\n local result = str:gsub(\"\\\\\", \"\\\\\\\\\"):gsub(\"(%c)\", escapeChar)\n return result\nend\nlocal function isIdentifier(str)\n return type(str) == 'string' and str:match( \"^[_%a][_%a%d]*$\" )\nend\nlocal function isArrayKey(k, length)\n return type(k) == 'number' and 1 <= k and k <= length\nend\nlocal function isDictionaryKey(k, length)\n return not isArrayKey(k, length)\nend\nlocal defaultTypeOrders = {\n ['number'] = 1, ['boolean'] = 2, ['string'] = 3, ['table'] = 4,\n ['fu"
|
||||
@ -115,10 +115,16 @@ const char* builtin_scripts[] = {
|
||||
"gs(cfg)\nlocal result = table.translate(cfg.flags, flags)\nreturn result\nend\nfunction premake.dotnet.getkind(cfg)\nif (cfg.kind == \"ConsoleApp\") then\nreturn \"Exe\"\nelseif (cfg.kind == \"WindowedApp\") then\nreturn \"WinExe\"\nelseif (cfg.kind == \"SharedLib\") then\nreturn \"Library\"\nend\nend",
|
||||
|
||||
/* tools/gcc.lua */
|
||||
"premake.gcc = { }\npremake.gcc.cc = \"gcc\"\npremake.gcc.cxx = \"g++\"\npremake.gcc.ar = \"ar\"\npremake.gcc.llvm = false\nlocal cflags =\n{\nEnableSSE = \"-msse\",\nEnableSSE2 = \"-msse2\",\nExtraWarnings = \"-Wall -Wextra\",\nFatalWarnings = \"-Werror\",\nFloatFast = \"-ffast-math\",\nFloatStrict = \"-ffloat-store\",\nNoFramePointer = \"-fomit-frame-pointer\",\nOptimize = \"-O2\",\nOptimizeSize = \"-Os\",\nOptimizeSpeed = \"-O3\",\nSymbols = \"-g\",\n}\nlocal cxxflags =\n{\nNoExceptions = \"-fno-exceptions\",\nNoRTTI = \"-fno-rtti\",\nUnsignedChar = \"-funsigned-char\",\n}\npremake.gcc.platforms =\n{\nNative = {\ncppflags = \"-MMD\",\n},\nx32 = {\ncppflags = \"-MMD\",\nflags = \"-m32\",\n},\nx64 = {\ncppflags = \"-MMD\",\nflags = \"-m64\",\n},\nUniversal = {\ncppflags = \"\",\nflags = \"-arch i386 -arch x86_64 -arch ppc -arch ppc64\",\n},\nUniversal32 = {\ncppflags = \"\",\nflags = \"-arch i386 -arch ppc\",\n},\nUniversal64 = {\ncppflags"
|
||||
" = \"\",\nflags = \"-arch x86_64 -arch ppc64\",\n},\nPS3 = {\ncc = \"ppu-lv2-g++\",\ncxx = \"ppu-lv2-g++\",\nar = \"ppu-lv2-ar\",\ncppflags = \"-MMD\",\n},\nWiiDev = {\ncppflags = \"-MMD -MP -I$(LIBOGC_INC) $(MACHDEP)\",\nldflags= \"-L$(LIBOGC_LIB) $(MACHDEP)\",\ncfgsettings = [[\n ifeq ($(strip $(DEVKITPPC)),)\n $(error \"DEVKITPPC environment variable is not set\")'\n endif\n include $(DEVKITPPC)/wii_rules']],\n},\nOrbis = {\ncc = \"orbis-clang\",\ncxx = \"orbis-clang++\",\nar = \"orbis-ar\",\ncppflags = \"-MMD -MP\",\n}\n}\nlocal platforms = premake.gcc.platforms\nfunction premake.gcc.getcppflags(cfg)\nlocal flags = { }\ntable.insert(flags, platforms[cfg.platform].cppflags)\nif flags[1]:startswith(\"-MMD\") then\ntable.insert(flags, \"-MP\")\nend\nreturn flags\nend\nfunction premake.gcc.getcflags(cfg)\nlocal result = table.translate(cfg.flags, cflags)\ntable.insert(result, platforms[cfg.platform].flags)\nif cfg.system ~= \"windows\" and cfg.kind "
|
||||
"== \"SharedLib\" then\ntable.insert(result, \"-fPIC\")\nend\nreturn result\nend\nfunction premake.gcc.getcxxflags(cfg)\nlocal result = table.translate(cfg.flags, cxxflags)\nreturn result\nend\nfunction premake.gcc.getldflags(cfg)\nlocal result = { }\nif not cfg.flags.Symbols then\nif cfg.system == \"macosx\" then\nelse\ntable.insert(result, \"-s\")\nend\nend\nif cfg.kind == \"SharedLib\" then\nif cfg.system == \"macosx\" then\ntable.insert(result, \"-dynamiclib\")\nelse\ntable.insert(result, \"-shared\")\nend\nif cfg.system == \"windows\" and not cfg.flags.NoImportLib then\ntable.insert(result, '-Wl,--out-implib=\"' .. cfg.linktarget.fullpath .. '\"')\nend\nend\nif cfg.kind == \"WindowedApp\" and cfg.system == \"windows\" then\ntable.insert(result, \"-mwindows\")\nend\nlocal platform = platforms[cfg.platform]\ntable.insert(result, platform.flags)\ntable.insert(result, platform.ldflags)\nreturn result\nend\nfunction premake.gcc.getlibdirflags(cfg)\nlocal result = { }\nfor _, value in ipairs(premake.getlinks(cfg"
|
||||
", \"all\", \"directory\")) do\ntable.insert(result, '-L' .. _MAKE.esc(value))\nend\nreturn result\nend\nfunction premake.gcc.getlinkflags(cfg)\nlocal result = {}\nfor _, value in ipairs(premake.getlinks(cfg, \"system\", \"name\")) do\nif path.getextension(value) == \".framework\" then\ntable.insert(result, '-framework ' .. _MAKE.esc(path.getbasename(value)))\nelse\ntable.insert(result, '-l' .. _MAKE.esc(value))\nend\nend\nreturn result\nend\nfunction premake.gcc.getdefines(defines)\nlocal result = { }\nfor _,def in ipairs(defines) do\ntable.insert(result, '-D' .. def)\nend\nreturn result\nend\nfunction premake.gcc.getincludedirs(includedirs)\nlocal result = { }\nfor _,dir in ipairs(includedirs) do\ntable.insert(result, \"-I\" .. _MAKE.esc(dir))\nend\nreturn result\nend\nfunction premake.gcc.getcfgsettings(cfg)\nreturn platforms[cfg.platform].cfgsettings\nend\n",
|
||||
"premake.gcc = { }\npremake.gcc.cc = \"gcc\"\npremake.gcc.cxx = \"g++\"\npremake.gcc.ar = \"ar\"\npremake.gcc.llvm = false\nlocal cflags =\n{\nEnableSSE = \"-msse\",\nEnableSSE2 = \"-msse2\",\nExtraWarnings = \"-Wall -Wextra\",\nFatalWarnings = \"-Werror\",\nFloatFast = \"-ffast-math\",\nFloatStrict = \"-ffloat-store\",\nNoFramePointer = \"-fomit-frame-pointer\",\nOptimize = \"-O2\",\nOptimizeSize = \"-Os\",\nOptimizeSpeed = \"-O3\",\nSymbols = \"-g\",\n}\nlocal cxxflags =\n{\nNoExceptions = \"-fno-exceptions\",\nNoRTTI = \"-fno-rtti\",\nUnsignedChar = \"-funsigned-char\",\n}\npremake.gcc.platforms =\n{\nNative = {\ncppflags = \"-MMD -MP\",\n},\nx32 = {\ncppflags = \"-MMD -MP\",\nflags = \"-m32\",\n},\nx64 = {\ncppflags = \"-MMD -MP\",\nflags = \"-m64\",\n},\nUniversal = {\nar = \"libtool\",\ncppflags = \"-MMD -MP\",\nflags = \"-arch i386 -arch x86_64 -arch ppc -arch ppc64\",\n},\nUniversal32 = {\nar = \"libtool\",\ncppflags = \"-M"
|
||||
"MD -MP\",\nflags = \"-arch i386 -arch ppc\",\n},\nUniversal64 = {\nar = \"libtool\",\ncppflags = \"-MMD -MP\",\nflags = \"-arch x86_64 -arch ppc64\",\n},\nPS3 = {\ncc = \"ppu-lv2-g++\",\ncxx = \"ppu-lv2-g++\",\nar = \"ppu-lv2-ar\",\ncppflags = \"-MMD -MP\",\n},\nWiiDev = {\ncppflags = \"-MMD -MP -I$(LIBOGC_INC) $(MACHDEP)\",\nldflags= \"-L$(LIBOGC_LIB) $(MACHDEP)\",\ncfgsettings = [[\n ifeq ($(strip $(DEVKITPPC)),)\n $(error \"DEVKITPPC environment variable is not set\")'\n endif\n include $(DEVKITPPC)/wii_rules']],\n},\nOrbis = {\ncc = \"orbis-clang\",\ncxx = \"orbis-clang++\",\nar = \"orbis-ar\",\ncppflags = \"-MMD -MP\",\n}\n}\nlocal platforms = premake.gcc.platforms\nfunction premake.gcc.getcppflags(cfg)\nlocal flags = { }\ntable.insert(flags, platforms[cfg.platform].cppflags)\nif flags[1]:startswith(\"-MMD\") then\ntable.insert(flags, \"-MP\")\nend\nreturn flags\nend\nfunction premake.gcc.getcflags(cfg)\nlocal result = table.translate("
|
||||
"cfg.flags, cflags)\ntable.insert(result, platforms[cfg.platform].flags)\nif cfg.system ~= \"windows\" and cfg.kind == \"SharedLib\" then\ntable.insert(result, \"-fPIC\")\nend\nreturn result\nend\nfunction premake.gcc.getcxxflags(cfg)\nlocal result = table.translate(cfg.flags, cxxflags)\nreturn result\nend\nfunction premake.gcc.getldflags(cfg)\nlocal result = { }\nif not cfg.flags.Symbols then\nif cfg.system == \"macosx\" then\nelse\ntable.insert(result, \"-s\")\nend\nend\nif cfg.kind == \"SharedLib\" then\nif cfg.system == \"macosx\" then\ntable.insert(result, \"-dynamiclib\")\nelse\ntable.insert(result, \"-shared\")\nend\nif cfg.system == \"windows\" and not cfg.flags.NoImportLib then\ntable.insert(result, '-Wl,--out-implib=\"' .. cfg.linktarget.fullpath .. '\"')\nend\nend\nif cfg.kind == \"WindowedApp\" and cfg.system == \"windows\" then\ntable.insert(result, \"-mwindows\")\nend\nlocal platform = platforms[cfg.platform]\ntable.insert(result, platform.flags)\ntable.insert(result, platform.ldflags)\nreturn res"
|
||||
"ult\nend\nfunction premake.gcc.getlibdirflags(cfg)\nlocal result = { }\nfor _, value in ipairs(premake.getlinks(cfg, \"all\", \"directory\")) do\ntable.insert(result, '-L' .. _MAKE.esc(value))\nend\nreturn result\nend\nfunction premake.gcc.getlinkflags(cfg)\nlocal result = {}\nfor _, value in ipairs(premake.getlinks(cfg, \"system\", \"name\")) do\nif path.getextension(value) == \".framework\" then\ntable.insert(result, '-framework ' .. _MAKE.esc(path.getbasename(value)))\nelse\ntable.insert(result, '-l' .. _MAKE.esc(value))\nend\nend\nreturn result\nend\nfunction premake.gcc.getarchiveflags(prj, cfg, ndx)\nlocal result = {}\nif cfg.platform:startswith(\"Universal\") then\nif prj.options.ArchiveSplit then\nerror(\"gcc tool 'Universal*' platforms do not support split archives\")\nend\ntable.insert(result, '-o')\nelse\nif (not prj.options.ArchiveSplit) then\nif premake.gcc.llvm then\ntable.insert(result, 'rcs')\nelse\ntable.insert(result, '-rcs')\nend\nelse\nif premake.gcc.llvm then\nif (not ndx) then\ntable.inse"
|
||||
"rt(result, 'qc')\nelse\ntable.insert(result, 'cs')\nend\nelse\nif (not ndx) then\ntable.insert(result, '-qc')\nelse\ntable.insert(result, '-cs')\nend\nend\nend\nend\nreturn result\nend\nfunction premake.gcc.getdefines(defines)\nlocal result = { }\nfor _,def in ipairs(defines) do\ntable.insert(result, '-D' .. def)\nend\nreturn result\nend\nfunction premake.gcc.getincludedirs(includedirs)\nlocal result = { }\nfor _,dir in ipairs(includedirs) do\ntable.insert(result, \"-I\" .. _MAKE.esc(dir))\nend\nreturn result\nend\nfunction premake.gcc.getcfgsettings(cfg)\nreturn platforms[cfg.platform].cfgsettings\nend\n",
|
||||
|
||||
/* tools/ghs.lua */
|
||||
"premake.ghs = { }\npremake.ghs.namestyle = \"PS3\"\npremake.ghs.cc = \"ccppc\"\npremake.ghs.cxx = \"cxppc\"\npremake.ghs.ar = \"cxppc\"\nlocal cflags =\n{\nFatalWarnings = \"--quit_after_warnings\",\nOptimize = \"-Ogeneral\",\nOptimizeSize = \"-Osize\",\nOptimizeSpeed = \"-Ospeed\",\nSymbols = \"-g\",\n}\nlocal cxxflags =\n{\nNoExceptions = \"--no_exceptions\",\nNoRTTI = \"--no_rtti\",\nUnsignedChar = \"--unsigned_chars\",\n}\npremake.ghs.platforms =\n{\nNative = {\ncppflags = \"-MMD\",\n},\nPowerPC = {\ncc = \"ccppc\",\ncxx = \"cxppc\",\nar = \"cxppc\",\ncppflags = \"-MMD\",\narflags = \"-archive -o\",\n},\nARM = {\ncc = \"ccarm\",\ncxx = \"cxarm\",\nar = \"cxarm\",\ncppflags = \"-MMD\",\narflags = \"-archive -o\",\n}\n}\nlocal platforms = premake.ghs.platforms\nfunction premake.ghs.getcppflags(cfg)\nlocal flags = { }\ntable.insert(flags, platforms[cfg.platform].cppflags)\nreturn flags\nend\nfunction premake.ghs.getcf"
|
||||
"lags(cfg)\nlocal result = table.translate(cfg.flags, cflags)\ntable.insert(result, platforms[cfg.platform].flags)\nreturn result\nend\nfunction premake.ghs.getcxxflags(cfg)\nlocal result = table.translate(cfg.flags, cxxflags)\nreturn result\nend\nfunction premake.ghs.getldflags(cfg)\nlocal result = { }\nlocal platform = platforms[cfg.platform]\ntable.insert(result, platform.flags)\ntable.insert(result, platform.ldflags)\nreturn result\nend\nfunction premake.ghs.getlibdirflags(cfg)\nlocal result = { }\nfor _, value in ipairs(premake.getlinks(cfg, \"all\", \"directory\")) do\ntable.insert(result, '-L' .. _MAKE.esc(value))\nend\nreturn result\nend\nfunction premake.ghs.getlinkflags(cfg)\nlocal result = {}\nfor _, value in ipairs(premake.getlinks(cfg, \"system\", \"name\")) do\ntable.insert(result, '-lnk=' .. _MAKE.esc(value))\nend\nreturn result\nend\nfunction premake.ghs.getarchiveflags(prj, cfg, ndx)\nif prj.options.ArchiveSplit then\nerror(\"ghs tool does not support split archives\")\nend\nlocal result = {}\n"
|
||||
"local platform = platforms[cfg.platform]\ntable.insert(result, platform.arflags)\nreturn result\nend\nfunction premake.ghs.getdefines(defines)\nlocal result = { }\nfor _,def in ipairs(defines) do\ntable.insert(result, '-D' .. def)\nend\nreturn result\nend\nfunction premake.ghs.getincludedirs(includedirs)\nlocal result = { }\nfor _,dir in ipairs(includedirs) do\ntable.insert(result, \"-I\" .. _MAKE.esc(dir))\nend\nreturn result\nend\nfunction premake.ghs.getcfgsettings(cfg)\nreturn platforms[cfg.platform].cfgsettings\nend\n",
|
||||
|
||||
/* tools/msc.lua */
|
||||
"premake.msc = { }\npremake.msc.namestyle = \"windows\"\n",
|
||||
@ -181,8 +187,8 @@ const char* builtin_scripts[] = {
|
||||
|
||||
/* actions/make/_make.lua */
|
||||
"_MAKE = { }\npremake.make = { }\nlocal make = premake.make\nfunction _MAKE.esc(value)\nlocal result\nif (type(value) == \"table\") then\nresult = { }\nfor _,v in ipairs(value) do\ntable.insert(result, _MAKE.esc(v))\nend\nreturn result\nelse\nresult = value:gsub(\"\\\\\", \"\\\\\\\\\")\nresult = result:gsub(\" \", \"\\\\ \")\nresult = result:gsub(\"%%(\", \"\\\\%(\")\nresult = result:gsub(\"%%)\", \"\\\\%)\")\nresult = result:gsub(\"$\\\\%((.-)\\\\%)\", \"$%(%1%)\")\nreturn result\nend\nend\nfunction premake.make_copyrule(source, target)\n_p('%s: %s', target, source)\n_p('\\t@echo Copying $(notdir %s)', target)\n_p('\\t-$(call COPY,%s,%s)', source, target)\nend\nfunction premake.make_mkdirrule(var)\n_p('\\t@echo Creating %s', var)\n_p('\\t-$(call MKDIR,%s)', var)\n_p('')\nend\nfunction make.list(value)\nif #value > 0 then\nreturn \" \" .. table.concat(value, \" \")\nelse\nreturn \"\"\nend\nend\nfunction _MAKE.getmakefilename(this, searchprjs)\nlocal count = 0\nfor sln in premake.solution.each() do\nif (sln.loca"
|
||||
"tion == this.location) then count = count + 1 end\nif (searchprjs) then\nfor _,prj in ipairs(sln.projects) do\nif (prj.location == this.location) then count = count + 1 end\nend\nend\nend\nif (count == 1) then\nreturn \"Makefile\"\nelse\nreturn this.name .. \".make\"\nend\nend\nfunction _MAKE.getnames(tbl)\nlocal result = table.extract(tbl, \"name\")\nfor k,v in pairs(result) do\nresult[k] = _MAKE.esc(v)\nend\nreturn result\nend\nfunction make.settings(cfg, cc)\nif #cfg.makesettings > 0 then\nfor _, value in ipairs(cfg.makesettings) do\n_p(value)\nend\nend\nlocal toolsettings = cc.platforms[cfg.platform].cfgsettings\nif toolsettings then\n_p(toolsettings)\nend\nend\nnewaction {\ntrigger = \"gmake\",\nshortname = \"GNU Make\",\ndescription = \"Generate GNU makefiles for POSIX, MinGW, and Cygwin\",\nvalid_kinds = { \"ConsoleApp\", \"WindowedApp\", \"StaticLib\", \"SharedLib\" },\nvalid_languages = { \"C\", \"C++\", \"C#\" },\nvalid_tools = {\ncc = { \"gcc\" },\ndotnet = { \"mono\", "
|
||||
"\"msnet\", \"pnet\" },\n},\nonsolution = function(sln)\npremake.generate(sln, _MAKE.getmakefilename(sln, false), premake.make_solution)\nend,\nonproject = function(prj)\nlocal makefile = _MAKE.getmakefilename(prj, true)\nif premake.isdotnetproject(prj) then\npremake.generate(prj, makefile, premake.make_csharp)\nelse\npremake.generate(prj, makefile, premake.make_cpp)\nend\nend,\noncleansolution = function(sln)\npremake.clean.file(sln, _MAKE.getmakefilename(sln, false))\nend,\noncleanproject = function(prj)\npremake.clean.file(prj, _MAKE.getmakefilename(prj, true))\nend\n}\n",
|
||||
"tion == this.location) then count = count + 1 end\nif (searchprjs) then\nfor _,prj in ipairs(sln.projects) do\nif (prj.location == this.location) then count = count + 1 end\nend\nend\nend\nif (count == 1) then\nreturn \"Makefile\"\nelse\nreturn this.name .. \".make\"\nend\nend\nfunction _MAKE.getnames(tbl)\nlocal result = table.extract(tbl, \"name\")\nfor k,v in pairs(result) do\nresult[k] = _MAKE.esc(v)\nend\nreturn result\nend\nfunction make.settings(cfg, cc)\nif #cfg.makesettings > 0 then\nfor _, value in ipairs(cfg.makesettings) do\n_p(value)\nend\nend\nlocal toolsettings = cc.platforms[cfg.platform].cfgsettings\nif toolsettings then\n_p(toolsettings)\nend\nend\nnewaction {\ntrigger = \"gmake\",\nshortname = \"GNU Make\",\ndescription = \"Generate GNU makefiles for POSIX, MinGW, and Cygwin\",\nvalid_kinds = { \"ConsoleApp\", \"WindowedApp\", \"StaticLib\", \"SharedLib\" },\nvalid_languages = { \"C\", \"C++\", \"C#\" },\nvalid_tools = {\ncc = { \"gcc\", \"ghs\" },\ndotnet = { "
|
||||
"\"mono\", \"msnet\", \"pnet\" },\n},\nonsolution = function(sln)\npremake.generate(sln, _MAKE.getmakefilename(sln, false), premake.make_solution)\nend,\nonproject = function(prj)\nlocal makefile = _MAKE.getmakefilename(prj, true)\nif premake.isdotnetproject(prj) then\npremake.generate(prj, makefile, premake.make_csharp)\nelse\npremake.generate(prj, makefile, premake.make_cpp)\nend\nend,\noncleansolution = function(sln)\npremake.clean.file(sln, _MAKE.getmakefilename(sln, false))\nend,\noncleanproject = function(prj)\npremake.clean.file(prj, _MAKE.getmakefilename(prj, true))\nend\n}\n",
|
||||
|
||||
/* actions/make/make_solution.lua */
|
||||
"function premake.make_solution(sln)\nlocal cc = premake[_OPTIONS.cc]\nlocal platforms = premake.filterplatforms(sln, cc.platforms, \"Native\")\n_p('# %s solution makefile autogenerated by GENie', premake.action.current().shortname)\n_p('# Type \"make help\" for usage help')\n_p('')\n_p('ifndef config')\n_p(' config=%s', _MAKE.esc(premake.getconfigname(sln.configurations[1], platforms[1], true)))\n_p('endif')\n_p('export config')\n_p('')\n_p('PROJECTS := %s', table.concat(_MAKE.esc(table.extract(sln.projects, \"name\")), \" \"))\n_p('')\n_p('.PHONY: all clean help $(PROJECTS)')\n_p('')\n_p('all: $(PROJECTS)')\n_p('')\nfor _, prj in ipairs(sln.projects) do\n_p('%s: %s', _MAKE.esc(prj.name), table.concat(_MAKE.esc(table.extract(premake.getdependencies(prj), \"name\")), \" \"))\nif (not sln.messageskip) or (not table.contains(sln.messageskip, \"SkipBuildingMessage\")) then\n_p('\\t@echo \"==== Building %s ($(config)) ====\"', prj.name)\nend\n_p('\\t@${MAKE} --no-print-directory -C %s -f %s', _MAKE.esc(path.getrel"
|
||||
@ -190,18 +196,18 @@ const char* builtin_scripts[] = {
|
||||
|
||||
/* actions/make/make_cpp.lua */
|
||||
"premake.make.cpp = { }\npremake.make.override = { }\nlocal cpp = premake.make.cpp\nlocal make = premake.make\nfunction premake.make_cpp(prj)\nlocal cc = premake.gettool(prj)\nlocal platforms = premake.filterplatforms(prj.solution, cc.platforms, \"Native\")\npremake.gmake_cpp_header(prj, cc, platforms)\nfor _, platform in ipairs(platforms) do\nfor cfg in premake.eachconfig(prj, platform) do\npremake.gmake_cpp_config(prj, cfg, cc)\nend\nend\nlocal objdirs = {}\nlocal additionalobjdirs = {}\nfor _, file in ipairs(prj.files) do\nif path.iscppfile(file) then\nobjdirs[_MAKE.esc(path.getdirectory(path.trimdots(file)))] = 1\nend\nend\nfor _, custombuildtask in ipairs(prj.custombuildtask or {}) do\nfor _, buildtask in ipairs(custombuildtask or {}) do\nadditionalobjdirs[_MAKE.esc(path.getdirectory(path.getrelative(prj.location,buildtask[2])))] = 1\nend\nend\n_p('OBJDIRS := \\\\')\n_p('\\t$(OBJDIR) \\\\')\nfor dir, _ in pairs(objdirs) do\n_p('\\t$(OBJDIR)/%s \\\\', dir)\nend\nfor dir, _ in pairs(additionalobjdirs) do\n_p"
|
||||
"('\\t%s \\\\', dir)\nend\n_p('')\n_p('RESOURCES := \\\\')\nfor _, file in ipairs(prj.files) do\nif path.isresourcefile(file) then\n_p('\\t$(OBJDIR)/%s.res \\\\', _MAKE.esc(path.getbasename(file)))\nend\nend\n_p('')\n_p('.PHONY: clean prebuild prelink')\n_p('')\nif os.is(\"MacOSX\") and prj.kind == \"WindowedApp\" then\n_p('all: $(TARGETDIR) $(OBJDIRS) prebuild prelink $(TARGET) $(dir $(TARGETDIR))PkgInfo $(dir $(TARGETDIR))Info.plist')\nelse\n_p('all: $(TARGETDIR) $(OBJDIRS) prebuild prelink $(TARGET)')\nend\n_p('\\t@:')\n_p('')\nif (prj.kind == \"StaticLib\" and prj.options.ArchiveSplit) then\n_p('define max_args')\n_p('\\t$(eval _args:=)')\n_p('\\t$(foreach obj,$3,$(eval _args+=$(obj))$(if $(word $2,$(_args)),$1$(_args)$(EOL)$(eval _args:=)))')\n_p('\\t$(if $(_args),$1$(_args))')\n_p('endef')\n_p('')\n_p('define EOL')\n_p('')\n_p('')\n_p('endef')\n_p('')\nend\n_p('$(TARGET): $(GCH) $(OBJECTS) $(LDDEPS) $(RESOURCES)')\nif prj.kind == \"StaticLib\" then\nif prj.msgarchiving then\n_p('\\t@echo ' .. prj.msgarchi"
|
||||
"ving)\nelse\n_p('\\t@echo Archiving %s', prj.name)\nend\nif (not prj.archivesplit_size) then\nprj.archivesplit_size=200\nend\nif (not prj.options.ArchiveSplit) then\n_p('\\t$(SILENT) $(LINKCMD) $(OBJECTS)' .. (os.is(\"MacOSX\") and \" 2>&1 > /dev/null | sed -e '/.o) has no symbols$$/d'\" or \"\"))\nelse\n_p('\\t$(call RM,$(TARGET))')\n_p('\\t@$(call max_args,$(LINKCMD),'.. prj.archivesplit_size ..',$(OBJECTS))' .. (os.is(\"MacOSX\") and \" 2>&1 > /dev/null | sed -e '/.o) has no symbols$$/d'\" or \"\"))\n_p('\\t$(SILENT) $(LINKCMD_NDX)')\nend\nelse\nif prj.msglinking then\n_p('\\t@echo ' .. prj.msglinking)\nelse\n_p('\\t@echo Linking %s', prj.name)\nend\n_p('\\t$(SILENT) $(LINKCMD)')\nend\n_p('\\t$(POSTBUILDCMDS)')\n_p('')\n_p('$(TARGETDIR):')\npremake.make_mkdirrule(\"$(TARGETDIR)\")\n_p('$(OBJDIRS):')\nif (not prj.solution.messageskip) or (not table.contains(prj.solution.messageskip, \"SkipCreatingMessage\")) then\n_p('\\t@echo Creating $(@)')\nend\n_p('\\t-$(call MKDIR,$@)')\n_p('')\nif os.is(\"MacOSX\") and"
|
||||
" prj.kind == \"WindowedApp\" then\n_p('$(dir $(TARGETDIR))PkgInfo:')\n_p('$(dir $(TARGETDIR))Info.plist:')\n_p('')\nend\n_p('clean:')\nif (not prj.solution.messageskip) or (not table.contains(prj.solution.messageskip, \"SkipCleaningMessage\")) then\n_p('\\t@echo Cleaning %s', prj.name)\nend\n_p('ifeq (posix,$(SHELLTYPE))')\n_p('\\t$(SILENT) rm -f $(TARGET)')\n_p('\\t$(SILENT) rm -rf $(OBJDIR)')\n_p('else')\n_p('\\t$(SILENT) if exist $(subst /,\\\\\\\\,$(TARGET)) del $(subst /,\\\\\\\\,$(TARGET))')\n_p('\\t$(SILENT) if exist $(subst /,\\\\\\\\,$(OBJDIR)) rmdir /s /q $(subst /,\\\\\\\\,$(OBJDIR))')\n_p('endif')\n_p('')\n_p('prebuild:')\n_p('\\t$(PREBUILDCMDS)')\n_p('')\n_p('prelink:')\n_p('\\t$(PRELINKCMDS)')\n_p('')\ncpp.pchrules(prj)\ncpp.fileRules(prj)\ncpp.dependencyRules(prj)\nfor _, custombuildtask in ipairs(prj.custombuildtask or {}) do\nfor _, buildtask in ipairs(custombuildtask or {}) do\nlocal deps = string.format(\"%s \",path.getrelative(prj.location,buildtask[1]))\nfor _, depdata in ipairs(buildtas"
|
||||
"k[3] or {}) do\ndeps = deps .. string.format(\"%s \",path.getrelative(prj.location,depdata))\nend\n_p('%s: %s'\n,path.getrelative(prj.location,buildtask[2])\n, deps\n)\nfor _, cmdline in ipairs(buildtask[4] or {}) do\nlocal cmd = cmdline\nlocal num = 1\nfor _, depdata in ipairs(buildtask[3] or {}) do\ncmd = string.gsub(cmd,\"%$%(\" .. num ..\"%)\", string.format(\"%s \",path.getrelative(prj.location,depdata)))\nnum = num + 1\nend\ncmd = string.gsub(cmd, \"%$%(<%)\", \"$<\")\ncmd = string.gsub(cmd, \"%$%(@%)\", \"$@\")\n \n_p('\\t$(SILENT) %s',cmd)\nend\n_p('')\nend\nend\n_p('-include $(OBJECTS:%%.o=%%.d)')\n_p('ifneq (,$(PCH))')\n_p(' -include $(OBJDIR)/$(notdir $(PCH)).d')\n_p('endif')\nend\nfunction premake.gmake_cpp_header(prj, cc, platforms)\n_p('# %s project makefile autogenerated by GENie', premake.action.current().shortname)\n_p('ifndef config')\n_p(' config=%s', _MAKE.esc(premake.getconfigname(prj.solution.configurations[1], platforms[1], true)))\n_p('endif')\n_p('')\n_p('ifndef verbose')\n_p(' SILE"
|
||||
"NT = @')\n_p('endif')\n_p('')\n_p('SHELLTYPE := msdos')\n_p('ifeq (,$(ComSpec)$(COMSPEC))')\n_p(' SHELLTYPE := posix')\n_p('endif')\n_p('ifeq (/bin,$(findstring /bin,$(SHELL)))')\n_p(' SHELLTYPE := posix')\n_p('endif')\n_p('ifeq (/bin,$(findstring /bin,$(MAKESHELL)))')\n_p(' SHELLTYPE := posix')\n_p('endif')\n_p('')\n_p('ifeq (posix,$(SHELLTYPE))')\n_p(' MKDIR = $(SILENT) mkdir -p \"$(1)\"')\n_p(' COPY = $(SILENT) cp -fR \"$(1)\" \"$(2)\"')\n_p(' RM= $(SILENT) rm -f \"$(1)\"')\n_p('else')\n_p(' MKDIR = $(SILENT) mkdir \"$(subst /,\\\\\\\\,$(1))\" 2> nul || exit 0')\n_p(' COPY = $(SILENT) copy /Y \"$(subst /,\\\\\\\\,$(1))\" \"$(subst /,\\\\\\\\,$(2))\"')\n_p(' RM = $(SILENT) del /F \"$(subst /,\\\\\\\\,$(1))\" 2> nul || exit 0')\n_p('endif')\n_p('')\n_p('CC = %s', cc.cc)\n_p('CXX = %s', cc.cxx)\n_p('AR = %s', cc.ar)\n_p('')\n_p('ifndef RESCOMP')\n_p(' ifdef WINDRES')\n_p(' RESCOMP = $(WINDRES)')\n_p(' else')\n_p(' RESCOMP = windres')\n_p(' endif')\n_p('endif')\n_p('')\nend\nfunction pr"
|
||||
"emake.gmake_cpp_config(prj, cfg, cc)\n_p('ifeq ($(config),%s)', _MAKE.esc(cfg.shortname))\ncpp.platformtools(cfg, cc)\n_p(' ' .. (table.contains(premake.make.override,\"OBJDIR\") and \"override \" or \"\") .. 'OBJDIR = %s', _MAKE.esc(cfg.objectsdir))\n_p(' ' .. (table.contains(premake.make.override,\"TARGETDIR\") and \"override \" or \"\") .. 'TARGETDIR = %s', _MAKE.esc(cfg.buildtarget.directory))\n_p(' ' .. (table.contains(premake.make.override,\"TARGET\") and \"override \" or \"\") .. 'TARGET = $(TARGETDIR)/%s', _MAKE.esc(cfg.buildtarget.name))\n_p(' DEFINES +=%s', make.list(cc.getdefines(cfg.defines)))\n_p(' INCLUDES +=%s', make.list(cc.getincludedirs(cfg.includedirs)))\ncpp.pchconfig(cfg)\ncpp.flags(cfg, cc)\ncpp.linker(prj, cfg, cc)\n_p(' OBJECTS := \\\\')\nfor _, file in ipairs(prj.files) do\nif path.iscppfile(file) then\nif not table.icontains(cfg.excludes, file) then\n_p('\\t$(OBJDIR)/%s.o \\\\'\n, _MAKE.esc(path.trimdots(path.removeext(file)))\n)\nend\nend\nend\n_p('')\n_p(' d"
|
||||
"efine PREBUILDCMDS')\nif #cfg.prebuildcommands > 0 then\n_p('\\t@echo Running pre-build commands')\n_p('\\t%s', table.implode(cfg.prebuildcommands, \"\", \"\", \"\\n\\t\"))\nend\n_p(' endef')\n_p(' define PRELINKCMDS')\nif #cfg.prelinkcommands > 0 then\n_p('\\t@echo Running pre-link commands')\n_p('\\t%s', table.implode(cfg.prelinkcommands, \"\", \"\", \"\\n\\t\"))\nend\n_p(' endef')\n_p(' define POSTBUILDCMDS')\nif #cfg.postbuildcommands > 0 then\n_p('\\t@echo Running post-build commands')\n_p('\\t%s', table.implode(cfg.postbuildcommands, \"\", \"\", \"\\n\\t\"))\nend\n_p(' endef')\nmake.settings(cfg, cc)\n_p('endif')\n_p('')\nend\nfunction cpp.platformtools(cfg, cc)\nlocal platform = cc.platforms[cfg.platform]\nif platform.cc then\n_p(' CC = %s', platform.cc)\nend\nif platform.cxx then\n_p(' CXX = %s', platform.cxx)\nend\nif platform.ar then\n_p(' AR = %s', platform.ar)\nend\nend\nfunction cpp.flags(cfg, cc)\nif cfg.pchheader and not cfg.flags.NoPCH then\n_p(' FORCE_INCLUDE +="
|
||||
" -include $(OBJDIR)/$(notdir $(PCH))')\nend\nif #cfg.forcedincludes > 0 then\n_p(' FORCE_INCLUDE += -include %s'\n,_MAKE.esc(table.concat(cfg.forcedincludes, \";\")))\nend\n_p(' ALL_CPPFLAGS += $(CPPFLAGS) %s $(DEFINES) $(INCLUDES)', table.concat(cc.getcppflags(cfg), \" \"))\n_p(' ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), cfg.buildoptions, cfg.buildoptions_c)))\n_p(' ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), cc.getcxxflags(cfg), cfg.buildoptions, cfg.buildoptions_cpp)))\n_p(' ALL_OBJCFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), cc.getcxxflags(cfg), cfg.buildoptions, cfg.buildoptions_objc)))\n_p(' ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)%s',\n make.list(table.join(cc.getdefines(cfg.resdefines),\n cc.getincludedirs(cfg.resincludedirs), cfg.resoptions)))\nend\nfunction cpp.linker(prj, cfg,"
|
||||
" cc)\n_p(' ALL_LDFLAGS += $(LDFLAGS)%s', make.list(table.join(cc.getlibdirflags(cfg), cc.getldflags(cfg), cfg.linkoptions)))\n_p(' LDDEPS +=%s', make.list(_MAKE.esc(premake.getlinks(cfg, \"siblings\", \"fullpath\"))))\n_p(' LIBS += $(LDDEPS)%s', make.list(cc.getlinkflags(cfg)))\nif cfg.kind == \"StaticLib\" then\nif cfg.platform:startswith(\"Universal\") then\n_p(' LINKCMD = libtool -o $(TARGET)')\nelse\nif (not prj.options.ArchiveSplit) then\nif cc.llvm then\n_p(' LINKCMD = $(AR) rcs $(TARGET)')\nelse\n_p(' LINKCMD = $(AR) -rcs $(TARGET)')\nend\nelse\nif cc.llvm then\n_p(' LINKCMD = $(AR) qc $(TARGET)')\n_p(' LINKCMD_NDX= $(AR) cs $(TARGET)')\nelse\n_p(' LINKCMD = $(AR) -qc $(TARGET)')\n_p(' LINKCMD_NDX= $(AR) -cs $(TARGET)')\nend\nend\nend\nelse\nlocal tool = iif(cfg.language == \"C\", \"CC\", \"CXX\")\n_p(' LINKCMD = $(%s) -o $(TARGET) $(OBJECTS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS)', tool)\nend\nend\nfunction cpp.pchconfig(cfg)\nif not cfg.pchheader or cfg.flag"
|
||||
"s.NoPCH then\nreturn\nend\nlocal pch = cfg.pchheader\nfor _, incdir in ipairs(cfg.includedirs) do\nlocal abspath = path.getabsolute(path.join(cfg.project.location, incdir))\nlocal testname = path.join(abspath, pch)\nif os.isfile(testname) then\npch = path.getrelative(cfg.location, testname)\nbreak\nend\nend\n_p(' PCH = %s', _MAKE.esc(pch))\n_p(' GCH = $(OBJDIR)/$(notdir $(PCH)).gch')\nend\nfunction cpp.pchrules(prj)\n_p('ifneq (,$(PCH))')\n_p('$(GCH): $(PCH)')\nif prj.msgprecompile then\n_p('\\t@echo ' .. prj.msgprecompile)\nelse\n_p('\\t@echo $(notdir $<)')\nend\nlocal cmd = iif(prj.language == \"C\", \"$(CC) $(ALL_CFLAGS) -x c-header\", \"$(CXX) $(ALL_CXXFLAGS) -x c++-header\")\n_p('\\t$(SILENT) %s -MMD -MP $(DEFINES) $(INCLUDES) -o \"$@\" -MF \"$(@:%%.gch=%%.d)\" -c \"$<\"', cmd)\n_p('endif')\n_p('')\nend\nfunction cpp.fileRules(prj)\nfor _, file in ipairs(prj.files or {}) do\nif path.iscppfile(file) then\n_p('$(OBJDIR)/%s.o: %s'\n, _MAKE.esc(path.trimdots(path.removeext(file)))\n, _MAKE.esc"
|
||||
"(file)\n)\nif (path.isobjcfile(file) and prj.msgcompile_objc) then\n_p('\\t@echo ' .. prj.msgcompile_objc)\nelseif prj.msgcompile then\n_p('\\t@echo ' .. prj.msgcompile)\nelse\n_p('\\t@echo $(notdir $<)')\nend\nif (path.isobjcfile(file)) then\n_p('\\t$(SILENT) $(CXX) $(ALL_OBJCFLAGS) $(FORCE_INCLUDE) -o \"$@\" -MF $(@:%%.o=%%.d) -c \"$<\"')\nelse\ncpp.buildcommand(path.iscfile(file) and not prj.options.ForceCPP, \"o\")\nend\nfor _, task in ipairs(prj.postcompiletasks or {}) do\n_p('\\t$(SILENT) %s', task)\n_p('')\nend\n_p('')\nelseif (path.getextension(file) == \".rc\") then\n_p('$(OBJDIR)/%s.res: %s', _MAKE.esc(path.getbasename(file)), _MAKE.esc(file))\nif prj.msgresource then\n_p('\\t@echo ' .. prj.msgresource)\nelse\n_p('\\t@echo $(notdir $<)')\nend\n_p('\\t$(SILENT) $(RESCOMP) $< -O coff -o \"$@\" $(ALL_RESFLAGS)')\n_p('')\nend\nend\nend\nfunction cpp.dependencyRules(prj)\nfor _, dependency in ipairs(prj.dependency or {}) do\nfor _, dep in ipairs(dependency or {}) do\nif (dep[3]==nil or dep[3]==false) then"
|
||||
"\n_p('$(OBJDIR)/%s.o: %s'\n, _MAKE.esc(path.trimdots(path.removeext(path.getrelative(prj.location, dep[1]))))\n, _MAKE.esc(path.getrelative(prj.location, dep[2]))\n)\nelse\n_p('%s: %s'\n, _MAKE.esc(dep[1])\n, _MAKE.esc(path.getrelative(prj.location, dep[2]))\n)\nend\n_p('')\nend\nend\nend\nfunction cpp.buildcommand(iscfile, objext)\nlocal flags = iif(iscfile, '$(CC) $(ALL_CFLAGS)', '$(CXX) $(ALL_CXXFLAGS)')\n_p('\\t$(SILENT) %s $(FORCE_INCLUDE) -o \"$@\" -MF $(@:%%.%s=%%.d) -c \"$<\"', flags, objext)\nend\n",
|
||||
"('\\t%s \\\\', dir)\nend\n_p('')\n_p('RESOURCES := \\\\')\nfor _, file in ipairs(prj.files) do\nif path.isresourcefile(file) then\n_p('\\t$(OBJDIR)/%s.res \\\\', _MAKE.esc(path.getbasename(file)))\nend\nend\n_p('')\n_p('.PHONY: clean prebuild prelink')\n_p('')\nif os.is(\"MacOSX\") and prj.kind == \"WindowedApp\" then\n_p('all: $(OBJDIRS) prebuild prelink $(TARGET) $(dir $(TARGETDIR))PkgInfo $(dir $(TARGETDIR))Info.plist | $(TARGETDIR)')\nelse\n_p('all: $(OBJDIRS) prebuild prelink $(TARGET) | $(TARGETDIR)')\nend\n_p('\\t@:')\n_p('')\nif (prj.kind == \"StaticLib\" and prj.options.ArchiveSplit) then\n_p('define max_args')\n_p('\\t$(eval _args:=)')\n_p('\\t$(foreach obj,$3,$(eval _args+=$(obj))$(if $(word $2,$(_args)),$1$(_args)$(EOL)$(eval _args:=)))')\n_p('\\t$(if $(_args),$1$(_args))')\n_p('endef')\n_p('')\n_p('define EOL')\n_p('')\n_p('')\n_p('endef')\n_p('')\nend\n_p('$(TARGET): $(GCH) $(OBJECTS) $(LDDEPS) $(RESOURCES) | $(TARGETDIR) $(OBJDIRS)')\nif prj.kind == \"StaticLib\" then\nif prj.msgarchiving then\n"
|
||||
"_p('\\t@echo ' .. prj.msgarchiving)\nelse\n_p('\\t@echo Archiving %s', prj.name)\nend\nif (not prj.archivesplit_size) then\nprj.archivesplit_size=200\nend\nif (not prj.options.ArchiveSplit) then\n_p('\\t$(SILENT) $(LINKCMD) $(OBJECTS)' .. (os.is(\"MacOSX\") and \" 2>&1 > /dev/null | sed -e '/.o) has no symbols$$/d'\" or \"\"))\nelse\n_p('\\t$(call RM,$(TARGET))')\n_p('\\t@$(call max_args,$(LINKCMD),'.. prj.archivesplit_size ..',$(OBJECTS))' .. (os.is(\"MacOSX\") and \" 2>&1 > /dev/null | sed -e '/.o) has no symbols$$/d'\" or \"\"))\n_p('\\t$(SILENT) $(LINKCMD_NDX)')\nend\nelse\nif prj.msglinking then\n_p('\\t@echo ' .. prj.msglinking)\nelse\n_p('\\t@echo Linking %s', prj.name)\nend\n_p('\\t$(SILENT) $(LINKCMD)')\nend\n_p('\\t$(POSTBUILDCMDS)')\n_p('')\n_p('$(TARGETDIR):')\npremake.make_mkdirrule(\"$(TARGETDIR)\")\n_p('$(OBJDIRS):')\nif (not prj.solution.messageskip) or (not table.contains(prj.solution.messageskip, \"SkipCreatingMessage\")) then\n_p('\\t@echo Creating $(@)')\nend\n_p('\\t-$(call MKDIR,$@)')\n_p"
|
||||
"('')\nif os.is(\"MacOSX\") and prj.kind == \"WindowedApp\" then\n_p('$(dir $(TARGETDIR))PkgInfo:')\n_p('$(dir $(TARGETDIR))Info.plist:')\n_p('')\nend\n_p('clean:')\nif (not prj.solution.messageskip) or (not table.contains(prj.solution.messageskip, \"SkipCleaningMessage\")) then\n_p('\\t@echo Cleaning %s', prj.name)\nend\n_p('ifeq (posix,$(SHELLTYPE))')\n_p('\\t$(SILENT) rm -f $(TARGET)')\n_p('\\t$(SILENT) rm -rf $(OBJDIR)')\n_p('else')\n_p('\\t$(SILENT) if exist $(subst /,\\\\\\\\,$(TARGET)) del $(subst /,\\\\\\\\,$(TARGET))')\n_p('\\t$(SILENT) if exist $(subst /,\\\\\\\\,$(OBJDIR)) rmdir /s /q $(subst /,\\\\\\\\,$(OBJDIR))')\n_p('endif')\n_p('')\n_p('prebuild:')\n_p('\\t$(PREBUILDCMDS)')\n_p('')\n_p('prelink:')\n_p('\\t$(PRELINKCMDS)')\n_p('')\ncpp.pchrules(prj)\ncpp.fileRules(prj)\ncpp.dependencyRules(prj)\nfor _, custombuildtask in ipairs(prj.custombuildtask or {}) do\nfor _, buildtask in ipairs(custombuildtask or {}) do\nlocal deps = string.format(\"%s \",path.getrelative(prj.location,buildtask[1]))\nfor"
|
||||
" _, depdata in ipairs(buildtask[3] or {}) do\ndeps = deps .. string.format(\"%s \",path.getrelative(prj.location,depdata))\nend\n_p('%s: %s | $(TARGETDIR) $(OBJDIRS)'\n,path.getrelative(prj.location,buildtask[2])\n, deps\n)\nfor _, cmdline in ipairs(buildtask[4] or {}) do\nlocal cmd = cmdline\nlocal num = 1\nfor _, depdata in ipairs(buildtask[3] or {}) do\ncmd = string.gsub(cmd,\"%$%(\" .. num ..\"%)\", string.format(\"%s \",path.getrelative(prj.location,depdata)))\nnum = num + 1\nend\ncmd = string.gsub(cmd, \"%$%(<%)\", \"$<\")\ncmd = string.gsub(cmd, \"%$%(@%)\", \"$@\")\n_p('\\t$(SILENT) %s',cmd)\nend\n_p('')\nend\nend\n_p('-include $(OBJECTS:%%.o=%%.d)')\n_p('ifneq (,$(PCH))')\n_p(' -include $(OBJDIR)/$(notdir $(PCH)).d')\n_p('endif')\nend\nfunction premake.gmake_cpp_header(prj, cc, platforms)\n_p('# %s project makefile autogenerated by GENie', premake.action.current().shortname)\n_p('ifndef config')\n_p(' config=%s', _MAKE.esc(premake.getconfigname(prj.solution.configurations[1], platforms[1], true)))\n"
|
||||
"_p('endif')\n_p('')\n_p('ifndef verbose')\n_p(' SILENT = @')\n_p('endif')\n_p('')\n_p('SHELLTYPE := msdos')\n_p('ifeq (,$(ComSpec)$(COMSPEC))')\n_p(' SHELLTYPE := posix')\n_p('endif')\n_p('ifeq (/bin,$(findstring /bin,$(SHELL)))')\n_p(' SHELLTYPE := posix')\n_p('endif')\n_p('ifeq (/bin,$(findstring /bin,$(MAKESHELL)))')\n_p(' SHELLTYPE := posix')\n_p('endif')\n_p('')\n_p('ifeq (posix,$(SHELLTYPE))')\n_p(' MKDIR = $(SILENT) mkdir -p \"$(1)\"')\n_p(' COPY = $(SILENT) cp -fR \"$(1)\" \"$(2)\"')\n_p(' RM= $(SILENT) rm -f \"$(1)\"')\n_p('else')\n_p(' MKDIR = $(SILENT) mkdir \"$(subst /,\\\\\\\\,$(1))\" 2> nul || exit 0')\n_p(' COPY = $(SILENT) copy /Y \"$(subst /,\\\\\\\\,$(1))\" \"$(subst /,\\\\\\\\,$(2))\"')\n_p(' RM = $(SILENT) del /F \"$(subst /,\\\\\\\\,$(1))\" 2> nul || exit 0')\n_p('endif')\n_p('')\n_p('CC = %s', cc.cc)\n_p('CXX = %s', cc.cxx)\n_p('AR = %s', cc.ar)\n_p('')\n_p('ifndef RESCOMP')\n_p(' ifdef WINDRES')\n_p(' RESCOMP = $(WINDRES)')\n_p(' else')\n_p(' RESCOMP = windres')"
|
||||
"\n_p(' endif')\n_p('endif')\n_p('')\nend\nfunction premake.gmake_cpp_config(prj, cfg, cc)\n_p('ifeq ($(config),%s)', _MAKE.esc(cfg.shortname))\ncpp.platformtools(cfg, cc)\n_p(' ' .. (table.contains(premake.make.override,\"OBJDIR\") and \"override \" or \"\") .. 'OBJDIR = %s', _MAKE.esc(cfg.objectsdir))\n_p(' ' .. (table.contains(premake.make.override,\"TARGETDIR\") and \"override \" or \"\") .. 'TARGETDIR = %s', _MAKE.esc(cfg.buildtarget.directory))\n_p(' ' .. (table.contains(premake.make.override,\"TARGET\") and \"override \" or \"\") .. 'TARGET = $(TARGETDIR)/%s', _MAKE.esc(cfg.buildtarget.name))\n_p(' DEFINES +=%s', make.list(cc.getdefines(cfg.defines)))\n_p(' INCLUDES +=%s', make.list(cc.getincludedirs(cfg.includedirs)))\ncpp.pchconfig(cfg)\ncpp.flags(cfg, cc)\ncpp.linker(prj, cfg, cc)\n_p(' OBJECTS := \\\\')\nfor _, file in ipairs(prj.files) do\nif path.iscppfile(file) then\nif not table.icontains(cfg.excludes, file) then\n_p('\\t$(OBJDIR)/%s.o \\\\'\n, _MAKE.esc(path.trimdots(pat"
|
||||
"h.removeext(file)))\n)\nend\nend\nend\n_p('')\n_p(' define PREBUILDCMDS')\nif #cfg.prebuildcommands > 0 then\n_p('\\t@echo Running pre-build commands')\n_p('\\t%s', table.implode(cfg.prebuildcommands, \"\", \"\", \"\\n\\t\"))\nend\n_p(' endef')\n_p(' define PRELINKCMDS')\nif #cfg.prelinkcommands > 0 then\n_p('\\t@echo Running pre-link commands')\n_p('\\t%s', table.implode(cfg.prelinkcommands, \"\", \"\", \"\\n\\t\"))\nend\n_p(' endef')\n_p(' define POSTBUILDCMDS')\nif #cfg.postbuildcommands > 0 then\n_p('\\t@echo Running post-build commands')\n_p('\\t%s', table.implode(cfg.postbuildcommands, \"\", \"\", \"\\n\\t\"))\nend\n_p(' endef')\nmake.settings(cfg, cc)\n_p('endif')\n_p('')\nend\nfunction cpp.platformtools(cfg, cc)\nlocal platform = cc.platforms[cfg.platform]\nif platform.cc then\n_p(' CC = %s', platform.cc)\nend\nif platform.cxx then\n_p(' CXX = %s', platform.cxx)\nend\nif platform.ar then\n_p(' AR = %s', platform.ar)\nend\nend\nfunction cpp.flags(cfg, cc)\nif cfg.pchheade"
|
||||
"r and not cfg.flags.NoPCH then\n_p(' FORCE_INCLUDE += -include $(OBJDIR)/$(notdir $(PCH))')\nend\nif #cfg.forcedincludes > 0 then\n_p(' FORCE_INCLUDE += -include %s'\n,_MAKE.esc(table.concat(cfg.forcedincludes, \";\")))\nend\n_p(' ALL_CPPFLAGS += $(CPPFLAGS) %s $(DEFINES) $(INCLUDES)', table.concat(cc.getcppflags(cfg), \" \"))\n_p(' ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), cfg.buildoptions, cfg.buildoptions_c)))\n_p(' ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), cc.getcxxflags(cfg), cfg.buildoptions, cfg.buildoptions_cpp)))\n_p(' ALL_OBJCFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), cc.getcxxflags(cfg), cfg.buildoptions, cfg.buildoptions_objc)))\n_p(' ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)%s',\n make.list(table.join(cc.getdefines(cfg.resdefines),\n cc.getincludedirs(cfg.resincludedirs),"
|
||||
" cfg.resoptions)))\nend\nfunction cpp.linker(prj, cfg, cc)\n_p(' ALL_LDFLAGS += $(LDFLAGS)%s', make.list(table.join(cc.getlibdirflags(cfg), cc.getldflags(cfg), cfg.linkoptions)))\n_p(' LDDEPS +=%s', make.list(_MAKE.esc(premake.getlinks(cfg, \"siblings\", \"fullpath\"))))\n_p(' LIBS += $(LDDEPS)%s', make.list(cc.getlinkflags(cfg)))\nif cfg.kind == \"StaticLib\" then\nif (not prj.options.ArchiveSplit) then\n_p(' LINKCMD = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, false)))\nelse\n_p(' LINKCMD = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, false)))\n_p(' LINKCMD_NDX= $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, true)))\nend\nelse\nlocal tool = iif(cfg.language == \"C\", \"CC\", \"CXX\")\n_p(' LINKCMD = $(%s) -o $(TARGET) $(OBJECTS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS)', tool)\nend\nend\nfunction cpp.pchconfig(cfg)\nif not cfg.pchheader or cfg.flags.NoPCH then\nreturn\nend\nlocal pch = cfg.pchheader\nfor _, incdir in ipairs(cfg.include"
|
||||
"dirs) do\nlocal abspath = path.getabsolute(path.join(cfg.project.location, incdir))\nlocal testname = path.join(abspath, pch)\nif os.isfile(testname) then\npch = path.getrelative(cfg.location, testname)\nbreak\nend\nend\n_p(' PCH = %s', _MAKE.esc(pch))\n_p(' GCH = $(OBJDIR)/$(notdir $(PCH)).gch')\nend\nfunction cpp.pchrules(prj)\n_p('ifneq (,$(PCH))')\n_p('$(GCH): $(PCH) | $(OBJDIR)')\nif prj.msgprecompile then\n_p('\\t@echo ' .. prj.msgprecompile)\nelse\n_p('\\t@echo $(notdir $<)')\nend\nlocal cmd = iif(prj.language == \"C\", \"$(CC) $(ALL_CFLAGS) -x c-header\", \"$(CXX) $(ALL_CXXFLAGS) -x c++-header\")\n_p('\\t$(SILENT) %s $(DEFINES) $(INCLUDES) -o \"$@\" -c \"$<\"', cmd)\n_p('endif')\n_p('')\nend\nfunction cpp.fileRules(prj)\nfor _, file in ipairs(prj.files or {}) do\nif path.iscppfile(file) then\n_p('$(OBJDIR)/%s.o: %s $(GCH)'\n, _MAKE.esc(path.trimdots(path.removeext(file)))\n, _MAKE.esc(file)\n)\nif (path.isobjcfile(file) and prj.msgcompile_objc) then\n_p('\\t@echo ' .. prj.msgcompile_obj"
|
||||
"c)\nelseif prj.msgcompile then\n_p('\\t@echo ' .. prj.msgcompile)\nelse\n_p('\\t@echo $(notdir $<)')\nend\nif (path.isobjcfile(file)) then\n_p('\\t$(SILENT) $(CXX) $(ALL_OBJCFLAGS) $(FORCE_INCLUDE) -o \"$@\" -c \"$<\"')\nelse\ncpp.buildcommand(path.iscfile(file) and not prj.options.ForceCPP, \"o\")\nend\nfor _, task in ipairs(prj.postcompiletasks or {}) do\n_p('\\t$(SILENT) %s', task)\n_p('')\nend\n_p('')\nelseif (path.getextension(file) == \".rc\") then\n_p('$(OBJDIR)/%s.res: %s', _MAKE.esc(path.getbasename(file)), _MAKE.esc(file))\nif prj.msgresource then\n_p('\\t@echo ' .. prj.msgresource)\nelse\n_p('\\t@echo $(notdir $<)')\nend\n_p('\\t$(SILENT) $(RESCOMP) $< -O coff -o \"$@\" $(ALL_RESFLAGS)')\n_p('')\nend\nend\nend\nfunction cpp.dependencyRules(prj)\nfor _, dependency in ipairs(prj.dependency or {}) do\nfor _, dep in ipairs(dependency or {}) do\nif (dep[3]==nil or dep[3]==false) then\n_p('$(OBJDIR)/%s.o: %s'\n, _MAKE.esc(path.trimdots(path.removeext(path.getrelative(prj.location, dep[1]))))\n, _MAKE.esc("
|
||||
"path.getrelative(prj.location, dep[2]))\n)\nelse\n_p('%s: %s'\n, _MAKE.esc(dep[1])\n, _MAKE.esc(path.getrelative(prj.location, dep[2]))\n)\nend\n_p('')\nend\nend\nend\nfunction cpp.buildcommand(iscfile, objext)\nlocal flags = iif(iscfile, '$(CC) $(ALL_CFLAGS)', '$(CXX) $(ALL_CXXFLAGS)')\n_p('\\t$(SILENT) %s $(FORCE_INCLUDE) -o \"$@\" -c \"$<\"', flags, objext)\nend\n",
|
||||
|
||||
/* actions/make/make_csharp.lua */
|
||||
"local function getresourcefilename(cfg, fname)\nif path.getextension(fname) == \".resx\" then\n local name = cfg.buildtarget.basename .. \".\"\n local dir = path.getdirectory(fname)\n if dir ~= \".\" then \nname = name .. path.translate(dir, \".\") .. \".\"\nend\nreturn \"$(OBJDIR)/\" .. _MAKE.esc(name .. path.getbasename(fname)) .. \".resources\"\nelse\nreturn fname\nend\nend\nfunction premake.make_csharp(prj)\nlocal csc = premake.dotnet\nlocal cfglibs = { }\nlocal cfgpairs = { }\nlocal anycfg\nfor cfg in premake.eachconfig(prj) do\nanycfg = cfg\ncfglibs[cfg] = premake.getlinks(cfg, \"siblings\", \"fullpath\")\ncfgpairs[cfg] = { }\nfor _, fname in ipairs(cfglibs[cfg]) do\nif path.getdirectory(fname) ~= cfg.buildtarget.directory then\ncfgpairs[cfg][\"$(TARGETDIR)/\" .. _MAKE.esc(path.getname(fname))] = _MAKE.esc(fname)\nend\nend\nend\nlocal sources = {}\nlocal embedded = { }\nlocal copypairs = { }\nfor fcfg in premake.project.eachfile(prj) do\nlocal action = csc.getbuildaction(fcfg)\nif action == \"Co"
|
||||
@ -218,8 +224,8 @@ const char* builtin_scripts[] = {
|
||||
"ed\")\nend\nif hasdotnet and (_ACTION < \"vs2010\" or not hascpp) then\ntable.insert(platforms, 1, \"any\")\nend\nif _ACTION > \"vs2008\" then\nlocal platforms2010 = { }\nfor _, platform in ipairs(platforms) do\nif vstudio.platforms[platform] == \"Win32\" then\nif hascpp then\ntable.insert(platforms2010, platform)\nend\nif hasdotnet then\ntable.insert(platforms2010, \"x86\")\nend\nelse\ntable.insert(platforms2010, platform)\nend\nend\nplatforms = platforms2010\nend\nfor _, buildcfg in ipairs(sln.configurations) do\nfor _, platform in ipairs(platforms) do\nlocal entry = { }\nentry.src_buildcfg = buildcfg\nentry.src_platform = platform\nif platform ~= \"PS3\" or _ACTION > \"vs2008\" then\nentry.buildcfg = buildcfg\nentry.platform = vstudio.platforms[platform]\nelse\nentry.buildcfg = platform .. \" \" .. buildcfg\nentry.platform = \"Win32\"\nend\nentry.name = entry.buildcfg .. \"|\" .. entry.platform\nentry.isreal = (platform ~= \"any\" and platform ~= \"mixed\")\ntable.insert(cfgs, entry)\nend\nend\nreturn cfgs"
|
||||
"\nend\nfunction vstudio.cleansolution(sln)\npremake.clean.file(sln, \"%%.sln\")\npremake.clean.file(sln, \"%%.suo\")\npremake.clean.file(sln, \"%%.ncb\")\npremake.clean.file(sln, \"%%.userprefs\")\npremake.clean.file(sln, \"%%.usertasks\")\nend\nfunction vstudio.cleanproject(prj)\nlocal fname = premake.project.getfilename(prj, \"%%\")\nos.remove(fname .. \".vcproj\")\nos.remove(fname .. \".vcproj.user\")\nos.remove(fname .. \".vcxproj\")\nos.remove(fname .. \".vcxproj.user\")\nos.remove(fname .. \".vcxproj.filters\")\nos.remove(fname .. \".csproj\")\nos.remove(fname .. \".csproj.user\")\nos.remove(fname .. \".pidb\")\nos.remove(fname .. \".sdf\")\nend\nfunction vstudio.cleantarget(name)\nos.remove(name .. \".pdb\")\nos.remove(name .. \".idb\")\nos.remove(name .. \".ilk\")\nos.remove(name .. \".vshost.exe\")\nos.remove(name .. \".exe.manifest\")\nend\nfunction vstudio.projectfile(prj)\nlocal pattern\nif prj.language == \"C#\" then\npattern = \"%%.csproj\"\nelse\npattern = iif(_ACTION > \"vs2008\", \"%%.vcxproj"
|
||||
"\", \"%%.vcproj\")\nend\nlocal fname = premake.project.getbasename(prj.name, pattern)\nfname = path.join(prj.location, fname)\nreturn fname\nend\nfunction vstudio.tool(prj)\nif (prj.language == \"C#\") then\nreturn \"FAE04EC0-301F-11D3-BF4B-00C04F79EFBC\"\nelse\nreturn \"8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942\"\nend\nend\nnewaction {\ntrigger = \"vs2008\",\nshortname = \"Visual Studio 2008\",\ndescription = \"Generate Microsoft Visual Studio 2008 project files\",\nos = \"windows\",\nvalid_kinds = { \"ConsoleApp\", \"WindowedApp\", \"StaticLib\", \"SharedLib\" },\nvalid_languages = { \"C\", \"C++\", \"C#\" },\nvalid_tools = {\ncc = { \"msc\" },\ndotnet = { \"msnet\" },\n},\nonsolution = function(sln)\npremake.generate(sln, \"%%.sln\", vstudio.sln2005.generate)\nend,\nonproject = function(prj)\nif premake.isdotnetproject(prj) then\npremake.generate(prj, \"%%.csproj\", vstudio.cs2005.generate)\npremake.generate(prj, \"%%.csproj.user\", vstudio.cs2005.generate_user)\nelse"
|
||||
"\npremake.generate(prj, \"%%.vcproj\", vstudio.vc200x.generate)\npremake.generate(prj, \"%%.vcproj.user\", vstudio.vc200x.generate_user)\nend\nend,\noncleansolution = vstudio.cleansolution,\noncleanproject = vstudio.cleanproject,\noncleantarget = vstudio.cleantarget,\nvstudio = {\nproductVersion = \"9.0.21022\",\nsolutionVersion = \"10\",\ntoolsVersion = \"3.5\",\n}\n}\nnewaction\n{\ntrigger = \"vs2010\",\nshortname = \"Visual Studio 2010\",\ndescription = \"Generate Microsoft Visual Studio 2010 project files\",\nos = \"windows\",\nvalid_kinds = { \"ConsoleApp\", \"WindowedApp\", \"StaticLib\", \"SharedLib\" },\nvalid_languages = { \"C\", \"C++\", \"C#\"},\nvalid_tools = {\ncc = { \"msc\" },\ndotnet = { \"msnet\" },\n},\nonsolution = function(sln)\npremake.generate(sln, \"%%.sln\", vstudio.sln2005.generate)\nend,\nonproject = function(prj)\nif premake.isdotnetproject(prj) then\npremake.generate(prj, \"%%.csproj\", vstudio.cs2005.generate)\npremake.generate(pr"
|
||||
"j, \"%%.csproj.user\", vstudio.cs2005.generate_user)\nelse\npremake.generate(prj, \"%%.vcxproj\", premake.vs2010_vcxproj)\npremake.generate(prj, \"%%.vcxproj.user\", premake.vs2010_vcxproj_user)\npremake.generate(prj, \"%%.vcxproj.filters\", vstudio.vc2010.generate_filters)\nend\nend,\noncleansolution = premake.vstudio.cleansolution,\noncleanproject = premake.vstudio.cleanproject,\noncleantarget = premake.vstudio.cleantarget,\nvstudio = {\nproductVersion = \"8.0.30703\",\nsolutionVersion = \"11\",\ntargetFramework = \"4.0\",\ntoolsVersion = \"4.0\",\n}\n}\n",
|
||||
"\npremake.generate(prj, \"%%.vcproj\", vstudio.vc200x.generate)\npremake.generate(prj, \"%%.vcproj.user\", vstudio.vc200x.generate_user)\nend\nend,\noncleansolution = vstudio.cleansolution,\noncleanproject = vstudio.cleanproject,\noncleantarget = vstudio.cleantarget,\nvstudio = {\nproductVersion = \"9.0.21022\",\nsolutionVersion = \"10\",\ntoolsVersion = \"3.5\",\nsupports64bitEditContinue = false,\n}\n}\nnewaction\n{\ntrigger = \"vs2010\",\nshortname = \"Visual Studio 2010\",\ndescription = \"Generate Microsoft Visual Studio 2010 project files\",\nos = \"windows\",\nvalid_kinds = { \"ConsoleApp\", \"WindowedApp\", \"StaticLib\", \"SharedLib\" },\nvalid_languages = { \"C\", \"C++\", \"C#\"},\nvalid_tools = {\ncc = { \"msc\" },\ndotnet = { \"msnet\" },\n},\nonsolution = function(sln)\npremake.generate(sln, \"%%.sln\", vstudio.sln2005.generate)\nend,\nonproject = function(prj)\nif premake.isdotnetproject(prj) then\npremake.generate(prj, \"%%.csproj\", vstudio.c"
|
||||
"s2005.generate)\npremake.generate(prj, \"%%.csproj.user\", vstudio.cs2005.generate_user)\nelse\npremake.generate(prj, \"%%.vcxproj\", premake.vs2010_vcxproj)\npremake.generate(prj, \"%%.vcxproj.user\", premake.vs2010_vcxproj_user)\npremake.generate(prj, \"%%.vcxproj.filters\", vstudio.vc2010.generate_filters)\nend\nend,\noncleansolution = premake.vstudio.cleansolution,\noncleanproject = premake.vstudio.cleanproject,\noncleantarget = premake.vstudio.cleantarget,\nvstudio = {\nproductVersion = \"8.0.30703\",\nsolutionVersion = \"11\",\ntargetFramework = \"4.0\",\ntoolsVersion = \"4.0\",\nsupports64bitEditContinue = false,\n}\n}\n",
|
||||
|
||||
/* actions/vstudio/vs200x_vcproj.lua */
|
||||
"premake.vstudio.vc200x = { }\nlocal vc200x = premake.vstudio.vc200x\nlocal tree = premake.tree\nlocal function bool(value)\nreturn iif(value, \"true\", \"false\")\nend\nfunction vc200x.optimization(cfg)\nlocal result = 0\nfor _, value in ipairs(cfg.flags) do\nif (value == \"Optimize\") then\nresult = 3\nelseif (value == \"OptimizeSize\") then\nresult = 1\nelseif (value == \"OptimizeSpeed\") then\nresult = 2\nend\nend\nreturn result\nend\nfunction vc200x.header(element)\nio.eol = \"\\r\\n\"\n_p('<?xml version=\"1.0\" encoding=\"Windows-1252\"?>')\n_p('<%s', element)\n_p(1,'ProjectType=\"Visual C++\"')\n_p(1,'Version=\"9.00\"')\nend\nfunction vc200x.Configuration(name, cfg)\n_p(2,'<Configuration')\n_p(3,'Name=\"%s\"', premake.esc(name))\n_p(3,'OutputDirectory=\"%s\"', premake.esc(cfg.buildtarget.directory))\n_p(3,'IntermediateDirectory=\"%s\"', premake.esc(cfg.objectsdir))\nlocal cfgtype\nif (cfg.kind == \"SharedLib\") then\ncfgtype = 2\nelseif (cfg.kind == \"StaticLib\") then\ncfgtype = 4\nelse\ncfgtype = 1\nen"
|
||||
@ -270,24 +276,24 @@ const char* builtin_scripts[] = {
|
||||
"config_and_platform() ..'>', premake.esc(cfginfo.name))\n_p(2,'<OutDir>%s</OutDir>', premake.esc(outdir))\nif cfg.platform == \"Xbox360\" then\n_p(2,'<OutputFile>$(OutDir)%s</OutputFile>', premake.esc(target.name))\nend\n_p(2,'<IntDir>%s</IntDir>', premake.esc(intdir))\n_p(2,'<TargetName>%s</TargetName>', premake.esc(path.getbasename(target.name)))\n_p(2,'<TargetExt>%s</TargetExt>', premake.esc(path.getextension(target.name)))\nif cfg.kind == \"SharedLib\" then\nlocal ignore = (cfg.flags.NoImportLib ~= nil)\n _p(2,'<IgnoreImportLibrary>%s</IgnoreImportLibrary>', tostring(ignore))\nend\nif cfg.kind ~= \"StaticLib\" then\n_p(2,'<LinkIncremental>%s</LinkIncremental>', tostring(premake.config.isincrementallink(cfg)))\nend\nif cfg.flags.NoManifest then\n_p(2,'<GenerateManifest>false</GenerateManifest>')\nend\n_p(1,'</PropertyGroup>')\nend\nend\nlocal function runtime(cfg)\nlocal runtime\nlocal flags = cfg.flags\nif premake.config.isdebugbuild(cfg) then\nruntime = iif(flags.StaticRuntime and not flags.Managed, \"Mul"
|
||||
"tiThreadedDebug\", \"MultiThreadedDebugDLL\")\nelse\nruntime = iif(flags.StaticRuntime and not flags.Managed, \"MultiThreaded\", \"MultiThreadedDLL\")\nend\nreturn runtime\nend\nlocal function precompiled_header(cfg)\n if not cfg.flags.NoPCH and cfg.pchheader then\n_p(3,'<PrecompiledHeader>Use</PrecompiledHeader>')\n_p(3,'<PrecompiledHeaderFile>%s</PrecompiledHeaderFile>', cfg.pchheader)\nelse\n_p(3,'<PrecompiledHeader></PrecompiledHeader>')\nend\nend\nlocal function preprocessor(indent,cfg)\nif #cfg.defines > 0 then\n_p(indent,'<PreprocessorDefinitions>%s;%%(PreprocessorDefinitions)</PreprocessorDefinitions>'\n,premake.esc(table.concat(cfg.defines, \";\")))\nelse\n_p(indent,'<PreprocessorDefinitions></PreprocessorDefinitions>')\nend\nend\nlocal function include_dirs(indent,cfg)\nif #cfg.includedirs > 0 then\n_p(indent,'<AdditionalIncludeDirectories>%s;%%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>'\n,premake.esc(path.translate(table.concat(cfg.includedirs, \";\"), '\\\\')))\nend\nend\nlo"
|
||||
"cal function resource_compile(cfg)\n_p(2,'<ResourceCompile>')\npreprocessor(3,cfg)\ninclude_dirs(3,cfg)\n_p(2,'</ResourceCompile>')\nend\nlocal function exceptions(cfg)\nif cfg.flags.NoExceptions then\n_p(2,'<ExceptionHandling>false</ExceptionHandling>')\nelseif cfg.flags.SEH then\n_p(2,'<ExceptionHandling>Async</ExceptionHandling>')\nend\nend\nlocal function rtti(cfg)\nif cfg.flags.NoRTTI and not cfg.flags.Managed then\n_p(3,'<RuntimeTypeInfo>false</RuntimeTypeInfo>')\nend\nend\nlocal function calling_convention(cfg)\nif cfg.flags.FastCall then\n_p(3,'<CallingConvention>FastCall</CallingConvention>')\nelseif cfg.flags.StdCall then\n_p(3,'<CallingConvention>StdCall</CallingConvention>')\nend\nend\nlocal function wchar_t_buildin(cfg)\nif cfg.flags.NativeWChar then\n_p(3,'<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>')\nelseif cfg.flags.NoNativeWChar then\n_p(3,'<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>')\nend\nend\nlocal function sse(cfg)\nif cfg.flags.EnableSSE then\n_p(3,'<Ena"
|
||||
"bleEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>')\nelseif cfg.flags.EnableSSE2 then\n_p(3,'<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>')\nend\nend\nlocal function floating_point(cfg)\n if cfg.flags.FloatFast then\n_p(3,'<FloatingPointModel>Fast</FloatingPointModel>')\nelseif cfg.flags.FloatStrict and not cfg.flags.Managed then\n_p(3,'<FloatingPointModel>Strict</FloatingPointModel>')\nend\nend\nlocal function debug_info(cfg)\nlocal debug_info = ''\nif cfg.flags.Symbols then\nif cfg.platform == \"x64\"\nor cfg.flags.Managed\nor premake.config.isoptimizedbuild(cfg.flags)\nor cfg.flags.NoEditAndContinue\nthen\ndebug_info = \"ProgramDatabase\"\nelse\ndebug_info = \"EditAndContinue\"\nend\nend\n_p(3,'<DebugInformationFormat>%s</DebugInformationFormat>',debug_info)\nend\nlocal function minimal_build(cfg)\nif premake.config.isdebugbuild(cfg) and cfg.flags.EnableMinimalRebuild then\n_p(3,'<MinimalRebuild>true</MinimalRebuild>')\nelse\n_p(3,'"
|
||||
"<MinimalRebuild>false</MinimalRebuild>')\nend\nend\nlocal function compile_language(cfg)\nif cfg.options.ForceCPP then\n_p(3,'<CompileAs>CompileAsCpp</CompileAs>')\nelse\nif cfg.language == \"C\" then\n_p(3,'<CompileAs>CompileAsC</CompileAs>')\nend\nend\nend\nlocal function forcedinclude_files(indent,cfg)\nif #cfg.forcedincludes > 0 then\n_p(indent,'<ForcedIncludeFiles>%s</ForcedIncludeFiles>'\n,premake.esc(path.translate(table.concat(cfg.forcedincludes, \";\"), '\\\\')))\nend\nend\nlocal function vs10_clcompile(cfg)\n_p(2,'<ClCompile>')\n_p(3,'<AdditionalOptions>%s %s%%(AdditionalOptions)</AdditionalOptions>'\n, table.concat(premake.esc(cfg.buildoptions), \" \")\n, iif(cfg.flags.UnsignedChar, \"/J \", \" \")\n)\n_p(3,'<Optimization>%s</Optimization>',optimisation(cfg))\ninclude_dirs(3,cfg)\npreprocessor(3,cfg)\nminimal_build(cfg)\nif not premake.config.isoptimizedbuild(cfg.flags) then\nif not cfg.flags.Managed then\n_p(3,'<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>')\nend\nif cfg.flags.ExtraWar"
|
||||
"nings then\nend\nelse\n_p(3,'<StringPooling>true</StringPooling>')\nend\n_p(3,'<RuntimeLibrary>%s</RuntimeLibrary>', runtime(cfg))\n_p(3,'<FunctionLevelLinking>true</FunctionLevelLinking>')\nif not cfg.flags.NoMultiProcessorCompilation and not cfg.flags.EnableMinimalRebuild then\n_p(3,'<MultiProcessorCompilation>true</MultiProcessorCompilation>')\nelse\n_p(3,'<MultiProcessorCompilation>false</MultiProcessorCompilation>')\nend\nprecompiled_header(cfg)\nif cfg.flags.ExtraWarnings then\n_p(3,'<WarningLevel>Level4</WarningLevel>')\nelse\n_p(3,'<WarningLevel>Level3</WarningLevel>')\nend\nif cfg.flags.FatalWarnings then\n_p(3,'<TreatWarningAsError>true</TreatWarningAsError>')\nend\nexceptions(cfg)\nrtti(cfg)\ncalling_convention(cfg)\nwchar_t_buildin(cfg)\nsse(cfg)\nfloating_point(cfg)\ndebug_info(cfg)\nif cfg.flags.Symbols then\n_p(3,'<ProgramDataBaseFileName>$(OutDir)%s.pdb</ProgramDataBaseFileName>'\n, path.getbasename(cfg.buildtarget.name))\nend\nif cfg.flags.NoFramePointer then\n_p(3,'<OmitFramePointers>true</Om"
|
||||
"itFramePointers>')\nend\ncompile_language(cfg)\nforcedinclude_files(3,cfg);\n_p(2,'</ClCompile>')\nend\nlocal function event_hooks(cfg)\nif #cfg.postbuildcommands> 0 then\n _p(2,'<PostBuildEvent>')\n_p(3,'<Command>%s</Command>',premake.esc(table.implode(cfg.postbuildcommands, \"\", \"\", \"\\r\\n\")))\n_p(2,'</PostBuildEvent>')\nend\nif #cfg.prebuildcommands> 0 then\n _p(2,'<PreBuildEvent>')\n_p(3,'<Command>%s</Command>',premake.esc(table.implode(cfg.prebuildcommands, \"\", \"\", \"\\r\\n\")))\n_p(2,'</PreBuildEvent>')\nend\nif #cfg.prelinkcommands> 0 then\n _p(2,'<PreLinkEvent>')\n_p(3,'<Command>%s</Command>',premake.esc(table.implode(cfg.prelinkcommands, \"\", \"\", \"\\r\\n\")))\n_p(2,'</PreLinkEvent>')\nend\nend\nlocal function additional_options(indent,cfg)\nif #cfg.linkoptions > 0 then\n_p(indent,'<AdditionalOptions>%s %%(AdditionalOptions)</AdditionalOptions>',\ntable.concat(premake.esc(cfg.linkoptions), \" \"))\nend\nend\nlocal function link_target_machine(index,cfg)\nlocal platforms = {x32 = "
|
||||
"'MachineX86', x64 = 'MachineX64'}\nif platforms[cfg.platform] then\n_p(index,'<TargetMachine>%s</TargetMachine>', platforms[cfg.platform])\nend\nend\nlocal function item_def_lib(cfg)\n -- The Xbox360 project files are stored in another place in the project file.\nif cfg.kind == 'StaticLib' and cfg.platform ~= \"Xbox360\" then\n_p(1,'<Lib>')\n_p(2,'<OutputFile>$(OutDir)%s</OutputFile>',cfg.buildtarget.name)\nadditional_options(2,cfg)\nlink_target_machine(2,cfg)\n_p(1,'</Lib>')\nend\nend\nlocal function import_lib(cfg)\nif cfg.kind == \"SharedLib\" then\nlocal implibname = cfg.linktarget.fullpath\n_p(3,'<ImportLibrary>%s</ImportLibrary>',iif(cfg.flags.NoImportLib, cfg.objectsdir .. \"\\\\\" .. path.getname(implibname), implibname))\nend\nend\nfunction vc2010.link(cfg)\n_p(2,'<Link>')\n_p(3,'<SubSystem>%s</SubSystem>', iif(cfg.kind == \"ConsoleApp\", \"Console\", \"Windows\"))\n_p(3,'<GenerateDebugInformation>%s</GenerateDebugInformation>', tostring(cfg.flags.Symbols ~= nil))\nif premake.config.isoptimizedb"
|
||||
"uild(cfg.flags) then\n_p(3,'<EnableCOMDATFolding>true</EnableCOMDATFolding>')\n_p(3,'<OptimizeReferences>true</OptimizeReferences>')\nend\nif cfg.kind ~= 'StaticLib' then\nvc2010.additionalDependencies(cfg)\n_p(3,'<OutputFile>$(OutDir)%s</OutputFile>', cfg.buildtarget.name)\nif #cfg.libdirs > 0 then\n_p(3,'<AdditionalLibraryDirectories>%s;%%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>',\npremake.esc(path.translate(table.concat(cfg.libdirs, ';'), '\\\\')))\nend\nif vc2010.config_type(cfg) == 'Application' and not cfg.flags.WinMain and not cfg.flags.Managed then\nif cfg.flags.Unicode then\n_p(3,'<EntryPointSymbol>wmainCRTStartup</EntryPointSymbol>')\nelse\n_p(3,'<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>')\nend\nend\nimport_lib(cfg)\nlocal deffile = premake.findfile(cfg, \".def\")\nif deffile then\n_p(3,'<ModuleDefinitionFile>%s</ModuleDefinitionFile>', deffile)\nend\nlink_target_machine(3,cfg)\nadditional_options(3,cfg)\nend\n_p(2,'</Link>')\nend\nfunction vc2010.additionalDependencies"
|
||||
"(cfg)\nlocal links = premake.getlinks(cfg, \"system\", \"fullpath\")\nif #links > 0 then\n_p(3,'<AdditionalDependencies>%s;%%(AdditionalDependencies)</AdditionalDependencies>',\ntable.concat(links, \";\"))\nend\nend\nlocal function item_definitions(prj)\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\n_p(1,'<ItemDefinitionGroup ' ..if_config_and_platform() ..'>'\n,premake.esc(cfginfo.name))\nvs10_clcompile(cfg)\nresource_compile(cfg)\nitem_def_lib(cfg)\nvc2010.link(cfg)\nevent_hooks(cfg)\n_p(1,'</ItemDefinitionGroup>')\nend\nend\nfunction vc2010.getfilegroup(prj, group)\nlocal sortedfiles = prj.vc2010sortedfiles\nif not sortedfiles then\nsortedfiles = {\nClCompile = {},\nClInclude = {},\nNone = {},\nResourceCompile = {},\nAppxManifest = {},\nImage = {}\n}\nlocal foundAppxManifest = false\nfor file in premake.project.eachfile(prj) do\nif path.iscppfile(file.name) then\ntable.insert(sortedfiles.ClCompile, file)\nelseif pat"
|
||||
"h.iscppheader(file.name) then\nif not table.icontains(prj.removefiles, file) then\ntable.insert(sortedfiles.ClInclude, file)\nend\nelseif path.isresourcefile(file.name) then\ntable.insert(sortedfiles.ResourceCompile, file)\nelse\nlocal ext = path.getextension(file.name):lower()\nif ext == \".appxmanifest\" then\nfoundAppxManifest = true\ntable.insert(sortedfiles.AppxManifest, file)\nelse\ntable.insert(sortedfiles.None, file)\nend\nend\nend\nif vstudio.iswinrt() and prj.kind == \"WindowedApp\" and not foundAppxManifest then\nvstudio.needAppxManifest = true\nlocal fcfg = {}\nfcfg.name = prj.name .. \".appxmanifest\"\nfcfg.vpath = premake.project.getvpath(prj, fcfg.name)\ntable.insert(sortedfiles.AppxManifest, fcfg)\nlocal splashcfg = {}\nsplashcfg.name = premake.vstudio.splashpath\nsplashcfg.vpath = premake.vstudio.splashpath\ntable.insert(sortedfiles.Image, splashcfg)\nend\nprj.vc2010sortedfiles = sortedfiles\nend\nreturn sortedfiles[group]\nend\nfunction vc2010.files(prj)\nvc2010.simplefilesgroup(prj, \"ClIncl"
|
||||
"ude\")\nvc2010.compilerfilesgroup(prj)\nvc2010.simplefilesgroup(prj, \"None\")\nvc2010.customtaskgroup(prj)\nvc2010.simplefilesgroup(prj, \"ResourceCompile\")\nvc2010.simplefilesgroup(prj, \"AppxManifest\")\nvc2010.deploymentcontentgroup(prj, \"Image\")\nend\nfunction vc2010.customtaskgroup(prj)\nlocal files = { }\nfor _, custombuildtask in ipairs(prj.custombuildtask or {}) do\nfor _, buildtask in ipairs(custombuildtask or {}) do\nlocal fcfg = { }\nfcfg.name = path.getrelative(prj.location,buildtask[1])\nfcfg.vpath = path.trimdots(fcfg.name)\ntable.insert(files, fcfg)\nend\nend\nif #files > 0 then\n_p(1,'<ItemGroup>')\nlocal groupedBuildTasks = {}\nfor _, custombuildtask in ipairs(prj.custombuildtask or {}) do\nfor _, buildtask in ipairs(custombuildtask or {}) do\nif (groupedBuildTasks[buildtask[1]] == nil) then\ngroupedBuildTasks[buildtask[1]] = {}\nend\ntable.insert(groupedBuildTasks[buildtask[1]], buildtask)\nend\nend\nfor name, custombuildtask in pairs(groupedBuildTasks or {}) do\n_p(2,'<CustomBuild Inclu"
|
||||
"de=\\\"%s\\\">', path.translate(path.getrelative(prj.location,name), \"\\\\\"))\n_p(3,'<FileType>Text</FileType>')\nlocal cmd = \"\"\nlocal outputs = \"\"\nfor _, buildtask in ipairs(custombuildtask or {}) do\nfor _, cmdline in ipairs(buildtask[4] or {}) do\ncmd = cmd .. cmdline\nlocal num = 1\nfor _, depdata in ipairs(buildtask[3] or {}) do\ncmd = string.gsub(cmd,\"%$%(\" .. num ..\"%)\", string.format(\"%s \",path.getrelative(prj.location,depdata)))\nnum = num + 1\nend\ncmd = string.gsub(cmd, \"%$%(<%)\", string.format(\"%s \",path.getrelative(prj.location,buildtask[1])))\ncmd = string.gsub(cmd, \"%$%(@%)\", string.format(\"%s \",path.getrelative(prj.location,buildtask[2])))\ncmd = cmd .. \"\\r\\n\"\nend\noutputs = outputs .. path.getrelative(prj.location,buildtask[2]) .. \";\"\nend\n_p(3,'<Command>%s</Command>',cmd)\n_p(3,'<Outputs>%s%%(Outputs)</Outputs>',outputs)\n_p(3,'<SubType>Designer</SubType>')\n_p(3,'<Message></Message>')\n_p(2,'</CustomBuild>')\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010."
|
||||
"simplefilesgroup(prj, section, subtype)\nlocal files = vc2010.getfilegroup(prj, section)\nif #files > 0 then\n_p(1,'<ItemGroup>')\nfor _, file in ipairs(files) do\nif subtype then\n_p(2,'<%s Include=\\\"%s\\\">', section, path.translate(file.name, \"\\\\\"))\n_p(3,'<SubType>%s</SubType>', subtype)\n_p(2,'</%s>', section)\nelse\n_p(2,'<%s Include=\\\"%s\\\" />', section, path.translate(file.name, \"\\\\\"))\nend\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.deploymentcontentgroup(prj, section)\nlocal files = vc2010.getfilegroup(prj, section)\nif #files > 0 then\n_p(1,'<ItemGroup>')\nfor _, file in ipairs(files) do\n_p(2,'<%s Include=\\\"%s\\\">', section, path.translate(file.name, \"\\\\\"))\n_p(3,'<DeploymentContent>true</DeploymentContent>')\n_p(2,'</%s>', section)\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.compilerfilesgroup(prj)\nlocal configs = prj.solution.vstudio_configs\nlocal files = vc2010.getfilegroup(prj, \"ClCompile\")\nif #files > 0 then\nlocal config_mappings = {}\nfor _, cf"
|
||||
"ginfo in ipairs(configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\nif cfg.pchheader and cfg.pchsource and not cfg.flags.NoPCH then\nconfig_mappings[cfginfo] = path.translate(cfg.pchsource, \"\\\\\")\nend\nend\n_p(1,'<ItemGroup>')\nfor _, file in ipairs(files) do\nlocal translatedpath = path.translate(file.name, \"\\\\\")\n_p(2, '<ClCompile Include=\\\"%s\\\">', translatedpath)\n_p(3, '<ObjectFileName>$(IntDir)%s.obj</ObjectFileName>'\n, premake.esc(path.translate(path.trimdots(path.removeext(file.name))))\n)\nfor _, cfginfo in ipairs(configs) do\nif config_mappings[cfginfo] and translatedpath == config_mappings[cfginfo] then\n_p(3,'<PrecompiledHeader '.. if_config_and_platform() .. '>Create</PrecompiledHeader>', premake.esc(cfginfo.name))\nconfig_mappings[cfginfo] = nil --only one source file per pch\nend\nend\nlocal excluded = table.icontains(prj.excludes, file.name)\nfor _, vsconfig in ipairs(configs) do\nlocal cfg = premake.getconfig(prj, vsconfig.src_buildcfg, vsc"
|
||||
"onfig.src_platform)\nif excluded or table.icontains(cfg.excludes, file.name) then\n_p(3, '<ExcludedFromBuild '\n.. if_config_and_platform()\n.. '>true</ExcludedFromBuild>'\n, premake.esc(vsconfig.name)\n)\nend\nend\n_p(2,'</ClCompile>')\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.header(targets)\nio.eol = \"\\r\\n\"\n_p('<?xml version=\"1.0\" encoding=\"utf-8\"?>')\nlocal t = \"\"\nif targets then\nt = ' DefaultTargets=\"' .. targets .. '\"'\nend\n_p('<Project%s ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">', t)\nend\nfunction premake.vs2010_vcxproj(prj)\nio.indent = \" \"\nvc2010.header(\"Build\")\nvs2010_config(prj)\nvs2010_globals(prj)\n_p(1,'<Import Project=\"$(VCTargetsPath)\\\\Microsoft.Cpp.Default.props\" />')\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\nvc2010.configurationPropertyGroup(cfg, cfginfo)\nend\n_p(1,'<Import Project=\"$(VCTargetsPath)\\\\Microsoft.C"
|
||||
"pp.props\" />')\n_p(1,'<ImportGroup Label=\"ExtensionSettings\">')\n_p(1,'</ImportGroup>')\nimport_props(prj)\n_p(1,'<PropertyGroup Label=\"UserMacros\" />')\nvc2010.outputProperties(prj)\nitem_definitions(prj)\nvc2010.files(prj)\nvc2010.projectReferences(prj)\n_p(1,'<Import Project=\"$(VCTargetsPath)\\\\Microsoft.Cpp.targets\" />')\n_p(1,'<ImportGroup Label=\"ExtensionTargets\">')\n_p(1,'</ImportGroup>')\n_p('</Project>')\nend\nfunction vc2010.projectReferences(prj)\nlocal deps = premake.getdependencies(prj)\nif #deps > 0 then\n_p(1,'<ItemGroup>')\nfor _, dep in ipairs(deps) do\nlocal deppath = path.getrelative(prj.location, vstudio.projectfile(dep))\n_p(2,'<ProjectReference Include=\\\"%s\\\">', path.translate(deppath, \"\\\\\"))\n_p(3,'<Project>{%s}</Project>', dep.uuid)\nif vstudio.iswinrt() then\n_p(3,'<ReferenceOutputAssembly>false</ReferenceOutputAssembly>')\nend\n_p(2,'</ProjectReference>')\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.debugdir(cfg)\nif cfg.debugdir and not vstudio.iswinrt() th"
|
||||
"en\n_p(' <LocalDebuggerWorkingDirectory>%s</LocalDebuggerWorkingDirectory>', path.translate(cfg.debugdir, '\\\\'))\n_p(' <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>')\nend\nif cfg.debugargs then\n_p(' <LocalDebuggerCommandArguments>%s</LocalDebuggerCommandArguments>', table.concat(cfg.debugargs, \" \"))\nend\nend\nfunction vc2010.debugenvs(cfg)\nif cfg.debugenvs and #cfg.debugenvs > 0 then\n_p(2,'<LocalDebuggerEnvironment>%s%s</LocalDebuggerEnvironment>',table.concat(cfg.debugenvs, \"\\n\")\n,iif(cfg.flags.DebugEnvsInherit,'\\n$(LocalDebuggerEnvironment)','')\n)\nif cfg.flags.DebugEnvsDontMerge then\n_p(2,'<LocalDebuggerMergeEnvironment>false</LocalDebuggerMergeEnvironment>')\nend\nend\nend\nfunction premake.vs2010_vcxproj_user(prj)\nio.indent = \" \"\nvc2010.header()\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\n_p(' <PropertyGroup '.. if_config_and_platform() ..'>', premake.esc(cfginfo.name))\nv"
|
||||
"c2010.debugdir(cfg)\nvc2010.debugenvs(cfg)\n_p(' </PropertyGroup>')\nend\n_p('</Project>')\nend\nfunction premake.vs2010_appxmanifest(prj)\nio.indent = \" \"\nio.eol = \"\\r\\n\"\n_p('<?xml version=\"1.0\" encoding=\"utf-8\"?>')\nif vstudio.toolset == \"v120_wp81\" then\n_p('<Package xmlns=\"http://schemas.microsoft.com/appx/2010/manifest\" xmlns:m2=\"http://schemas.microsoft.com/appx/2013/manifest\" xmlns:m3=\"http://schemas.microsoft.com/appx/2014/manifest\" xmlns:mp=\"http://schemas.microsoft.com/appx/2014/phone/manifest\">')\nelseif vstudio.storeapp == \"8.1\" then\n_p('<Package xmlns=\"http://schemas.microsoft.com/appx/2010/manifest\" xmlns:m3=\"http://schemas.microsoft.com/appx/2013/manifest\">')\nelse\n_p('<Package xmlns=\"http://schemas.microsoft.com/appx/manifest/foundation/windows10\" xmlns:mp=\"http://schemas.microsoft.com/appx/2014/phone/manifest\" xmlns:m3=\"http://schemas.microsoft.com/appx/manifest/uap/windows10\">')\nend\n_p(1,'<Identity Name=\"' .. prj.uuid .. '\"')\n_p(2,'Publisher=\"CN=Unk"
|
||||
"nown\"')\n_p(2,'Version=\"1.0.0.0\" />')\nif vstudio.toolset == \"v120_wp81\" or vstudio.storeapp == \"8.2\" then\n_p(1,'<mp:PhoneIdentity PhoneProductId=\"' .. prj.uuid .. '\" PhonePublisherId=\"00000000-0000-0000-0000-000000000000\"/>')\nend\n_p(1,'<Properties>')\n_p(2,'<DisplayName>' .. prj.name .. '</DisplayName>')\n_p(2,'<PublisherDisplayName>Unknown</PublisherDisplayName>')\n_p(2,'<Logo>EmptyLogo.png</Logo>')\n_p(1,'</Properties>')\nif vstudio.storeapp == \"8.2\" then\n_p(1,'<Dependencies>')\n_p(2,'<TargetDeviceFamily Name=\"Windows.Universal\" MinVersion=\"10.0.10069.0\" MaxVersionTested=\"10.0.10069.0\" />')\n_p(1,'</Dependencies>')\nelse\n_p(1,'<Prerequisites>')\n_p(2,'<OSMinVersion>6.3.0</OSMinVersion>')\n_p(2,'<OSMaxVersionTested>6.3.0</OSMaxVersionTested>')\n_p(1,'</Prerequisites>')\nend\n_p(1,'<Resources>')\n_p(2,'<Resource Language=\"x-generate\"/>')\n_p(1,'</Resources>')\n_p(1,'<Applications>')\n_p(2,'<Application Id=\"App\"')\n_p(3,'Executable=\"$targetnametoken$.exe\"')\n_p(3,'EntryPoint=\"App"
|
||||
"\">')\n_p(3,'<m3:VisualElements')\n_p(4,'DisplayName=\"Blah\"')\n_p(4,'Square150x150Logo=\"Assets\\\\Logo.png\"')\nif vstudio.toolset == \"v120_wp81\" or vstudio.storeapp == \"8.2\" then\n_p(4,'Square44x44Logo=\"Assets\\\\SmallLogo.png\"')\nelse\n_p(4,'Square30x30Logo=\"Assets\\\\SmallLogo.png\"')\nend\n_p(4,'Description=\"Blah\"')\n_p(4,'ForegroundText=\"light\"')\n_p(4,'BackgroundColor=\"transparent\">')\n_p(4,'<m3:SplashScreen Image=\"%s\" />', path.getname(vstudio.splashpath))\n_p(3,'</m3:VisualElements>')\n_p(2,'</Application>')\n_p(1,'</Applications>')\n_p('</Package>')\nend\n",
|
||||
"bleEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>')\nelseif cfg.flags.EnableSSE2 then\n_p(3,'<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>')\nend\nend\nlocal function floating_point(cfg)\n if cfg.flags.FloatFast then\n_p(3,'<FloatingPointModel>Fast</FloatingPointModel>')\nelseif cfg.flags.FloatStrict and not cfg.flags.Managed then\n_p(3,'<FloatingPointModel>Strict</FloatingPointModel>')\nend\nend\nlocal function debug_info(cfg)\nlocal debug_info = ''\nif cfg.flags.Symbols then\nif (action.vstudio.supports64bitEditContinue == false and cfg.platform == \"x64\")\nor cfg.flags.Managed\nor premake.config.isoptimizedbuild(cfg.flags)\nor cfg.flags.NoEditAndContinue\nthen\ndebug_info = \"ProgramDatabase\"\nelse\ndebug_info = \"EditAndContinue\"\nend\nend\n_p(3,'<DebugInformationFormat>%s</DebugInformationFormat>',debug_info)\nend\nlocal function minimal_build(cfg)\nif premake.config.isdebugbuild(cfg) and cfg.flags.EnableMinimalRebuild then\n_p("
|
||||
"3,'<MinimalRebuild>true</MinimalRebuild>')\nelse\n_p(3,'<MinimalRebuild>false</MinimalRebuild>')\nend\nend\nlocal function compile_language(cfg)\nif cfg.options.ForceCPP then\n_p(3,'<CompileAs>CompileAsCpp</CompileAs>')\nelse\nif cfg.language == \"C\" then\n_p(3,'<CompileAs>CompileAsC</CompileAs>')\nend\nend\nend\nlocal function forcedinclude_files(indent,cfg)\nif #cfg.forcedincludes > 0 then\n_p(indent,'<ForcedIncludeFiles>%s</ForcedIncludeFiles>'\n,premake.esc(path.translate(table.concat(cfg.forcedincludes, \";\"), '\\\\')))\nend\nend\nlocal function vs10_clcompile(cfg)\n_p(2,'<ClCompile>')\n_p(3,'<AdditionalOptions>%s %s%%(AdditionalOptions)</AdditionalOptions>'\n, table.concat(premake.esc(cfg.buildoptions), \" \")\n, iif(cfg.flags.UnsignedChar, \"/J \", \" \")\n)\n_p(3,'<Optimization>%s</Optimization>',optimisation(cfg))\ninclude_dirs(3,cfg)\npreprocessor(3,cfg)\nminimal_build(cfg)\nif not premake.config.isoptimizedbuild(cfg.flags) then\nif not cfg.flags.Managed then\n_p(3,'<BasicRuntimeChecks>EnableFastC"
|
||||
"hecks</BasicRuntimeChecks>')\nend\nif cfg.flags.ExtraWarnings then\nend\nelse\n_p(3,'<StringPooling>true</StringPooling>')\nend\n_p(3,'<RuntimeLibrary>%s</RuntimeLibrary>', runtime(cfg))\n_p(3,'<FunctionLevelLinking>true</FunctionLevelLinking>')\nif not cfg.flags.NoMultiProcessorCompilation and not cfg.flags.EnableMinimalRebuild then\n_p(3,'<MultiProcessorCompilation>true</MultiProcessorCompilation>')\nelse\n_p(3,'<MultiProcessorCompilation>false</MultiProcessorCompilation>')\nend\nprecompiled_header(cfg)\nif cfg.flags.ExtraWarnings then\n_p(3,'<WarningLevel>Level4</WarningLevel>')\nelse\n_p(3,'<WarningLevel>Level3</WarningLevel>')\nend\nif cfg.flags.FatalWarnings then\n_p(3,'<TreatWarningAsError>true</TreatWarningAsError>')\nend\nexceptions(cfg)\nrtti(cfg)\ncalling_convention(cfg)\nwchar_t_buildin(cfg)\nsse(cfg)\nfloating_point(cfg)\ndebug_info(cfg)\nif cfg.flags.Symbols then\n_p(3,'<ProgramDataBaseFileName>$(OutDir)%s.pdb</ProgramDataBaseFileName>'\n, path.getbasename(cfg.buildtarget.name))\nend\nif cfg.flag"
|
||||
"s.NoFramePointer then\n_p(3,'<OmitFramePointers>true</OmitFramePointers>')\nend\ncompile_language(cfg)\nforcedinclude_files(3,cfg);\n_p(2,'</ClCompile>')\nend\nlocal function event_hooks(cfg)\nif #cfg.postbuildcommands> 0 then\n _p(2,'<PostBuildEvent>')\n_p(3,'<Command>%s</Command>',premake.esc(table.implode(cfg.postbuildcommands, \"\", \"\", \"\\r\\n\")))\n_p(2,'</PostBuildEvent>')\nend\nif #cfg.prebuildcommands> 0 then\n _p(2,'<PreBuildEvent>')\n_p(3,'<Command>%s</Command>',premake.esc(table.implode(cfg.prebuildcommands, \"\", \"\", \"\\r\\n\")))\n_p(2,'</PreBuildEvent>')\nend\nif #cfg.prelinkcommands> 0 then\n _p(2,'<PreLinkEvent>')\n_p(3,'<Command>%s</Command>',premake.esc(table.implode(cfg.prelinkcommands, \"\", \"\", \"\\r\\n\")))\n_p(2,'</PreLinkEvent>')\nend\nend\nlocal function additional_options(indent,cfg)\nif #cfg.linkoptions > 0 then\n_p(indent,'<AdditionalOptions>%s %%(AdditionalOptions)</AdditionalOptions>',\ntable.concat(premake.esc(cfg.linkoptions), \" \"))\nend\nend\nlocal function l"
|
||||
"ink_target_machine(index,cfg)\nlocal platforms = {x32 = 'MachineX86', x64 = 'MachineX64'}\nif platforms[cfg.platform] then\n_p(index,'<TargetMachine>%s</TargetMachine>', platforms[cfg.platform])\nend\nend\nlocal function item_def_lib(cfg)\n -- The Xbox360 project files are stored in another place in the project file.\nif cfg.kind == 'StaticLib' and cfg.platform ~= \"Xbox360\" then\n_p(1,'<Lib>')\n_p(2,'<OutputFile>$(OutDir)%s</OutputFile>',cfg.buildtarget.name)\nadditional_options(2,cfg)\nlink_target_machine(2,cfg)\n_p(1,'</Lib>')\nend\nend\nlocal function import_lib(cfg)\nif cfg.kind == \"SharedLib\" then\nlocal implibname = cfg.linktarget.fullpath\n_p(3,'<ImportLibrary>%s</ImportLibrary>',iif(cfg.flags.NoImportLib, cfg.objectsdir .. \"\\\\\" .. path.getname(implibname), implibname))\nend\nend\nfunction vc2010.link(cfg)\n_p(2,'<Link>')\n_p(3,'<SubSystem>%s</SubSystem>', iif(cfg.kind == \"ConsoleApp\", \"Console\", \"Windows\"))\n_p(3,'<GenerateDebugInformation>%s</GenerateDebugInformation>', tostring(cf"
|
||||
"g.flags.Symbols ~= nil))\nif premake.config.isoptimizedbuild(cfg.flags) then\n_p(3,'<EnableCOMDATFolding>true</EnableCOMDATFolding>')\n_p(3,'<OptimizeReferences>true</OptimizeReferences>')\nend\nif cfg.kind ~= 'StaticLib' then\nvc2010.additionalDependencies(cfg)\n_p(3,'<OutputFile>$(OutDir)%s</OutputFile>', cfg.buildtarget.name)\nif #cfg.libdirs > 0 then\n_p(3,'<AdditionalLibraryDirectories>%s;%%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>',\npremake.esc(path.translate(table.concat(cfg.libdirs, ';'), '\\\\')))\nend\nif vc2010.config_type(cfg) == 'Application' and not cfg.flags.WinMain and not cfg.flags.Managed then\nif cfg.flags.Unicode then\n_p(3,'<EntryPointSymbol>wmainCRTStartup</EntryPointSymbol>')\nelse\n_p(3,'<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>')\nend\nend\nimport_lib(cfg)\nlocal deffile = premake.findfile(cfg, \".def\")\nif deffile then\n_p(3,'<ModuleDefinitionFile>%s</ModuleDefinitionFile>', deffile)\nend\nlink_target_machine(3,cfg)\nadditional_options(3,cfg)\nend\n_p(2"
|
||||
",'</Link>')\nend\nfunction vc2010.additionalDependencies(cfg)\nlocal links = premake.getlinks(cfg, \"system\", \"fullpath\")\nif #links > 0 then\n_p(3,'<AdditionalDependencies>%s;%%(AdditionalDependencies)</AdditionalDependencies>',\ntable.concat(links, \";\"))\nend\nend\nlocal function item_definitions(prj)\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\n_p(1,'<ItemDefinitionGroup ' ..if_config_and_platform() ..'>'\n,premake.esc(cfginfo.name))\nvs10_clcompile(cfg)\nresource_compile(cfg)\nitem_def_lib(cfg)\nvc2010.link(cfg)\nevent_hooks(cfg)\n_p(1,'</ItemDefinitionGroup>')\nend\nend\nfunction vc2010.getfilegroup(prj, group)\nlocal sortedfiles = prj.vc2010sortedfiles\nif not sortedfiles then\nsortedfiles = {\nClCompile = {},\nClInclude = {},\nNone = {},\nResourceCompile = {},\nAppxManifest = {},\nImage = {}\n}\nlocal foundAppxManifest = false\nfor file in premake.project.eachfile(prj) do\nif path.iscppfile(file.name) the"
|
||||
"n\ntable.insert(sortedfiles.ClCompile, file)\nelseif path.iscppheader(file.name) then\nif not table.icontains(prj.removefiles, file) then\ntable.insert(sortedfiles.ClInclude, file)\nend\nelseif path.isresourcefile(file.name) then\ntable.insert(sortedfiles.ResourceCompile, file)\nelse\nlocal ext = path.getextension(file.name):lower()\nif ext == \".appxmanifest\" then\nfoundAppxManifest = true\ntable.insert(sortedfiles.AppxManifest, file)\nelse\ntable.insert(sortedfiles.None, file)\nend\nend\nend\nif vstudio.iswinrt() and prj.kind == \"WindowedApp\" and not foundAppxManifest then\nvstudio.needAppxManifest = true\nlocal fcfg = {}\nfcfg.name = prj.name .. \".appxmanifest\"\nfcfg.vpath = premake.project.getvpath(prj, fcfg.name)\ntable.insert(sortedfiles.AppxManifest, fcfg)\nlocal splashcfg = {}\nsplashcfg.name = premake.vstudio.splashpath\nsplashcfg.vpath = premake.vstudio.splashpath\ntable.insert(sortedfiles.Image, splashcfg)\nend\nprj.vc2010sortedfiles = sortedfiles\nend\nreturn sortedfiles[group]\nend\nfunction "
|
||||
"vc2010.files(prj)\nvc2010.simplefilesgroup(prj, \"ClInclude\")\nvc2010.compilerfilesgroup(prj)\nvc2010.simplefilesgroup(prj, \"None\")\nvc2010.customtaskgroup(prj)\nvc2010.simplefilesgroup(prj, \"ResourceCompile\")\nvc2010.simplefilesgroup(prj, \"AppxManifest\")\nvc2010.deploymentcontentgroup(prj, \"Image\")\nend\nfunction vc2010.customtaskgroup(prj)\nlocal files = { }\nfor _, custombuildtask in ipairs(prj.custombuildtask or {}) do\nfor _, buildtask in ipairs(custombuildtask or {}) do\nlocal fcfg = { }\nfcfg.name = path.getrelative(prj.location,buildtask[1])\nfcfg.vpath = path.trimdots(fcfg.name)\ntable.insert(files, fcfg)\nend\nend\nif #files > 0 then\n_p(1,'<ItemGroup>')\nlocal groupedBuildTasks = {}\nfor _, custombuildtask in ipairs(prj.custombuildtask or {}) do\nfor _, buildtask in ipairs(custombuildtask or {}) do\nif (groupedBuildTasks[buildtask[1]] == nil) then\ngroupedBuildTasks[buildtask[1]] = {}\nend\ntable.insert(groupedBuildTasks[buildtask[1]], buildtask)\nend\nend\nfor name, custombuildtask in pai"
|
||||
"rs(groupedBuildTasks or {}) do\n_p(2,'<CustomBuild Include=\\\"%s\\\">', path.translate(path.getrelative(prj.location,name), \"\\\\\"))\n_p(3,'<FileType>Text</FileType>')\nlocal cmd = \"\"\nlocal outputs = \"\"\nfor _, buildtask in ipairs(custombuildtask or {}) do\nfor _, cmdline in ipairs(buildtask[4] or {}) do\ncmd = cmd .. cmdline\nlocal num = 1\nfor _, depdata in ipairs(buildtask[3] or {}) do\ncmd = string.gsub(cmd,\"%$%(\" .. num ..\"%)\", string.format(\"%s \",path.getrelative(prj.location,depdata)))\nnum = num + 1\nend\ncmd = string.gsub(cmd, \"%$%(<%)\", string.format(\"%s \",path.getrelative(prj.location,buildtask[1])))\ncmd = string.gsub(cmd, \"%$%(@%)\", string.format(\"%s \",path.getrelative(prj.location,buildtask[2])))\ncmd = cmd .. \"\\r\\n\"\nend\noutputs = outputs .. path.getrelative(prj.location,buildtask[2]) .. \";\"\nend\n_p(3,'<Command>%s</Command>',cmd)\n_p(3,'<Outputs>%s%%(Outputs)</Outputs>',outputs)\n_p(3,'<SubType>Designer</SubType>')\n_p(3,'<Message></Message>')\n_p(2,'</CustomBuild>'"
|
||||
")\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.simplefilesgroup(prj, section, subtype)\nlocal files = vc2010.getfilegroup(prj, section)\nif #files > 0 then\n_p(1,'<ItemGroup>')\nfor _, file in ipairs(files) do\nif subtype then\n_p(2,'<%s Include=\\\"%s\\\">', section, path.translate(file.name, \"\\\\\"))\n_p(3,'<SubType>%s</SubType>', subtype)\n_p(2,'</%s>', section)\nelse\n_p(2,'<%s Include=\\\"%s\\\" />', section, path.translate(file.name, \"\\\\\"))\nend\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.deploymentcontentgroup(prj, section)\nlocal files = vc2010.getfilegroup(prj, section)\nif #files > 0 then\n_p(1,'<ItemGroup>')\nfor _, file in ipairs(files) do\n_p(2,'<%s Include=\\\"%s\\\">', section, path.translate(file.name, \"\\\\\"))\n_p(3,'<DeploymentContent>true</DeploymentContent>')\n_p(2,'</%s>', section)\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.compilerfilesgroup(prj)\nlocal configs = prj.solution.vstudio_configs\nlocal files = vc2010.getfilegroup(prj, \"ClCompile\")\nif"
|
||||
" #files > 0 then\nlocal config_mappings = {}\nfor _, cfginfo in ipairs(configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\nif cfg.pchheader and cfg.pchsource and not cfg.flags.NoPCH then\nconfig_mappings[cfginfo] = path.translate(cfg.pchsource, \"\\\\\")\nend\nend\n_p(1,'<ItemGroup>')\nfor _, file in ipairs(files) do\nlocal translatedpath = path.translate(file.name, \"\\\\\")\n_p(2, '<ClCompile Include=\\\"%s\\\">', translatedpath)\n_p(3, '<ObjectFileName>$(IntDir)%s.obj</ObjectFileName>'\n, premake.esc(path.translate(path.trimdots(path.removeext(file.name))))\n)\nfor _, cfginfo in ipairs(configs) do\nif config_mappings[cfginfo] and translatedpath == config_mappings[cfginfo] then\n_p(3,'<PrecompiledHeader '.. if_config_and_platform() .. '>Create</PrecompiledHeader>', premake.esc(cfginfo.name))\nconfig_mappings[cfginfo] = nil --only one source file per pch\nend\nend\nlocal excluded = table.icontains(prj.excludes, file.name)\nfor _, vsconfig in ipairs(configs) do\nlocal"
|
||||
" cfg = premake.getconfig(prj, vsconfig.src_buildcfg, vsconfig.src_platform)\nif excluded or table.icontains(cfg.excludes, file.name) then\n_p(3, '<ExcludedFromBuild '\n.. if_config_and_platform()\n.. '>true</ExcludedFromBuild>'\n, premake.esc(vsconfig.name)\n)\nend\nend\n_p(2,'</ClCompile>')\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.header(targets)\nio.eol = \"\\r\\n\"\n_p('<?xml version=\"1.0\" encoding=\"utf-8\"?>')\nlocal t = \"\"\nif targets then\nt = ' DefaultTargets=\"' .. targets .. '\"'\nend\n_p('<Project%s ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">', t)\nend\nfunction premake.vs2010_vcxproj(prj)\nio.indent = \" \"\nvc2010.header(\"Build\")\nvs2010_config(prj)\nvs2010_globals(prj)\n_p(1,'<Import Project=\"$(VCTargetsPath)\\\\Microsoft.Cpp.Default.props\" />')\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\nvc2010.configurationPropertyGroup(cfg, cfginfo)\nend"
|
||||
"\n_p(1,'<Import Project=\"$(VCTargetsPath)\\\\Microsoft.Cpp.props\" />')\n_p(1,'<ImportGroup Label=\"ExtensionSettings\">')\n_p(1,'</ImportGroup>')\nimport_props(prj)\n_p(1,'<PropertyGroup Label=\"UserMacros\" />')\nvc2010.outputProperties(prj)\nitem_definitions(prj)\nvc2010.files(prj)\nvc2010.projectReferences(prj)\n_p(1,'<Import Project=\"$(VCTargetsPath)\\\\Microsoft.Cpp.targets\" />')\n_p(1,'<ImportGroup Label=\"ExtensionTargets\">')\n_p(1,'</ImportGroup>')\n_p('</Project>')\nend\nfunction vc2010.projectReferences(prj)\nlocal deps = premake.getdependencies(prj)\nif #deps > 0 then\n_p(1,'<ItemGroup>')\nfor _, dep in ipairs(deps) do\nlocal deppath = path.getrelative(prj.location, vstudio.projectfile(dep))\n_p(2,'<ProjectReference Include=\\\"%s\\\">', path.translate(deppath, \"\\\\\"))\n_p(3,'<Project>{%s}</Project>', dep.uuid)\nif vstudio.iswinrt() then\n_p(3,'<ReferenceOutputAssembly>false</ReferenceOutputAssembly>')\nend\n_p(2,'</ProjectReference>')\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.de"
|
||||
"bugdir(cfg)\nif cfg.debugdir and not vstudio.iswinrt() then\n_p(' <LocalDebuggerWorkingDirectory>%s</LocalDebuggerWorkingDirectory>', path.translate(cfg.debugdir, '\\\\'))\n_p(' <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>')\nend\nif cfg.debugargs then\n_p(' <LocalDebuggerCommandArguments>%s</LocalDebuggerCommandArguments>', table.concat(cfg.debugargs, \" \"))\nend\nend\nfunction vc2010.debugenvs(cfg)\nif cfg.debugenvs and #cfg.debugenvs > 0 then\n_p(2,'<LocalDebuggerEnvironment>%s%s</LocalDebuggerEnvironment>',table.concat(cfg.debugenvs, \"\\n\")\n,iif(cfg.flags.DebugEnvsInherit,'\\n$(LocalDebuggerEnvironment)','')\n)\nif cfg.flags.DebugEnvsDontMerge then\n_p(2,'<LocalDebuggerMergeEnvironment>false</LocalDebuggerMergeEnvironment>')\nend\nend\nend\nfunction premake.vs2010_vcxproj_user(prj)\nio.indent = \" \"\nvc2010.header()\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\n_p(' <PropertyGroup '.. if_c"
|
||||
"onfig_and_platform() ..'>', premake.esc(cfginfo.name))\nvc2010.debugdir(cfg)\nvc2010.debugenvs(cfg)\n_p(' </PropertyGroup>')\nend\n_p('</Project>')\nend\nfunction premake.vs2010_appxmanifest(prj)\nio.indent = \" \"\nio.eol = \"\\r\\n\"\n_p('<?xml version=\"1.0\" encoding=\"utf-8\"?>')\nif vstudio.toolset == \"v120_wp81\" then\n_p('<Package xmlns=\"http://schemas.microsoft.com/appx/2010/manifest\" xmlns:m2=\"http://schemas.microsoft.com/appx/2013/manifest\" xmlns:m3=\"http://schemas.microsoft.com/appx/2014/manifest\" xmlns:mp=\"http://schemas.microsoft.com/appx/2014/phone/manifest\">')\nelseif vstudio.storeapp == \"8.1\" then\n_p('<Package xmlns=\"http://schemas.microsoft.com/appx/2010/manifest\" xmlns:m3=\"http://schemas.microsoft.com/appx/2013/manifest\">')\nelse\n_p('<Package xmlns=\"http://schemas.microsoft.com/appx/manifest/foundation/windows10\" xmlns:mp=\"http://schemas.microsoft.com/appx/2014/phone/manifest\" xmlns:m3=\"http://schemas.microsoft.com/appx/manifest/uap/windows10\">')\nend\n_p(1,'<Identit"
|
||||
"y Name=\"' .. prj.uuid .. '\"')\n_p(2,'Publisher=\"CN=Unknown\"')\n_p(2,'Version=\"1.0.0.0\" />')\nif vstudio.toolset == \"v120_wp81\" or vstudio.storeapp == \"8.2\" then\n_p(1,'<mp:PhoneIdentity PhoneProductId=\"' .. prj.uuid .. '\" PhonePublisherId=\"00000000-0000-0000-0000-000000000000\"/>')\nend\n_p(1,'<Properties>')\n_p(2,'<DisplayName>' .. prj.name .. '</DisplayName>')\n_p(2,'<PublisherDisplayName>Unknown</PublisherDisplayName>')\n_p(2,'<Logo>EmptyLogo.png</Logo>')\n_p(1,'</Properties>')\nif vstudio.storeapp == \"8.2\" then\n_p(1,'<Dependencies>')\n_p(2,'<TargetDeviceFamily Name=\"Windows.Universal\" MinVersion=\"10.0.10069.0\" MaxVersionTested=\"10.0.10069.0\" />')\n_p(1,'</Dependencies>')\nelse\n_p(1,'<Prerequisites>')\n_p(2,'<OSMinVersion>6.3.0</OSMinVersion>')\n_p(2,'<OSMaxVersionTested>6.3.0</OSMaxVersionTested>')\n_p(1,'</Prerequisites>')\nend\n_p(1,'<Resources>')\n_p(2,'<Resource Language=\"x-generate\"/>')\n_p(1,'</Resources>')\n_p(1,'<Applications>')\n_p(2,'<Application Id=\"App\"')\n_p(3,'Execu"
|
||||
"table=\"$targetnametoken$.exe\"')\n_p(3,'EntryPoint=\"App\">')\n_p(3,'<m3:VisualElements')\n_p(4,'DisplayName=\"Blah\"')\n_p(4,'Square150x150Logo=\"Assets\\\\Logo.png\"')\nif vstudio.toolset == \"v120_wp81\" or vstudio.storeapp == \"8.2\" then\n_p(4,'Square44x44Logo=\"Assets\\\\SmallLogo.png\"')\nelse\n_p(4,'Square30x30Logo=\"Assets\\\\SmallLogo.png\"')\nend\n_p(4,'Description=\"Blah\"')\n_p(4,'ForegroundText=\"light\"')\n_p(4,'BackgroundColor=\"transparent\">')\n_p(4,'<m3:SplashScreen Image=\"%s\" />', path.getname(vstudio.splashpath))\n_p(3,'</m3:VisualElements>')\n_p(2,'</Application>')\n_p(1,'</Applications>')\n_p('</Package>')\nend\n",
|
||||
|
||||
/* actions/vstudio/vs2010_vcxproj_filters.lua */
|
||||
"local vc2010 = premake.vstudio.vc2010\nlocal project = premake.project\nfunction vc2010.filteridgroup(prj)\nlocal filters = { }\nlocal filterfound = false\nfor file in project.eachfile(prj) do\nlocal folders = string.explode(file.vpath, \"/\", true)\nlocal path = \"\"\nfor i = 1, #folders - 1 do\nif not filterfound then\nfilterfound = true\n_p(1,'<ItemGroup>')\nend\npath = path .. folders[i]\nif not filters[path] then\nfilters[path] = true\n_p(2, '<Filter Include=\"%s\">', path)\n_p(3, '<UniqueIdentifier>{%s}</UniqueIdentifier>', os.uuid(path))\n_p(2, '</Filter>')\nend\npath = path .. \"\\\\\"\nend\nend\nfor _, custombuildtask in ipairs(prj.custombuildtask or {}) do\nfor _, buildtask in ipairs(custombuildtask or {}) do\nlocal folders = string.explode(path.trimdots(path.getrelative(prj.location,buildtask[1])), \"/\", true)\nlocal path = \"\"\nfor i = 1, #folders - 1 do\nif not filterfound then\nfilterfound = true\n_p(1,'<ItemGroup>')\nend\npath = path .. folders[i]\nif not filters[path] then\nfilters[path] = tr"
|
||||
@ -296,15 +302,15 @@ const char* builtin_scripts[] = {
|
||||
|
||||
/* actions/vstudio/vs2012.lua */
|
||||
"premake.vstudio.vc2012 = {}\nlocal vc2012 = premake.vstudio.vc2012\nlocal vstudio = premake.vstudio\nnewaction\n{\ntrigger = \"vs2012\",\nshortname = \"Visual Studio 2012\",\ndescription = \"Generate Microsoft Visual Studio 2012 project files\",\nos = \"windows\",\nvalid_kinds = { \"ConsoleApp\", \"WindowedApp\", \"StaticLib\", \"SharedLib\" },\nvalid_languages = { \"C\", \"C++\", \"C#\"},\nvalid_tools = {\ncc = { \"msc\" },\ndotnet = { \"msnet\" },\n},\nonsolution = function(sln)\npremake.generate(sln, \"%%.sln\", vstudio.sln2005.generate)\nend,\nonproject = function(prj)\nif premake.isdotnetproject(prj) then\npremake.generate(prj, \"%%.csproj\", vstudio.cs2005.generate)\npremake.generate(prj, \"%%.csproj.user\", vstudio.cs2005.generate_user)\nelse\npremake.generate(prj, \"%%.vcxproj\", premake.vs2010_vcxproj)\npremake.generate(prj, \"%%.vcxproj.user\", premake.vs2010_vcxproj_user)\npremake.generate(prj, \"%%.vcxproj.filters\", vstudio.vc2010.generate_filters)\nend"
|
||||
"\nend,\noncleansolution = premake.vstudio.cleansolution,\noncleanproject = premake.vstudio.cleanproject,\noncleantarget = premake.vstudio.cleantarget,\nvstudio = {\nsolutionVersion = \"12\",\ntargetFramework = \"4.5\",\ntoolsVersion = \"4.0\",\n}\n}\n",
|
||||
"\nend,\noncleansolution = premake.vstudio.cleansolution,\noncleanproject = premake.vstudio.cleanproject,\noncleantarget = premake.vstudio.cleantarget,\nvstudio = {\nsolutionVersion = \"12\",\ntargetFramework = \"4.5\",\ntoolsVersion = \"4.0\",\nsupports64bitEditContinue = false,\n}\n}\n",
|
||||
|
||||
/* actions/vstudio/vs2013.lua */
|
||||
"premake.vstudio.vc2013 = {}\nlocal vc2013 = premake.vstudio.vc2013\nlocal vstudio = premake.vstudio\nnewaction\n{\ntrigger = \"vs2013\",\nshortname = \"Visual Studio 2013\",\ndescription = \"Generate Microsoft Visual Studio 2013 project files\",\nos = \"windows\",\nvalid_kinds = { \"ConsoleApp\", \"WindowedApp\", \"StaticLib\", \"SharedLib\" },\nvalid_languages = { \"C\", \"C++\", \"C#\"},\nvalid_tools = {\ncc = { \"msc\" },\ndotnet = { \"msnet\" },\n},\nonsolution = function(sln)\npremake.generate(sln, \"%%.sln\", vstudio.sln2005.generate)\nend,\nonproject = function(prj)\nif premake.isdotnetproject(prj) then\npremake.generate(prj, \"%%.csproj\", vstudio.cs2005.generate)\npremake.generate(prj, \"%%.csproj.user\", vstudio.cs2005.generate_user)\nelse\npremake.vstudio.needAppxManifest = false\npremake.generate(prj, \"%%.vcxproj\", premake.vs2010_vcxproj)\npremake.generate(prj, \"%%.vcxproj.user\", premake.vs2010_vcxproj_user)\npremake.generate(prj, \"%%.vcxproj.filter"
|
||||
"s\", vstudio.vc2010.generate_filters)\nif premake.vstudio.needAppxManifest then\npremake.generate(prj, \"%%.appxmanifest\", premake.vs2010_appxmanifest)\nend\nend\nend,\noncleansolution = premake.vstudio.cleansolution,\noncleanproject = premake.vstudio.cleanproject,\noncleantarget = premake.vstudio.cleantarget,\nvstudio = {\nsolutionVersion = \"12\",\ntargetFramework = \"4.5\",\ntoolsVersion = \"12.0\",\n}\n}\n",
|
||||
"s\", vstudio.vc2010.generate_filters)\nif premake.vstudio.needAppxManifest then\npremake.generate(prj, \"%%.appxmanifest\", premake.vs2010_appxmanifest)\nend\nend\nend,\noncleansolution = premake.vstudio.cleansolution,\noncleanproject = premake.vstudio.cleanproject,\noncleantarget = premake.vstudio.cleantarget,\nvstudio = {\nsolutionVersion = \"12\",\ntargetFramework = \"4.5\",\ntoolsVersion = \"12.0\",\nsupports64bitEditContinue = false,\n}\n}\n",
|
||||
|
||||
/* actions/vstudio/vs2015.lua */
|
||||
"premake.vstudio.vc2015 = {}\nlocal vc2015 = premake.vstudio.vc2015\nlocal vstudio = premake.vstudio\nnewaction\n{\ntrigger = \"vs2015\",\nshortname = \"Visual Studio 2015\",\ndescription = \"Generate Microsoft Visual Studio 2015 project files\",\nos = \"windows\",\nvalid_kinds = { \"ConsoleApp\", \"WindowedApp\", \"StaticLib\", \"SharedLib\" },\nvalid_languages = { \"C\", \"C++\", \"C#\" },\nvalid_tools = {\ncc = { \"msc\" },\ndotnet = { \"msnet\" },\n},\nonsolution = function(sln)\npremake.generate(sln, \"%%.sln\", vstudio.sln2005.generate)\nend,\nonproject = function(prj)\nif premake.isdotnetproject(prj) then\npremake.generate(prj, \"%%.csproj\", vstudio.cs2005.generate)\npremake.generate(prj, \"%%.csproj.user\", vstudio.cs2005.generate_user)\nelse\npremake.vstudio.needAppxManifest = false\npremake.generate(prj, \"%%.vcxproj\", premake.vs2010_vcxproj)\npremake.generate(prj, \"%%.vcxproj.user\", premake.vs2010_vcxproj_user)\npremake.generate(prj, \"%%.vcxproj.filte"
|
||||
"rs\", vstudio.vc2010.generate_filters)\nif premake.vstudio.needAppxManifest then\npremake.generate(prj, \"%%.appxmanifest\", premake.vs2010_appxmanifest)\nend\nend\nend,\noncleansolution = premake.vstudio.cleansolution,\noncleanproject = premake.vstudio.cleanproject,\noncleantarget = premake.vstudio.cleantarget,\nvstudio = {\nsolutionVersion = \"14\",\ntargetFramework = \"4.5\",\ntoolsVersion = \"14.0\",\nwindowsTargetPlatformVersion = \"8.1\",\n}\n}\n",
|
||||
"rs\", vstudio.vc2010.generate_filters)\nif premake.vstudio.needAppxManifest then\npremake.generate(prj, \"%%.appxmanifest\", premake.vs2010_appxmanifest)\nend\nend\nend,\noncleansolution = premake.vstudio.cleansolution,\noncleanproject = premake.vstudio.cleanproject,\noncleantarget = premake.vstudio.cleantarget,\nvstudio = {\nsolutionVersion = \"14\",\ntargetFramework = \"4.5\",\ntoolsVersion = \"14.0\",\nwindowsTargetPlatformVersion = \"8.1\",\nsupports64bitEditContinue = true,\n}\n}\n",
|
||||
|
||||
/* actions/xcode/_xcode.lua */
|
||||
"premake.xcode = { }\npremake.xcode.toolset = \"macosx\"\nnewaction \n{\ntrigger = \"xcode3\",\nshortname = \"Xcode 3\",\ndescription = \"Generate Apple Xcode 3 project files (experimental)\",\nos = \"macosx\",\nvalid_kinds = { \"ConsoleApp\", \"WindowedApp\", \"SharedLib\", \"StaticLib\" },\nvalid_languages = { \"C\", \"C++\" },\nvalid_tools = {\ncc = { \"gcc\" },\n},\nvalid_platforms = { \nNative = \"Native\", \nx32 = \"Native 32-bit\", \nx64 = \"Native 64-bit\", \nUniversal32 = \"32-bit Universal\", \nUniversal64 = \"64-bit Universal\", \nUniversal = \"Universal\",\n},\ndefault_platform = \"Universal\",\nonsolution = function(sln)\npremake.xcode.preparesolution(sln)\nend,\nonproject = function(prj)\npremake.generate(prj, \"%%.xcodeproj/project.pbxproj\", premake.xcode.project)\nend,\noncleanproject = function(prj)\npremake.clean.directory(prj, \"%%.xcodeproj\")\nend,\noncheckproject = function(prj)\nlocal last\nfor cfg in premake.eachconfig(prj) do\nif last and last"
|
||||
|
58
3rdparty/genie/src/tools/gcc.lua
vendored
58
3rdparty/genie/src/tools/gcc.lua
vendored
@ -52,33 +52,36 @@
|
||||
premake.gcc.platforms =
|
||||
{
|
||||
Native = {
|
||||
cppflags = "-MMD",
|
||||
cppflags = "-MMD -MP",
|
||||
},
|
||||
x32 = {
|
||||
cppflags = "-MMD",
|
||||
cppflags = "-MMD -MP",
|
||||
flags = "-m32",
|
||||
},
|
||||
x64 = {
|
||||
cppflags = "-MMD",
|
||||
cppflags = "-MMD -MP",
|
||||
flags = "-m64",
|
||||
},
|
||||
Universal = {
|
||||
cppflags = "",
|
||||
ar = "libtool",
|
||||
cppflags = "-MMD -MP",
|
||||
flags = "-arch i386 -arch x86_64 -arch ppc -arch ppc64",
|
||||
},
|
||||
Universal32 = {
|
||||
cppflags = "",
|
||||
ar = "libtool",
|
||||
cppflags = "-MMD -MP",
|
||||
flags = "-arch i386 -arch ppc",
|
||||
},
|
||||
Universal64 = {
|
||||
cppflags = "",
|
||||
ar = "libtool",
|
||||
cppflags = "-MMD -MP",
|
||||
flags = "-arch x86_64 -arch ppc64",
|
||||
},
|
||||
PS3 = {
|
||||
cc = "ppu-lv2-g++",
|
||||
cxx = "ppu-lv2-g++",
|
||||
ar = "ppu-lv2-ar",
|
||||
cppflags = "-MMD",
|
||||
cppflags = "-MMD -MP",
|
||||
},
|
||||
WiiDev = {
|
||||
cppflags = "-MMD -MP -I$(LIBOGC_INC) $(MACHDEP)",
|
||||
@ -212,6 +215,47 @@
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Get flags for passing to AR before the target is appended to the commandline
|
||||
-- prj: project
|
||||
-- cfg: configuration
|
||||
-- ndx: true if the final step of a split archive
|
||||
--
|
||||
|
||||
function premake.gcc.getarchiveflags(prj, cfg, ndx)
|
||||
local result = {}
|
||||
if cfg.platform:startswith("Universal") then
|
||||
if prj.options.ArchiveSplit then
|
||||
error("gcc tool 'Universal*' platforms do not support split archives")
|
||||
end
|
||||
table.insert(result, '-o')
|
||||
else
|
||||
if (not prj.options.ArchiveSplit) then
|
||||
if premake.gcc.llvm then
|
||||
table.insert(result, 'rcs')
|
||||
else
|
||||
table.insert(result, '-rcs')
|
||||
end
|
||||
else
|
||||
if premake.gcc.llvm then
|
||||
if (not ndx) then
|
||||
table.insert(result, 'qc')
|
||||
else
|
||||
table.insert(result, 'cs')
|
||||
end
|
||||
else
|
||||
if (not ndx) then
|
||||
table.insert(result, '-qc')
|
||||
else
|
||||
table.insert(result, '-cs')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Decorate defines for the GCC command line.
|
||||
--
|
||||
|
191
3rdparty/genie/src/tools/ghs.lua
vendored
Normal file
191
3rdparty/genie/src/tools/ghs.lua
vendored
Normal file
@ -0,0 +1,191 @@
|
||||
--
|
||||
-- ghs.lua
|
||||
-- Provides Green Hills Software-specific configuration strings.
|
||||
--
|
||||
|
||||
premake.ghs = { }
|
||||
premake.ghs.namestyle = "PS3"
|
||||
|
||||
|
||||
--
|
||||
-- Set default tools
|
||||
--
|
||||
|
||||
premake.ghs.cc = "ccppc"
|
||||
premake.ghs.cxx = "cxppc"
|
||||
premake.ghs.ar = "cxppc"
|
||||
|
||||
|
||||
--
|
||||
-- Translation of Premake flags into GHS flags
|
||||
--
|
||||
|
||||
local cflags =
|
||||
{
|
||||
FatalWarnings = "--quit_after_warnings",
|
||||
Optimize = "-Ogeneral",
|
||||
OptimizeSize = "-Osize",
|
||||
OptimizeSpeed = "-Ospeed",
|
||||
Symbols = "-g",
|
||||
}
|
||||
|
||||
local cxxflags =
|
||||
{
|
||||
NoExceptions = "--no_exceptions",
|
||||
NoRTTI = "--no_rtti",
|
||||
UnsignedChar = "--unsigned_chars",
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
-- Map platforms to flags
|
||||
--
|
||||
|
||||
premake.ghs.platforms =
|
||||
{
|
||||
Native = {
|
||||
cppflags = "-MMD",
|
||||
},
|
||||
PowerPC = {
|
||||
cc = "ccppc",
|
||||
cxx = "cxppc",
|
||||
ar = "cxppc",
|
||||
cppflags = "-MMD",
|
||||
arflags = "-archive -o",
|
||||
},
|
||||
ARM = {
|
||||
cc = "ccarm",
|
||||
cxx = "cxarm",
|
||||
ar = "cxarm",
|
||||
cppflags = "-MMD",
|
||||
arflags = "-archive -o",
|
||||
}
|
||||
}
|
||||
|
||||
local platforms = premake.ghs.platforms
|
||||
|
||||
|
||||
--
|
||||
-- Returns a list of compiler flags, based on the supplied configuration.
|
||||
--
|
||||
|
||||
function premake.ghs.getcppflags(cfg)
|
||||
local flags = { }
|
||||
table.insert(flags, platforms[cfg.platform].cppflags)
|
||||
return flags
|
||||
end
|
||||
|
||||
|
||||
function premake.ghs.getcflags(cfg)
|
||||
local result = table.translate(cfg.flags, cflags)
|
||||
table.insert(result, platforms[cfg.platform].flags)
|
||||
return result
|
||||
end
|
||||
|
||||
|
||||
function premake.ghs.getcxxflags(cfg)
|
||||
local result = table.translate(cfg.flags, cxxflags)
|
||||
return result
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Returns a list of linker flags, based on the supplied configuration.
|
||||
--
|
||||
|
||||
function premake.ghs.getldflags(cfg)
|
||||
local result = { }
|
||||
|
||||
local platform = platforms[cfg.platform]
|
||||
table.insert(result, platform.flags)
|
||||
table.insert(result, platform.ldflags)
|
||||
|
||||
return result
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Return a list of library search paths. Technically part of LDFLAGS but need to
|
||||
-- be separated because of the way Visual Studio calls GCC for the PS3. See bug
|
||||
-- #1729227 for background on why library paths must be split.
|
||||
--
|
||||
|
||||
function premake.ghs.getlibdirflags(cfg)
|
||||
local result = { }
|
||||
for _, value in ipairs(premake.getlinks(cfg, "all", "directory")) do
|
||||
table.insert(result, '-L' .. _MAKE.esc(value))
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- This is poorly named: returns a list of linker flags for external
|
||||
-- (i.e. system, or non-sibling) libraries. See bug #1729227 for
|
||||
-- background on why the path must be split.
|
||||
--
|
||||
|
||||
function premake.ghs.getlinkflags(cfg)
|
||||
local result = {}
|
||||
for _, value in ipairs(premake.getlinks(cfg, "system", "name")) do
|
||||
table.insert(result, '-lnk=' .. _MAKE.esc(value))
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
--
|
||||
-- Get flags for passing to AR before the target is appended to the commandline
|
||||
-- prj: project
|
||||
-- cfg: configuration
|
||||
-- ndx: true if the final step of a split archive
|
||||
--
|
||||
|
||||
function premake.ghs.getarchiveflags(prj, cfg, ndx)
|
||||
if prj.options.ArchiveSplit then
|
||||
error("ghs tool does not support split archives")
|
||||
end
|
||||
|
||||
local result = {}
|
||||
local platform = platforms[cfg.platform]
|
||||
table.insert(result, platform.arflags)
|
||||
return result
|
||||
end
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Decorate defines for the GHS command line.
|
||||
--
|
||||
|
||||
function premake.ghs.getdefines(defines)
|
||||
local result = { }
|
||||
for _,def in ipairs(defines) do
|
||||
table.insert(result, '-D' .. def)
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Decorate include file search paths for the GCC command line.
|
||||
--
|
||||
|
||||
function premake.ghs.getincludedirs(includedirs)
|
||||
local result = { }
|
||||
for _,dir in ipairs(includedirs) do
|
||||
table.insert(result, "-I" .. _MAKE.esc(dir))
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Return platform specific project and configuration level
|
||||
-- makesettings blocks.
|
||||
--
|
||||
|
||||
function premake.ghs.getcfgsettings(cfg)
|
||||
return platforms[cfg.platform].cfgsettings
|
||||
end
|
@ -6,16 +6,21 @@
|
||||
Releases known: 9004, 9005
|
||||
|
||||
9005.6.84 - Last software release (1998)
|
||||
Install disks (7)
|
||||
Disktool
|
||||
Mini Patch Volume MPV4-84
|
||||
Install disks (7) - MN 19584
|
||||
Disktool - MN 19584
|
||||
Mini Patch Volume MPV4-84 - MN 19274, 19584-36, 19684-35
|
||||
Additional fixes up to year 2000
|
||||
RPDN Loadware
|
||||
RPDN Loadware Version 6 - MN 19293-35
|
||||
|
||||
9005.6.82 (1995)
|
||||
|
||||
|
||||
Install disks (7) - MN 19582
|
||||
Disktool (missing)
|
||||
Mini Patch Volume 2 - MN 19270
|
||||
Additional fixes up to year 1996
|
||||
RPDN Loadware Version 3.0 - MN 19293-35 PN 51D0553
|
||||
-->
|
||||
|
||||
<!-- System Software -->
|
||||
<softwarelist name="r9751" description="ROLM CBX 9751 floppy disk images">
|
||||
<software name="cbxr5684">
|
||||
<description>Siemens ROLM 9751 CBX 9005.6.84</description>
|
||||
@ -82,4 +87,64 @@
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="cbxr5682">
|
||||
<description>Siemens ROLM 9751 CBX 9005.6.82</description>
|
||||
<year>1995</year>
|
||||
<publisher>Siemens Rolm Communications Inc</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 1" />
|
||||
<dataarea name="flop" size="1474560">
|
||||
<rom name="Siemens.9751.CBX.Release.9005.6.82.Disk1.img" size="1474560" crc="e9600226" sha1="89d18c6b16e66a6dcb74850bca972e54dc89f043" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 2" />
|
||||
<dataarea name="flop" size="1474560">
|
||||
<rom name="Siemens.9751.CBX.Release.9005.6.82.Disk2.img" size="1474560" crc="7a8053b5" sha1="fa439bf102143114bd27501619b63d02268e9788" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 3" />
|
||||
<dataarea name="flop" size="1474560">
|
||||
<rom name="Siemens.9751.CBX.Release.9005.6.82.Disk3.img" size="1474560" crc="03b4d15a" sha1="1cbdea2407ae1ff1eaa8c08ecadd92cca39a5f00" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop4" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 4" />
|
||||
<dataarea name="flop" size="1474560">
|
||||
<rom name="Siemens.9751.CBX.Release.9005.6.82.Disk4.img" size="1474560" crc="28377232" sha1="81a1bd74dff32381aefe12faffdf08d4e6532f67" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop5" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 5" />
|
||||
<dataarea name="flop" size="1474560">
|
||||
<rom name="Siemens.9751.CBX.Release.9005.6.82.Disk5.img" size="1474560" crc="8a8eb36e" sha1="e31ac428d4775d22fbf911f3abb8cf7a416159c1" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop6" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 6" />
|
||||
<dataarea name="flop" size="1474560">
|
||||
<rom name="Siemens.9751.CBX.Release.9005.6.82.Disk6.img" size="1474560" crc="b2bd782f" sha1="dcd982467132c32ed04a53fe1327272cf1ba8320" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop7" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 7" />
|
||||
<dataarea name="flop" size="1474560">
|
||||
<rom name="Siemens.9751.CBX.Release.9005.6.82.Disk7.img" size="1474560" crc="1695649f" sha1="dd5a9e5af910237f9a4b7e12d5fade15d1e1ceeb" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop8" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Mini Patch Volume 2" />
|
||||
<dataarea name="flop" size="1474560">
|
||||
<rom name="Siemens.9751.CBX.Release.9005.6.82.Mini.Patch.Volume.2.img" size="1474560" crc="65d5021d" sha1="57a11686805f3873a4dde231a260943f2e2ab1b3" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop9" interface="floppy_3_5">
|
||||
<feature name="part_id" value="RPDN Loadware Version 3.0" />
|
||||
<dataarea name="flop" size="1474560">
|
||||
<rom name="Siemens.9751.CBX.Release.9005.6.82.RPDN.Loadware.img" size="1474560" crc="f082df1f" sha1="ccfce632a2433b6c5ad6cd75130e999ce98daaea" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
</softwarelist>
|
||||
|
13
makefile
13
makefile
@ -82,7 +82,6 @@
|
||||
# OPENMP = 1
|
||||
# FASTDEBUG = 1
|
||||
|
||||
# FILTER_DEPS = 1
|
||||
# SEPARATE_BIN = 1
|
||||
# PYTHON_EXECUTABLE = python3
|
||||
# SHADOW_CHECK = 1
|
||||
@ -637,10 +636,6 @@ ifdef FASTDEBUG
|
||||
PARAMS += --FASTDEBUG='$(FASTDEBUG)'
|
||||
endif
|
||||
|
||||
ifdef FILTER_DEPS
|
||||
PARAMS += --FILTER_DEPS='$(FILTER_DEPS)'
|
||||
endif
|
||||
|
||||
ifdef SEPARATE_BIN
|
||||
PARAMS += --SEPARATE_BIN='$(SEPARATE_BIN)'
|
||||
endif
|
||||
@ -829,6 +824,9 @@ endif
|
||||
|
||||
.PHONY: windows_x64
|
||||
windows_x64: generate $(PROJECTDIR)/gmake-mingw64-gcc/Makefile
|
||||
ifndef MINGW64
|
||||
$(error MINGW64 is not set)
|
||||
endif
|
||||
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/gmake-mingw64-gcc config=$(CONFIG)64 WINDRES=$(WINDRES) precompile
|
||||
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/gmake-mingw64-gcc config=$(CONFIG)64 WINDRES=$(WINDRES)
|
||||
|
||||
@ -847,6 +845,9 @@ endif
|
||||
|
||||
.PHONY: windows_x86
|
||||
windows_x86: generate $(PROJECTDIR)/gmake-mingw32-gcc/Makefile
|
||||
ifndef MINGW32
|
||||
$(error MINGW32 is not set)
|
||||
endif
|
||||
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/gmake-mingw32-gcc config=$(CONFIG)32 WINDRES=$(WINDRES) precompile
|
||||
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/gmake-mingw32-gcc config=$(CONFIG)32 WINDRES=$(WINDRES)
|
||||
|
||||
@ -1214,7 +1215,7 @@ generate: \
|
||||
$(GEN_FOLDERS) \
|
||||
$(patsubst $(SRC)/%.lay,$(GENDIR)/%.lh,$(LAYOUTS))
|
||||
|
||||
$(GENDIR)/%.lh: $(SRC)/%.lay scripts/build/file2str.py
|
||||
$(GENDIR)/%.lh: $(SRC)/%.lay scripts/build/file2str.py | $(GEN_FOLDERS)
|
||||
@echo Converting $<...
|
||||
$(SILENT)$(PYTHON) scripts/build/file2str.py $< $@ layout_$(basename $(notdir $<))
|
||||
|
||||
|
@ -27,7 +27,7 @@ def file_exists(root, srcfile, folder, inc_dir):
|
||||
includes.extend(inc_dir)
|
||||
for line in includes:
|
||||
try:
|
||||
fp = open(root + line + srcfile, 'rb')
|
||||
fp = open(root + line + srcfile, 'r')
|
||||
fp.close()
|
||||
return line + srcfile
|
||||
except IOError:
|
||||
@ -36,7 +36,7 @@ def file_exists(root, srcfile, folder, inc_dir):
|
||||
|
||||
def add_c_if_exists(root, fullname):
|
||||
try:
|
||||
fp = open(root + fullname, 'rb')
|
||||
fp = open(root + fullname, 'r')
|
||||
fp.close()
|
||||
deps_files_included.append(fullname)
|
||||
except IOError:
|
||||
@ -61,7 +61,7 @@ def add_rest_if_exists(root, srcfile,folder):
|
||||
|
||||
def parse_file_for_deps(root, srcfile, folder):
|
||||
try:
|
||||
fp = open(root + srcfile, 'rb')
|
||||
fp = open(root + srcfile, 'r')
|
||||
except IOError:
|
||||
return 1
|
||||
in_comment = 0
|
||||
@ -73,11 +73,11 @@ def parse_file_for_deps(root, srcfile, folder):
|
||||
while srcptr < len(line):
|
||||
c = line[srcptr]
|
||||
srcptr+=1
|
||||
if c==13 or c==10:
|
||||
if c==13 and line[srcptr]==10:
|
||||
if ord(c)==13 or ord(c)==10:
|
||||
if ord(c)==13 and ord(line[srcptr])==10:
|
||||
srcptr+=1
|
||||
continue
|
||||
if c==' ' or c==9:
|
||||
if c==' ' or ord(c)==9:
|
||||
continue
|
||||
if in_comment==1 and c=='*' and line[srcptr]=='/' :
|
||||
srcptr+=1
|
||||
@ -112,7 +112,7 @@ def parse_file_for_deps(root, srcfile, folder):
|
||||
|
||||
def parse_file(root, srcfile, folder):
|
||||
try:
|
||||
fp = open(root + srcfile, 'rb')
|
||||
fp = open(root + srcfile, 'r')
|
||||
except IOError:
|
||||
return 1
|
||||
in_comment = 0
|
||||
@ -124,11 +124,11 @@ def parse_file(root, srcfile, folder):
|
||||
while srcptr < len(line):
|
||||
c = line[srcptr]
|
||||
srcptr+=1
|
||||
if c==13 or c==10:
|
||||
if c==13 and line[srcptr]==10:
|
||||
if ord(c)==13 or ord(c)==10:
|
||||
if ord(c)==13 and ord(line[srcptr])==10:
|
||||
srcptr+=1
|
||||
continue
|
||||
if c==' ' or c==9:
|
||||
if c==' ' or ord(c)==9:
|
||||
continue
|
||||
if in_comment==1 and c=='*' and line[srcptr]=='/' :
|
||||
srcptr+=1
|
||||
@ -168,7 +168,7 @@ def parse_file(root, srcfile, folder):
|
||||
|
||||
def parse_file_for_drivers(root, srcfile):
|
||||
try:
|
||||
fp = open(root + srcfile, 'rb')
|
||||
fp = open(root + srcfile, 'r')
|
||||
except IOError:
|
||||
sys.stderr.write("Unable to open source file '%s'\n" % srcfile)
|
||||
return 1
|
||||
@ -181,11 +181,11 @@ def parse_file_for_drivers(root, srcfile):
|
||||
while srcptr < len(line):
|
||||
c = line[srcptr]
|
||||
srcptr+=1
|
||||
if c==13 or c==10:
|
||||
if c==13 and line[srcptr]==10:
|
||||
if ord(c)==13 or ord(c)==10:
|
||||
if ord(c)==13 and ord(line[srcptr])==10:
|
||||
srcptr+=1
|
||||
continue
|
||||
if c==' ' or c==9:
|
||||
if c==' ' or ord(c)==9:
|
||||
continue
|
||||
if in_comment==1 and c=='*' and line[srcptr]=='/' :
|
||||
srcptr+=1
|
||||
@ -209,7 +209,7 @@ def parse_file_for_drivers(root, srcfile):
|
||||
|
||||
def parse_lua_file(srcfile):
|
||||
try:
|
||||
fp = open(srcfile, 'rb')
|
||||
fp = open(srcfile, 'r')
|
||||
except IOError:
|
||||
sys.stderr.write("Unable to open source file '%s'\n" % srcfile)
|
||||
return 1
|
||||
|
@ -1,25 +0,0 @@
|
||||
function base_dir(f)
|
||||
{
|
||||
ne = split(f, s, "/")
|
||||
for(k=ne;k>=1 && s[k] != "src";k--);
|
||||
r = s[k]
|
||||
for(j=k+1;j<ne;j++)
|
||||
r = r "/" s[j]
|
||||
return r
|
||||
}
|
||||
|
||||
{
|
||||
for(i=1; i<=NF; i++) {
|
||||
if($i != "\\") {
|
||||
ff = $i
|
||||
fd = base_dir(ff)
|
||||
if(substr(ff,length(ff)) == ":") {
|
||||
root_dir = fd
|
||||
} else if(fd != root_dir) {
|
||||
if(fd == "src/emu" || fd == "src/osd" || fd == "src/lib/util")
|
||||
$i = ""
|
||||
}
|
||||
}
|
||||
}
|
||||
print
|
||||
}
|
@ -327,15 +327,6 @@ newoption {
|
||||
}
|
||||
}
|
||||
|
||||
newoption {
|
||||
trigger = "FILTER_DEPS",
|
||||
description = "Filter dependency files.",
|
||||
allowed = {
|
||||
{ "0", "Disabled" },
|
||||
{ "1", "Enabled" },
|
||||
}
|
||||
}
|
||||
|
||||
newoption {
|
||||
trigger = "SEPARATE_BIN",
|
||||
description = "Use separate bin folders.",
|
||||
@ -488,36 +479,6 @@ configuration { "Release", "vs*" }
|
||||
|
||||
configuration {}
|
||||
|
||||
local AWK = ""
|
||||
if (os.is("windows")) then
|
||||
AWK_TEST = backtick("awk --version 2> NUL")
|
||||
if (AWK_TEST~='') then
|
||||
AWK = "awk"
|
||||
else
|
||||
AWK_TEST = backtick("gawk --version 2> NUL")
|
||||
if (AWK_TEST~='') then
|
||||
AWK = "gawk"
|
||||
end
|
||||
end
|
||||
else
|
||||
AWK_TEST = backtick("awk --version 2> /dev/null")
|
||||
if (AWK_TEST~='') then
|
||||
AWK = "awk"
|
||||
else
|
||||
AWK_TEST = backtick("gawk --version 2> /dev/null")
|
||||
if (AWK_TEST~='') then
|
||||
AWK = "gawk"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if (_OPTIONS["FILTER_DEPS"]=="1") and (AWK~='') then
|
||||
postcompiletasks {
|
||||
AWK .. " -f ../../../../../scripts/depfilter.awk $(@:%.o=%.d) > $(@:%.o=%.dep)",
|
||||
"mv $(@:%.o=%.dep) $(@:%.o=%.d)",
|
||||
}
|
||||
end
|
||||
|
||||
msgcompile ("Compiling $(subst ../,,$<)...")
|
||||
|
||||
msgcompile_objc ("Objective-C compiling $(subst ../,,$<)...")
|
||||
|
@ -14,6 +14,7 @@
|
||||
|
||||
- version A (EF9365, 512x512 interlaced, 1 page)
|
||||
- version B (EF9366, 512x256 non-interlaced, 2 pages)
|
||||
- 256KB version ROM
|
||||
|
||||
*/
|
||||
|
||||
@ -35,8 +36,8 @@
|
||||
// DEVICE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
const device_type CBM2_HRG_A = &device_creator<cbm2_graphic_cartridge_a_device>;
|
||||
const device_type CBM2_HRG_B = &device_creator<cbm2_graphic_cartridge_b_device>;
|
||||
const device_type CBM2_HRG_A = &device_creator<cbm2_hrg_a_t>;
|
||||
const device_type CBM2_HRG_B = &device_creator<cbm2_hrg_b_t>;
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -53,12 +54,32 @@ ROM_END
|
||||
// rom_region - device-specific ROM region
|
||||
//-------------------------------------------------
|
||||
|
||||
const rom_entry *cbm2_graphic_cartridge_device::device_rom_region() const
|
||||
const rom_entry *cbm2_hrg_t::device_rom_region() const
|
||||
{
|
||||
return ROM_NAME( cbm2_hrg );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ADDRESS_MAP( hrg_a_map )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( hrg_a_map, AS_0, 8, cbm2_hrg_a_t )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
|
||||
AM_RANGE(0x0000, 0x7fff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ADDRESS_MAP( hrg_b_map )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( hrg_b_map, AS_0, 8, cbm2_hrg_b_t )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
|
||||
AM_RANGE(0x0000, 0x3fff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG_FRAGMENT( cbm2_hrg_a )
|
||||
//-------------------------------------------------
|
||||
@ -69,9 +90,11 @@ static MACHINE_CONFIG_FRAGMENT( cbm2_hrg_a )
|
||||
MCFG_SCREEN_SIZE(512, 512)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 512-1)
|
||||
MCFG_SCREEN_REFRESH_RATE(25)
|
||||
MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette")
|
||||
|
||||
MCFG_DEVICE_ADD(EF9365_TAG, EF9365, 1750000)
|
||||
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, hrg_a_map)
|
||||
MCFG_EF936X_PALETTE("palette")
|
||||
MCFG_EF936X_BITPLANES_CNT(1);
|
||||
MCFG_EF936X_DISPLAYMODE(EF936X_512x512_DISPLAY_MODE);
|
||||
@ -88,9 +111,11 @@ static MACHINE_CONFIG_FRAGMENT( cbm2_hrg_b )
|
||||
MCFG_SCREEN_SIZE(512, 256)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette")
|
||||
|
||||
MCFG_DEVICE_ADD(EF9366_TAG, EF9365, 1750000)
|
||||
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, hrg_b_map)
|
||||
MCFG_EF936X_PALETTE("palette")
|
||||
MCFG_EF936X_BITPLANES_CNT(1);
|
||||
MCFG_EF936X_DISPLAYMODE(EF936X_512x256_DISPLAY_MODE);
|
||||
@ -102,12 +127,12 @@ MACHINE_CONFIG_END
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor cbm2_graphic_cartridge_a_device::device_mconfig_additions() const
|
||||
machine_config_constructor cbm2_hrg_a_t::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cbm2_hrg_a );
|
||||
}
|
||||
|
||||
machine_config_constructor cbm2_graphic_cartridge_b_device::device_mconfig_additions() const
|
||||
machine_config_constructor cbm2_hrg_b_t::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cbm2_hrg_b );
|
||||
}
|
||||
@ -119,10 +144,10 @@ machine_config_constructor cbm2_graphic_cartridge_b_device::device_mconfig_addit
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// cbm2_graphic_cartridge_device - constructor
|
||||
// cbm2_hrg_t - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
cbm2_graphic_cartridge_device::cbm2_graphic_cartridge_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) :
|
||||
cbm2_hrg_t::cbm2_hrg_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) :
|
||||
device_t(mconfig, type, name, tag, owner, clock, shortname, source),
|
||||
device_cbm2_expansion_card_interface(mconfig, *this),
|
||||
m_gdc(*this, EF9366_TAG),
|
||||
@ -130,13 +155,13 @@ cbm2_graphic_cartridge_device::cbm2_graphic_cartridge_device(const machine_confi
|
||||
{
|
||||
}
|
||||
|
||||
cbm2_graphic_cartridge_a_device::cbm2_graphic_cartridge_a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
cbm2_graphic_cartridge_device(mconfig, CBM2_HRG_A, "CBM 500/600/700 High Resolution Graphics (A)", tag, owner, clock, "cbm2_hrga", __FILE__)
|
||||
cbm2_hrg_a_t::cbm2_hrg_a_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
cbm2_hrg_t(mconfig, CBM2_HRG_A, "CBM 500/600/700 High Resolution Graphics (A)", tag, owner, clock, "cbm2_hrga", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
cbm2_graphic_cartridge_b_device::cbm2_graphic_cartridge_b_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
cbm2_graphic_cartridge_device(mconfig, CBM2_HRG_B, "CBM 500/600/700 High Resolution Graphics (B)", tag, owner, clock, "cbm2_hrgb", __FILE__)
|
||||
cbm2_hrg_b_t::cbm2_hrg_b_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
cbm2_hrg_t(mconfig, CBM2_HRG_B, "CBM 500/600/700 High Resolution Graphics (B)", tag, owner, clock, "cbm2_hrgb", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
@ -145,10 +170,8 @@ cbm2_graphic_cartridge_b_device::cbm2_graphic_cartridge_b_device(const machine_c
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
||||
void cbm2_graphic_cartridge_device::device_start()
|
||||
void cbm2_hrg_t::device_start()
|
||||
{
|
||||
m_gdc->set_color_entry(0, 0, 0, 0);
|
||||
m_gdc->set_color_entry(1, 0, 0xff, 00);
|
||||
}
|
||||
|
||||
|
||||
@ -156,7 +179,7 @@ void cbm2_graphic_cartridge_device::device_start()
|
||||
// device_reset - device-specific reset
|
||||
//-------------------------------------------------
|
||||
|
||||
void cbm2_graphic_cartridge_device::device_reset()
|
||||
void cbm2_hrg_t::device_reset()
|
||||
{
|
||||
m_gdc->reset();
|
||||
}
|
||||
@ -166,7 +189,7 @@ void cbm2_graphic_cartridge_device::device_reset()
|
||||
// cbm2_bd_r - cartridge data read
|
||||
//-------------------------------------------------
|
||||
|
||||
UINT8 cbm2_graphic_cartridge_device::cbm2_bd_r(address_space &space, offs_t offset, UINT8 data, int csbank1, int csbank2, int csbank3)
|
||||
UINT8 cbm2_hrg_t::cbm2_bd_r(address_space &space, offs_t offset, UINT8 data, int csbank1, int csbank2, int csbank3)
|
||||
{
|
||||
if (!csbank3)
|
||||
{
|
||||
@ -197,7 +220,7 @@ UINT8 cbm2_graphic_cartridge_device::cbm2_bd_r(address_space &space, offs_t offs
|
||||
}
|
||||
else if (offset >= 0x7ff0)
|
||||
{
|
||||
data = m_gdc->data_r(space, offset & 0x07);
|
||||
data = m_gdc->data_r(space, offset & 0x0f);
|
||||
}
|
||||
}
|
||||
|
||||
@ -209,7 +232,7 @@ UINT8 cbm2_graphic_cartridge_device::cbm2_bd_r(address_space &space, offs_t offs
|
||||
// cbm2_bd_w - cartridge data write
|
||||
//-------------------------------------------------
|
||||
|
||||
void cbm2_graphic_cartridge_device::cbm2_bd_w(address_space &space, offs_t offset, UINT8 data, int csbank1, int csbank2, int csbank3)
|
||||
void cbm2_hrg_t::cbm2_bd_w(address_space &space, offs_t offset, UINT8 data, int csbank1, int csbank2, int csbank3)
|
||||
{
|
||||
if (!csbank3)
|
||||
{
|
||||
@ -232,7 +255,7 @@ void cbm2_graphic_cartridge_device::cbm2_bd_w(address_space &space, offs_t offse
|
||||
}
|
||||
else if (offset >= 0x7ff0)
|
||||
{
|
||||
m_gdc->data_w(space, offset & 0x07, data);
|
||||
m_gdc->data_w(space, offset & 0x0f, data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -21,14 +21,14 @@
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
// ======================> cbm2_graphic_cartridge_device
|
||||
// ======================> cbm2_hrg_t
|
||||
|
||||
class cbm2_graphic_cartridge_device : public device_t,
|
||||
public device_cbm2_expansion_card_interface
|
||||
class cbm2_hrg_t : public device_t,
|
||||
public device_cbm2_expansion_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
cbm2_graphic_cartridge_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
cbm2_hrg_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
|
||||
// optional information overrides
|
||||
virtual const rom_entry *device_rom_region() const override;
|
||||
@ -48,26 +48,26 @@ private:
|
||||
};
|
||||
|
||||
|
||||
// ======================> cbm2_graphic_cartridge_a_device
|
||||
// ======================> cbm2_hrg_a_t
|
||||
|
||||
class cbm2_graphic_cartridge_a_device : public cbm2_graphic_cartridge_device
|
||||
class cbm2_hrg_a_t : public cbm2_hrg_t
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
cbm2_graphic_cartridge_a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
cbm2_hrg_a_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
};
|
||||
|
||||
|
||||
// ======================> cbm2_graphic_cartridge_b_device
|
||||
// ======================> cbm2_hrg_b_t
|
||||
|
||||
class cbm2_graphic_cartridge_b_device : public cbm2_graphic_cartridge_device
|
||||
class cbm2_hrg_b_t : public cbm2_hrg_t
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
cbm2_graphic_cartridge_b_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
cbm2_hrg_b_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
@ -62,6 +62,26 @@ const rom_entry *cbm8000_hsg_t::device_rom_region() const
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ADDRESS_MAP( hsg_a_map )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( hsg_a_map, AS_0, 8, cbm8000_hsg_a_t )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
|
||||
AM_RANGE(0x0000, 0x7fff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ADDRESS_MAP( hsg_b_map )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( hsg_b_map, AS_0, 8, cbm8000_hsg_b_t )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
|
||||
AM_RANGE(0x0000, 0x3fff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG_FRAGMENT( cbm8000_hsg_a )
|
||||
//-------------------------------------------------
|
||||
@ -72,9 +92,11 @@ static MACHINE_CONFIG_FRAGMENT( cbm8000_hsg_a )
|
||||
MCFG_SCREEN_SIZE(512, 512)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 512-1)
|
||||
MCFG_SCREEN_REFRESH_RATE(25)
|
||||
MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette")
|
||||
|
||||
MCFG_DEVICE_ADD(EF9365_TAG, EF9365, 1750000)
|
||||
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, hsg_a_map)
|
||||
MCFG_EF936X_PALETTE("palette")
|
||||
MCFG_EF936X_BITPLANES_CNT(1);
|
||||
MCFG_EF936X_DISPLAYMODE(EF936X_512x512_DISPLAY_MODE);
|
||||
@ -91,9 +113,11 @@ static MACHINE_CONFIG_FRAGMENT( cbm8000_hsg_b )
|
||||
MCFG_SCREEN_SIZE(512, 256)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette")
|
||||
|
||||
MCFG_DEVICE_ADD(EF9366_TAG, EF9365, 1750000)
|
||||
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, hsg_b_map)
|
||||
MCFG_EF936X_PALETTE("palette")
|
||||
MCFG_EF936X_BITPLANES_CNT(1);
|
||||
MCFG_EF936X_DISPLAYMODE(EF936X_512x256_DISPLAY_MODE);
|
||||
@ -151,8 +175,6 @@ cbm8000_hsg_b_t::cbm8000_hsg_b_t(const machine_config &mconfig, const char *tag,
|
||||
|
||||
void cbm8000_hsg_t::device_start()
|
||||
{
|
||||
m_gdc->set_color_entry(0, 0, 0, 0);
|
||||
m_gdc->set_color_entry(1, 0, 0xff, 00);
|
||||
}
|
||||
|
||||
|
||||
|
@ -110,7 +110,15 @@ tmp95c063_device::tmp95c063_device(const machine_config &mconfig, const char *ta
|
||||
m_portd_read(*this),
|
||||
m_portd_write(*this),
|
||||
m_porte_read(*this),
|
||||
m_porte_write(*this)
|
||||
m_porte_write(*this),
|
||||
m_an0_read(*this),
|
||||
m_an1_read(*this),
|
||||
m_an2_read(*this),
|
||||
m_an3_read(*this),
|
||||
m_an4_read(*this),
|
||||
m_an5_read(*this),
|
||||
m_an6_read(*this),
|
||||
m_an7_read(*this)
|
||||
{
|
||||
}
|
||||
|
||||
@ -1732,7 +1740,151 @@ void tmp95c063_device::tlcs900_check_irqs()
|
||||
|
||||
void tmp95c063_device::tlcs900_handle_ad()
|
||||
{
|
||||
// TODO
|
||||
if ( m_ad_cycles_left > 0 )
|
||||
{
|
||||
m_ad_cycles_left -= m_cycles;
|
||||
if ( m_ad_cycles_left <= 0 )
|
||||
{
|
||||
int ad_value;
|
||||
|
||||
/* Store A/D converted value */
|
||||
if ((m_reg[TMP95C063_ADMOD1] & 0x10) == 0) // conversion channel fixed
|
||||
{
|
||||
switch( m_reg[TMP95C063_ADMOD2] & 0x07 )
|
||||
{
|
||||
case 0x00: // AN0
|
||||
ad_value = m_an0_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG04L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG04H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
case 0x01: // AN1
|
||||
ad_value = m_an1_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG15L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG15H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
case 0x02: // AN2
|
||||
ad_value = m_an2_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG26L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG26H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
case 0x03: // AN3
|
||||
ad_value = m_an3_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG37L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG37H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
case 0x04: // AN4
|
||||
ad_value = m_an4_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG04L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG04H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
case 0x05: // AN5
|
||||
ad_value = m_an5_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG15L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG15H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
case 0x06: // AN6
|
||||
ad_value = m_an6_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG26L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG26H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
case 0x07: // AN7
|
||||
ad_value = m_an7_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG37L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG37H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else // conversion channel sweep
|
||||
{
|
||||
switch( m_reg[TMP95C063_ADMOD2] & 0x07 )
|
||||
{
|
||||
case 0x00: // AN0
|
||||
ad_value = m_an0_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG04L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG04H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
case 0x01: // AN0 -> AN1
|
||||
ad_value = m_an0_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG04L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG04H] = (ad_value >> 2) & 0xff;
|
||||
ad_value = m_an1_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG15L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG15H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
case 0x02: // AN0 -> AN1 -> AN2
|
||||
ad_value = m_an0_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG04L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG04H] = (ad_value >> 2) & 0xff;
|
||||
ad_value = m_an1_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG15L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG15H] = (ad_value >> 2) & 0xff;
|
||||
ad_value = m_an2_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG26L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG26H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
case 0x03: // AN0 -> AN1 -> AN2 -> AN3
|
||||
ad_value = m_an0_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG04L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG04H] = (ad_value >> 2) & 0xff;
|
||||
ad_value = m_an1_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG15L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG15H] = (ad_value >> 2) & 0xff;
|
||||
ad_value = m_an2_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG26L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG26H] = (ad_value >> 2) & 0xff;
|
||||
ad_value = m_an3_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG37L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG37H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
case 0x04: // AN4
|
||||
ad_value = m_an4_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG04L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG04H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
case 0x05: // AN4 -> AN5
|
||||
ad_value = m_an4_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG04L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG04H] = (ad_value >> 2) & 0xff;
|
||||
ad_value = m_an5_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG15L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG15H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
case 0x06: // AN4 -> AN5 -> AN6
|
||||
ad_value = m_an4_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG04L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG04H] = (ad_value >> 2) & 0xff;
|
||||
ad_value = m_an5_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG15L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG15H] = (ad_value >> 2) & 0xff;
|
||||
ad_value = m_an6_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG26L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG26H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
case 0x07: // AN4 -> AN5 -> AN6 -> AN7
|
||||
ad_value = m_an4_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG04L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG04H] = (ad_value >> 2) & 0xff;
|
||||
ad_value = m_an5_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG15L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG15H] = (ad_value >> 2) & 0xff;
|
||||
ad_value = m_an6_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG26L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG26H] = (ad_value >> 2) & 0xff;
|
||||
ad_value = m_an7_read(0) & 0x3ff;
|
||||
m_reg[TMP95C063_ADREG37L] = (ad_value & 0x3) << 6;
|
||||
m_reg[TMP95C063_ADREG37H] = (ad_value >> 2) & 0xff;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Clear BUSY flag, set END flag */
|
||||
m_reg[TMP95C063_ADMOD1] &= ~ 0x40;
|
||||
m_reg[TMP95C063_ADMOD1] |= 0x80;
|
||||
|
||||
m_reg[TMP95C063_INTE0AD] |= 0x80;
|
||||
m_check_irqs = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1762,6 +1914,14 @@ void tmp95c063_device::device_start()
|
||||
m_portd_write.resolve_safe();
|
||||
m_porte_read.resolve_safe(0);
|
||||
m_porte_write.resolve_safe();
|
||||
m_an0_read.resolve_safe(0);
|
||||
m_an1_read.resolve_safe(0);
|
||||
m_an2_read.resolve_safe(0);
|
||||
m_an3_read.resolve_safe(0);
|
||||
m_an4_read.resolve_safe(0);
|
||||
m_an5_read.resolve_safe(0);
|
||||
m_an6_read.resolve_safe(0);
|
||||
m_an7_read.resolve_safe(0);
|
||||
}
|
||||
|
||||
void tmp95c063_device::device_reset()
|
||||
@ -2050,6 +2210,26 @@ WRITE8_MEMBER( tmp95c063_device::internal_w )
|
||||
case TMP95C063_IIMC:
|
||||
break;
|
||||
|
||||
case TMP95C063_ADMOD1:
|
||||
// conversion start
|
||||
if (data & 0x04)
|
||||
{
|
||||
data &= ~0x04;
|
||||
data |= 0x40;
|
||||
|
||||
switch ((m_reg[TMP95C063_ADMOD2] >> 4) & 3)
|
||||
{
|
||||
case 0: m_ad_cycles_left = 160; break;
|
||||
case 1: m_ad_cycles_left = 320; break;
|
||||
case 2: m_ad_cycles_left = 640; break;
|
||||
case 3: m_ad_cycles_left = 1280; break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case TMP95C063_ADMOD2:
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -743,6 +743,14 @@ private:
|
||||
#define MCFG_TMP95C063_PORTD_WRITE( _port_write ) tmp95c063_device::set_portd_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_PORTE_READ( _port_read ) tmp95c063_device::set_porte_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORTE_WRITE( _port_write ) tmp95c063_device::set_porte_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_AN0_READ( _port_read ) tmp95c063_device::set_an0_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_AN1_READ( _port_read ) tmp95c063_device::set_an1_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_AN2_READ( _port_read ) tmp95c063_device::set_an2_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_AN3_READ( _port_read ) tmp95c063_device::set_an3_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_AN4_READ( _port_read ) tmp95c063_device::set_an4_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_AN5_READ( _port_read ) tmp95c063_device::set_an5_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_AN6_READ( _port_read ) tmp95c063_device::set_an6_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_AN7_READ( _port_read ) tmp95c063_device::set_an7_read( *device, DEVCB_##_port_read );
|
||||
|
||||
class tmp95c063_device : public tlcs900h_device
|
||||
{
|
||||
@ -776,6 +784,14 @@ public:
|
||||
template<class _Object> static devcb_base &set_portd_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_portd_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_porte_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_porte_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_porte_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_porte_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an0_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_an0_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an1_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_an1_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an2_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_an2_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an3_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_an3_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an4_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_an4_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an5_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_an5_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an6_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_an6_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an7_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_an7_read.set_callback(object); }
|
||||
|
||||
protected:
|
||||
virtual void device_config_complete() override;
|
||||
@ -834,6 +850,16 @@ private:
|
||||
// Port E: 8 bit I/O.
|
||||
devcb_read8 m_porte_read;
|
||||
devcb_write8 m_porte_write;
|
||||
|
||||
// analogue inputs, sampled at 10 bits
|
||||
devcb_read16 m_an0_read;
|
||||
devcb_read16 m_an1_read;
|
||||
devcb_read16 m_an2_read;
|
||||
devcb_read16 m_an3_read;
|
||||
devcb_read16 m_an4_read;
|
||||
devcb_read16 m_an5_read;
|
||||
devcb_read16 m_an6_read;
|
||||
devcb_read16 m_an7_read;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -1,93 +1,29 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Couriersud
|
||||
// copyright-holders:hap, Couriersud
|
||||
/**********************************************************************************************
|
||||
|
||||
Texas Instruments TMS6100 Voice Synthesis Memory (VSM)
|
||||
|
||||
References:
|
||||
- TMS 6100 Voice Synthesis Memory Data Manual
|
||||
- TMS 6125 Voice Synthesis Memory Data Manual
|
||||
- Speak & Spell patent US4189779 for low-level documentation
|
||||
- 1982 Mitsubishi Data Book (M58819S section)
|
||||
|
||||
Written for MAME by Couriersud
|
||||
|
||||
Todo:
|
||||
- implement CS
|
||||
- implement clock pin(CLK) and gating(RCK) properly
|
||||
- implement chip addressing (0-15 mask programmed)
|
||||
|
||||
TMS6100:
|
||||
|
||||
+-----------------+
|
||||
VDD | 1 28 | NC
|
||||
NC | 2 27 | NC
|
||||
DATA/ADD1 | 3 26 | NC
|
||||
DATA/ADD2 | 4 25 | NC
|
||||
DATA/ADD4 | 5 24 | NC
|
||||
DATA/ADD8 | 6 23 | NC
|
||||
CLK | 7 22 | NC
|
||||
NC | 8 21 | NC
|
||||
NC | 9 20 | NC
|
||||
M0 | 10 19 | NC
|
||||
M1 | 11 18 | NC
|
||||
NC | 12 17 | NC
|
||||
/CS | 13 16 | NC
|
||||
VSS | 14 15 | NC
|
||||
+-----------------+
|
||||
|
||||
TMS6125:
|
||||
|
||||
+---------+
|
||||
DATA/ADD1 | 1 16 | NC
|
||||
DATA/ADD2 | 2 15 | NC
|
||||
DATA/ADD4 | 3 14 | NC
|
||||
RCK | 4 13 | NC
|
||||
CLK | 5 12 | VDD
|
||||
DATA/ADD8 | 6 11 | CS
|
||||
NC | 7 10 | M1
|
||||
M0 | 8 9 | VSS
|
||||
+---------+
|
||||
|
||||
Mitsubishi M58819S EPROM Interface:
|
||||
|
||||
+-----------------+
|
||||
AD0 | 1 40 | AD1
|
||||
VDDl | 2 39 | AD2
|
||||
VDD | 3 38 | AD3
|
||||
A0 | 4 37 | NC
|
||||
NC | 5 36 | AD4
|
||||
NC | 6 35 | AD5
|
||||
A1 | 7 34 | AD6
|
||||
A2 | 8 33 | AD7
|
||||
A3/Q | 9 32 | AD8
|
||||
CLK | 10 31 | AD9
|
||||
POW | 11 30 | AD10
|
||||
SL | 12 29 | AD11
|
||||
C0 | 13 28 | AD12
|
||||
C1 | 14 27 | AD13
|
||||
NC | 15 26 | D7
|
||||
NC | 16 25 | NC
|
||||
VSS | 17 24 | D6
|
||||
D0 | 18 23 | D5
|
||||
D1 | 19 22 | D4
|
||||
D2 | 20 21 | D3
|
||||
+-----------------+
|
||||
|
||||
The M58819S is used as an interface to external speech eproms.
|
||||
Other than not having its ROM internal, it is a clone of TMS6100.
|
||||
C0/C1 = command pins, equal to M0/M1
|
||||
SL = PROM expansion input
|
||||
POC = power-on clear (think reset)
|
||||
TODO:
|
||||
- implement clock pin(CLK) properly, xtal/timer
|
||||
- command processing timing is not accurate, on the real chip it will take a few microseconds
|
||||
- current implementation does not regard multi-chip configuration and pretends it is 1 chip,
|
||||
this will work fine under normal circumstances since CS would be disabled on invalid address
|
||||
- implement chip addressing (0-15 mask programmed, see above)
|
||||
- M58819S pins SL(PROM expansion input), POC(reset)
|
||||
|
||||
***********************************************************************************************/
|
||||
|
||||
#include "tms6100.h"
|
||||
|
||||
#define VERBOSE (0)
|
||||
|
||||
#if VERBOSE
|
||||
#define LOG(x) logerror x
|
||||
#else
|
||||
#define LOG(x)
|
||||
#endif
|
||||
|
||||
#define TMS6100_READ_PENDING 0x01
|
||||
#define TMS6100_NEXT_READ_IS_DUMMY 0x02
|
||||
// device definitions
|
||||
|
||||
const device_type TMS6100 = &device_creator<tms6100_device>;
|
||||
|
||||
@ -95,7 +31,7 @@ tms6100_device::tms6100_device(const machine_config &mconfig, device_type type,
|
||||
: device_t(mconfig, type, name, tag, owner, clock, shortname, source),
|
||||
m_rom(*this, DEVICE_SELF),
|
||||
m_reverse_bits(false),
|
||||
m_4bit_read(false)
|
||||
m_4bit_mode(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -103,7 +39,7 @@ tms6100_device::tms6100_device(const machine_config &mconfig, const char *tag, d
|
||||
: device_t(mconfig, TMS6100, "TMS6100", tag, owner, clock, "tms6100", __FILE__),
|
||||
m_rom(*this, DEVICE_SELF),
|
||||
m_reverse_bits(false),
|
||||
m_4bit_read(false)
|
||||
m_4bit_mode(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -114,33 +50,43 @@ m58819_device::m58819_device(const machine_config &mconfig, const char *tag, dev
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
||||
void tms6100_device::device_start()
|
||||
{
|
||||
m_rommask = m_rom.bytes() - 1;
|
||||
|
||||
// zerofill
|
||||
m_addr_bits = 0;
|
||||
m_address = 0;
|
||||
m_address_latch = 0;
|
||||
m_loadptr = 0;
|
||||
m_sa = 0;
|
||||
m_count = 0;
|
||||
m_prev_cmd = 0;
|
||||
m_prev_m = 0;
|
||||
|
||||
m_add = 0;
|
||||
m_data = 0;
|
||||
m_m0 = 0;
|
||||
m_m1 = 0;
|
||||
m_state = 0;
|
||||
m_data = 0;
|
||||
m_tms_clock = 0;
|
||||
m_cs = 1;
|
||||
m_clk = 0;
|
||||
m_rck = 0;
|
||||
|
||||
// save device variables
|
||||
save_item(NAME(m_addr_bits));
|
||||
// register for savestates
|
||||
save_item(NAME(m_address));
|
||||
save_item(NAME(m_address_latch));
|
||||
save_item(NAME(m_loadptr));
|
||||
save_item(NAME(m_sa));
|
||||
save_item(NAME(m_count));
|
||||
save_item(NAME(m_prev_cmd));
|
||||
save_item(NAME(m_prev_m));
|
||||
save_item(NAME(m_add));
|
||||
save_item(NAME(m_data));
|
||||
save_item(NAME(m_m0));
|
||||
save_item(NAME(m_m1));
|
||||
save_item(NAME(m_state));
|
||||
save_item(NAME(m_data));
|
||||
save_item(NAME(m_tms_clock));
|
||||
save_item(NAME(m_cs));
|
||||
save_item(NAME(m_clk));
|
||||
save_item(NAME(m_rck));
|
||||
}
|
||||
|
||||
void m58819_device::device_start()
|
||||
@ -162,94 +108,153 @@ WRITE_LINE_MEMBER(tms6100_device::m1_w)
|
||||
m_m1 = (state) ? 1 : 0;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(tms6100_device::addr_w)
|
||||
WRITE_LINE_MEMBER(tms6100_device::cs_w)
|
||||
{
|
||||
m_addr_bits = data & 0xf;
|
||||
// chip select pin
|
||||
m_cs = (state) ? 1 : 0;
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(tms6100_device::rck_w)
|
||||
{
|
||||
// gate/mask for clk
|
||||
m_rck = (state) ? 1 : 0;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(tms6100_device::add_w)
|
||||
{
|
||||
m_add = data & 0xf;
|
||||
}
|
||||
|
||||
READ8_MEMBER(tms6100_device::data_r)
|
||||
{
|
||||
return m_data;
|
||||
return m_data & 0xf;
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER(tms6100_device::data_line_r)
|
||||
{
|
||||
// DATA/ADD8
|
||||
return m_data;
|
||||
return (m_data & 8) ? 1 : 0;
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(tms6100_device::clk_w)
|
||||
{
|
||||
// process on falling edge
|
||||
if (m_clk && !m_rck && !state)
|
||||
{
|
||||
if (m_cs)
|
||||
{
|
||||
// new command enabled on rising edge of m0/m1
|
||||
UINT8 m = m_m1 << 1 | m_m0;
|
||||
if ((m & ~m_prev_m & 1) || (m & ~m_prev_m & 2))
|
||||
handle_command(m);
|
||||
|
||||
m_prev_m = m;
|
||||
}
|
||||
}
|
||||
|
||||
m_clk = (state) ? 1 : 0;
|
||||
}
|
||||
|
||||
|
||||
// CLK/RCK pin
|
||||
// m0/m1 commands
|
||||
|
||||
WRITE_LINE_MEMBER(tms6100_device::romclock_w)
|
||||
void tms6100_device::handle_command(UINT8 cmd)
|
||||
{
|
||||
// process on falling edge
|
||||
if (m_tms_clock && !state)
|
||||
enum
|
||||
{
|
||||
switch (m_m1 << 1 | m_m0)
|
||||
{
|
||||
case 0x00:
|
||||
// NOP in datasheet, not really ...
|
||||
if (m_state & TMS6100_READ_PENDING)
|
||||
M_NOP = 0, M_TB, M_LA, M_RB
|
||||
};
|
||||
|
||||
switch (cmd)
|
||||
{
|
||||
// TB: transfer bit (read)
|
||||
case M_TB:
|
||||
if (m_prev_cmd == M_LA)
|
||||
{
|
||||
if (m_state & TMS6100_NEXT_READ_IS_DUMMY)
|
||||
// dummy read after LA
|
||||
m_count = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
// load new data from rom
|
||||
if (m_count == 0)
|
||||
{
|
||||
LOG(("loaded address %08x\n", m_address_latch));
|
||||
m_address = (m_address_latch << 3);
|
||||
m_address_latch = 0;
|
||||
m_loadptr = 0;
|
||||
m_state &= ~TMS6100_NEXT_READ_IS_DUMMY;
|
||||
m_sa = m_rom[m_address & m_rommask];
|
||||
|
||||
// M58819S reads serial data reversed
|
||||
if (m_reverse_bits)
|
||||
m_sa = BITSWAP8(m_sa,0,1,2,3,4,5,6,7);
|
||||
}
|
||||
else
|
||||
{
|
||||
// read bit(s) at address
|
||||
UINT8 word = m_rom[m_address >> 3];
|
||||
if (m_reverse_bits)
|
||||
word = BITSWAP8(word,0,1,2,3,4,5,6,7);
|
||||
|
||||
if (m_4bit_read)
|
||||
{
|
||||
m_data = word >> (m_address & 4) & 0xf;
|
||||
m_address += 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_data = word >> (m_address & 7) & 1;
|
||||
m_address++;
|
||||
}
|
||||
// or shift(rotate) right
|
||||
m_sa = (m_sa >> 1) | (m_sa << 7 & 0x80);
|
||||
}
|
||||
m_state &= ~TMS6100_READ_PENDING;
|
||||
|
||||
// output to DATA pin(s)
|
||||
if (!m_4bit_mode)
|
||||
{
|
||||
// 1-bit mode: SA0 to ADD8/DATA
|
||||
m_data = m_sa << 3 & 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 4-bit mode: SA0-3 or SA3-6(!) to DATA
|
||||
if (m_count & 1)
|
||||
m_data = m_sa >> 3 & 0xf;
|
||||
else
|
||||
m_data = m_sa & 0xf;
|
||||
}
|
||||
|
||||
// 8 bits in 1-bit mode, otherwise 2 nybbles
|
||||
m_count = (m_count + 1) & (m_4bit_mode ? 1 : 7);
|
||||
|
||||
// TB8
|
||||
if (m_count == 0)
|
||||
m_address++; // CS bits too
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x01:
|
||||
// READ
|
||||
m_state |= TMS6100_READ_PENDING;
|
||||
break;
|
||||
|
||||
case 0x02:
|
||||
// LOAD ADDRESS
|
||||
m_state |= TMS6100_NEXT_READ_IS_DUMMY;
|
||||
m_address_latch |= (m_addr_bits << m_loadptr);
|
||||
LOG(("loaded address latch %08x\n", m_address_latch));
|
||||
m_loadptr += 4;
|
||||
break;
|
||||
|
||||
case 0x03:
|
||||
// READ AND BRANCH
|
||||
if (m_state & TMS6100_NEXT_READ_IS_DUMMY)
|
||||
|
||||
// LA: load address
|
||||
case M_LA:
|
||||
if (m_prev_cmd == M_TB)
|
||||
{
|
||||
m_state |= TMS6100_READ_PENDING;
|
||||
m_state &= ~TMS6100_NEXT_READ_IS_DUMMY; // clear - no dummy read according to datasheet
|
||||
m_address = m_rom[m_address_latch] | (m_rom[m_address_latch+1] << 8);
|
||||
m_address &= 0x3fff; // 14 bits
|
||||
LOG(("loaded indirect address %04x\n", m_address));
|
||||
m_address = (m_address << 3);
|
||||
m_address_latch = 0;
|
||||
m_loadptr = 0;
|
||||
// start LA after TB
|
||||
m_address = (m_address & ~0xf) | m_add;
|
||||
m_count = 0;
|
||||
}
|
||||
else if (m_prev_cmd == M_LA)
|
||||
{
|
||||
// load consecutive address bits (including CS bits)
|
||||
// the 8-step counter PLA is shared between LA and TB
|
||||
if (m_count < 4)
|
||||
{
|
||||
const UINT8 shift = 4 * (m_count+1);
|
||||
m_address = (m_address & ~(0xf << shift)) | (m_add << shift);
|
||||
}
|
||||
|
||||
m_count = (m_count + 1) & 7;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// RB: read and branch
|
||||
case M_RB:
|
||||
// process RB after LA or TB8
|
||||
if (m_prev_cmd == M_LA || (m_prev_cmd == M_TB && m_count == 0))
|
||||
{
|
||||
m_count = 0;
|
||||
|
||||
// load new address bits (14 bits on TMS6100)
|
||||
UINT16 rb = m_rom[m_address & m_rommask];
|
||||
m_address++;
|
||||
rb |= (m_rom[m_address & m_rommask] << 8);
|
||||
m_address = (m_address & ~0x3fff) | (rb & 0x3fff);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
m_tms_clock = state;
|
||||
|
||||
m_prev_cmd = cmd;
|
||||
}
|
||||
|
@ -1,9 +1,10 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Couriersud
|
||||
// copyright-holders:hap, Couriersud
|
||||
/**********************************************************************************************
|
||||
|
||||
/* TMS 6100 memory controller */
|
||||
Texas Instruments TMS6100 Voice Synthesis Memory (VSM)
|
||||
|
||||
#pragma once
|
||||
***********************************************************************************************/
|
||||
|
||||
#ifndef __TMS6100_H__
|
||||
#define __TMS6100_H__
|
||||
@ -11,7 +12,6 @@
|
||||
#include "emu.h"
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// INTERFACE CONFIGURATION MACROS
|
||||
//**************************************************************************
|
||||
@ -23,6 +23,69 @@
|
||||
tms6100_device::enable_4bit_mode(*device);
|
||||
|
||||
|
||||
// pinout reference
|
||||
|
||||
/*
|
||||
TMS6100:
|
||||
+-----------------+
|
||||
VDD | 1 28 | NC
|
||||
NC | 2 27 | NC
|
||||
DATA/ADD1 | 3 26 | NC
|
||||
DATA/ADD2 | 4 25 | NC
|
||||
DATA/ADD4 | 5 24 | NC
|
||||
DATA/ADD8 | 6 23 | NC
|
||||
CLK | 7 22 | NC
|
||||
NC | 8 21 | NC
|
||||
NC | 9 20 | NC
|
||||
M0 | 10 19 | NC
|
||||
M1 | 11 18 | NC
|
||||
NC | 12 17 | NC
|
||||
/CS | 13 16 | NC
|
||||
VSS | 14 15 | NC
|
||||
+-----------------+
|
||||
|
||||
|
||||
TMS6125: two types known
|
||||
|
||||
+---------+ +---------+
|
||||
DATA/ADD1 | 1 16 | NC DATA/ADD1 | 1 16 | NC
|
||||
DATA/ADD2 | 2 15 | NC DATA/ADD2 | 2 15 | NC
|
||||
DATA/ADD4 | 3 14 | NC DATA/ADD4 | 3 14 | NC
|
||||
RCK | 4 13 | NC DATA/ADD8 | 4 13 | NC
|
||||
CLK | 5 12 | VDD CLK | 5 12 | VDD
|
||||
DATA/ADD8 | 6 11 | CS NC | 6 11 | /CS
|
||||
NC | 7 10 | M1 NC | 7 10 | M1
|
||||
M0 | 8 9 | VSS M0 | 8 9 | VSS
|
||||
+---------+ +---------+
|
||||
|
||||
|
||||
Mitsubishi M58819S EPROM Interface:
|
||||
It is a clone of TMS6100, but external EPROM instead
|
||||
|
||||
+-----------------+
|
||||
AD0 | 1 40 | AD1
|
||||
VDDl | 2 39 | AD2
|
||||
VDD | 3 38 | AD3
|
||||
A0 | 4 37 | NC
|
||||
NC | 5 36 | AD4
|
||||
NC | 6 35 | AD5
|
||||
A1 | 7 34 | AD6
|
||||
A2 | 8 33 | AD7
|
||||
A3/Q | 9 32 | AD8
|
||||
CLK | 10 31 | AD9
|
||||
POW | 11 30 | AD10
|
||||
SL | 12 29 | AD11
|
||||
C0 | 13 28 | AD12
|
||||
C1 | 14 27 | AD13
|
||||
NC | 15 26 | D7
|
||||
NC | 16 25 | NC
|
||||
VSS | 17 24 | D6
|
||||
D0 | 18 23 | D5
|
||||
D1 | 19 22 | D4
|
||||
D2 | 20 21 | D3
|
||||
+-----------------+
|
||||
*/
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
@ -34,36 +97,45 @@ public:
|
||||
tms6100_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
tms6100_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
|
||||
static void enable_4bit_mode(device_t &device) { downcast<tms6100_device &>(device).m_4bit_read = true; }
|
||||
static void enable_4bit_mode(device_t &device) { downcast<tms6100_device &>(device).m_4bit_mode = true; }
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(m0_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(m1_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(romclock_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(rck_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(cs_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(clk_w);
|
||||
|
||||
DECLARE_WRITE8_MEMBER(addr_w);
|
||||
DECLARE_WRITE8_MEMBER(add_w);
|
||||
DECLARE_READ8_MEMBER(data_r); // 4bit
|
||||
DECLARE_READ_LINE_MEMBER(data_line_r);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
void handle_command(UINT8 cmd);
|
||||
|
||||
// internal state
|
||||
required_region_ptr<UINT8> m_rom;
|
||||
bool m_reverse_bits;
|
||||
bool m_4bit_read;
|
||||
UINT32 m_address;
|
||||
UINT32 m_address_latch;
|
||||
UINT8 m_loadptr;
|
||||
bool m_4bit_mode;
|
||||
|
||||
UINT32 m_rommask;
|
||||
UINT32 m_address; // internal address + chipselect
|
||||
UINT8 m_sa; // romdata shift register
|
||||
UINT8 m_count; // TB/LA counter (-> PLA)
|
||||
UINT8 m_prev_cmd; // previous handled command
|
||||
UINT8 m_prev_m; // previous valid m0/m1 state
|
||||
|
||||
UINT8 m_add; // ADD/DATA pins input
|
||||
UINT8 m_data; // ADD/DATA pins output
|
||||
int m_m0;
|
||||
int m_m1;
|
||||
UINT8 m_addr_bits;
|
||||
int m_tms_clock;
|
||||
UINT8 m_data;
|
||||
UINT8 m_state;
|
||||
int m_cs; // chipselect pin
|
||||
int m_clk; // CLK pin
|
||||
int m_rck; // RCK pin (mask/gate to CLK?)
|
||||
};
|
||||
|
||||
extern const device_type TMS6100;
|
||||
|
||||
class m58819_device : public tms6100_device
|
||||
{
|
||||
@ -75,6 +147,8 @@ protected:
|
||||
virtual void device_start() override;
|
||||
};
|
||||
|
||||
|
||||
extern const device_type TMS6100;
|
||||
extern const device_type M58819;
|
||||
|
||||
|
||||
|
@ -1623,10 +1623,10 @@ void upd7220_device::update_graphics(bitmap_rgb32 &bitmap, const rectangle &clip
|
||||
Quarth (PC-98xx) doesn't seem to use pitch here and it definitely wants bsy to be /2 to make scrolling to work.
|
||||
Xevious (PC-98xx) wants the pitch to be fixed at 80, and wants bsy to be /1
|
||||
Dragon Buster (PC-98xx) contradicts with Xevious with regards of the pitch tho ... */
|
||||
addr = ((sad << 1) & 0x3ffff) + (y * (m_pitch << (im ? 0 : 1)));
|
||||
addr = ((sad << 1) & 0x3ffff) + ((y / (mixed ? 1 : m_lr)) * (m_pitch << (im ? 0 : 1)));
|
||||
|
||||
if (!m_display_cb.isnull())
|
||||
draw_graphics_line(bitmap, addr, y + ((bsy + m_vbp) / (mixed ? 1 : m_lr)), wd, (m_pitch << interlace));
|
||||
draw_graphics_line(bitmap, addr, y + bsy + m_vbp, wd, (m_pitch << interlace));
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -1612,7 +1612,7 @@ void cli_frontend::execute_commands(const char *exename)
|
||||
validity_checker valid(m_options);
|
||||
bool result = valid.check_all();
|
||||
if (!result)
|
||||
throw emu_fatalerror(MAMERR_FAILED_VALIDITY, "Validity check failed!\n");
|
||||
throw emu_fatalerror(MAMERR_FAILED_VALIDITY, "Validity check failed (%d errors, %d warnings in total)\n", valid.errors(), valid.warnings());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -194,6 +194,7 @@ int machine_manager::execute()
|
||||
if (system != nullptr)
|
||||
{
|
||||
validity_checker valid(m_options);
|
||||
valid.set_verbose(false);
|
||||
valid.check_shared_source(*system);
|
||||
}
|
||||
|
||||
|
@ -125,6 +125,7 @@ validity_checker::validity_checker(emu_options &options)
|
||||
: m_drivlist(options),
|
||||
m_errors(0),
|
||||
m_warnings(0),
|
||||
m_print_verbose(options.verbose()),
|
||||
m_current_driver(nullptr),
|
||||
m_current_config(nullptr),
|
||||
m_current_device(nullptr),
|
||||
@ -194,19 +195,15 @@ bool validity_checker::check_all()
|
||||
validate_inlines();
|
||||
|
||||
// if we had warnings or errors, output
|
||||
if (m_errors > 0 || m_warnings > 0)
|
||||
if (m_errors > 0 || m_warnings > 0 || !m_verbose_text.empty())
|
||||
{
|
||||
output_via_delegate(OSD_OUTPUT_CHANNEL_ERROR, "Core: %d errors, %d warnings\n", m_errors, m_warnings);
|
||||
if (m_errors > 0)
|
||||
{
|
||||
strreplace(m_error_text, "\n", "\n ");
|
||||
output_via_delegate(OSD_OUTPUT_CHANNEL_ERROR, "Errors:\n %s", m_error_text.c_str());
|
||||
}
|
||||
output_indented_errors(m_error_text, "Errors");
|
||||
if (m_warnings > 0)
|
||||
{
|
||||
strreplace(m_warning_text, "\n", "\n ");
|
||||
output_via_delegate(OSD_OUTPUT_CHANNEL_ERROR, "Warnings:\n %s", m_warning_text.c_str());
|
||||
}
|
||||
output_indented_errors(m_warning_text, "Warnings");
|
||||
if (!m_verbose_text.empty())
|
||||
output_indented_errors(m_verbose_text, "Messages");
|
||||
output_via_delegate(OSD_OUTPUT_CHANNEL_ERROR, "\n");
|
||||
}
|
||||
|
||||
@ -277,6 +274,7 @@ void validity_checker::validate_one(const game_driver &driver)
|
||||
int start_warnings = m_warnings;
|
||||
m_error_text.clear();
|
||||
m_warning_text.clear();
|
||||
m_verbose_text.clear();
|
||||
|
||||
// wrap in try/except to catch fatalerrors
|
||||
try
|
||||
@ -295,20 +293,16 @@ void validity_checker::validate_one(const game_driver &driver)
|
||||
}
|
||||
|
||||
// if we had warnings or errors, output
|
||||
if (m_errors > start_errors || m_warnings > start_warnings)
|
||||
if (m_errors > start_errors || m_warnings > start_warnings || !m_verbose_text.empty())
|
||||
{
|
||||
std::string tempstr;
|
||||
output_via_delegate(OSD_OUTPUT_CHANNEL_ERROR, "Driver %s (file %s): %d errors, %d warnings\n", driver.name, core_filename_extract_base(tempstr, driver.source_file).c_str(), m_errors - start_errors, m_warnings - start_warnings);
|
||||
if (m_errors > start_errors)
|
||||
{
|
||||
strreplace(m_error_text, "\n", "\n ");
|
||||
output_via_delegate(OSD_OUTPUT_CHANNEL_ERROR, "Errors:\n %s", m_error_text.c_str());
|
||||
}
|
||||
output_indented_errors(m_error_text, "Errors");
|
||||
if (m_warnings > start_warnings)
|
||||
{
|
||||
strreplace(m_warning_text, "\n", "\n ");
|
||||
output_via_delegate(OSD_OUTPUT_CHANNEL_ERROR, "Warnings:\n %s", m_warning_text.c_str());
|
||||
}
|
||||
output_indented_errors(m_warning_text, "Warnings");
|
||||
if (!m_verbose_text.empty())
|
||||
output_indented_errors(m_verbose_text, "Messages");
|
||||
output_via_delegate(OSD_OUTPUT_CHANNEL_ERROR, "\n");
|
||||
}
|
||||
|
||||
@ -615,8 +609,8 @@ void validity_checker::validate_roms()
|
||||
device_iterator deviter(m_current_config->root_device());
|
||||
for (device_t *device = deviter.first(); device != nullptr; device = deviter.next())
|
||||
{
|
||||
// for non-root devices, track the current device
|
||||
m_current_device = (device->owner() == nullptr) ? nullptr : device;
|
||||
// track the current device
|
||||
m_current_device = device;
|
||||
|
||||
// scan the ROM entries for this device
|
||||
const char *last_region_name = "???";
|
||||
@ -880,8 +874,8 @@ void validity_checker::validate_inputs()
|
||||
if (device->input_ports() == nullptr)
|
||||
continue;
|
||||
|
||||
// for non-root devices, track the current device
|
||||
m_current_device = (device == &m_current_config->root_device()) ? nullptr : device;
|
||||
// track the current device
|
||||
m_current_device = device;
|
||||
|
||||
// allocate the input ports
|
||||
ioport_list portlist;
|
||||
@ -983,8 +977,8 @@ void validity_checker::validate_devices()
|
||||
device_iterator iter(m_current_config->root_device());
|
||||
for (const device_t *device = iter.first(); device != nullptr; device = iter.next())
|
||||
{
|
||||
// for non-root devices, track the current device
|
||||
m_current_device = (device == &m_current_config->root_device()) ? nullptr : device;
|
||||
// track the current device
|
||||
m_current_device = device;
|
||||
|
||||
// validate the device tag
|
||||
validate_tag(device->basetag());
|
||||
@ -1048,9 +1042,9 @@ void validity_checker::build_output_prefix(std::string &str)
|
||||
// start empty
|
||||
str.clear();
|
||||
|
||||
// if we have a current device, indicate that
|
||||
if (m_current_device != nullptr)
|
||||
str.append(m_current_device->name()).append(" device '").append(m_current_device->tag()).append("': ");
|
||||
// if we have a current (non-root) device, indicate that
|
||||
if (m_current_device != nullptr && m_current_device->owner() != nullptr)
|
||||
str.append(m_current_device->name()).append(" device '").append(m_current_device->tag()+1).append("': ");
|
||||
|
||||
// if we have a current port, indicate that as well
|
||||
if (m_current_ioport != nullptr)
|
||||
@ -1089,6 +1083,17 @@ void validity_checker::output_callback(osd_output_channel channel, const char *m
|
||||
strcatvprintf(output, msg, args);
|
||||
m_warning_text.append(output);
|
||||
break;
|
||||
case OSD_OUTPUT_CHANNEL_VERBOSE:
|
||||
// if we're not verbose, skip it
|
||||
if (!m_print_verbose) break;
|
||||
|
||||
// output the source(driver) device 'tag'
|
||||
build_output_prefix(output);
|
||||
|
||||
// generate the string and output to the original target
|
||||
strcatvprintf(output, msg, args);
|
||||
m_verbose_text.append(output);
|
||||
break;
|
||||
default:
|
||||
chain_output(channel, msg, args);
|
||||
break;
|
||||
@ -1110,3 +1115,16 @@ void validity_checker::output_via_delegate(osd_output_channel channel, const cha
|
||||
this->chain_output(channel, format, argptr);
|
||||
va_end(argptr);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// output_indented_errors - helper to output error
|
||||
// and warning messages with header and indents
|
||||
//-------------------------------------------------
|
||||
void validity_checker::output_indented_errors(std::string &text, const char *header)
|
||||
{
|
||||
// remove trailing newline
|
||||
if (text[text.size()-1] == '\n')
|
||||
text.erase(text.size()-1, 1);
|
||||
strreplace(text, "\n", "\n ");
|
||||
output_via_delegate(OSD_OUTPUT_CHANNEL_ERROR, "%s:\n %s\n", header, text.c_str());
|
||||
}
|
||||
|
@ -40,6 +40,9 @@ public:
|
||||
int errors() const { return m_errors; }
|
||||
int warnings() const { return m_warnings; }
|
||||
|
||||
// setter
|
||||
void set_verbose(bool verbose) { m_print_verbose = verbose; }
|
||||
|
||||
// operations
|
||||
void check_driver(const game_driver &driver);
|
||||
void check_shared_source(const game_driver &driver);
|
||||
@ -81,6 +84,7 @@ private:
|
||||
// output helpers
|
||||
void build_output_prefix(std::string &str);
|
||||
void output_via_delegate(osd_output_channel channel, const char *format, ...) ATTR_PRINTF(3,4);
|
||||
void output_indented_errors(std::string &text, const char *header);
|
||||
|
||||
// internal driver list
|
||||
driver_enumerator m_drivlist;
|
||||
@ -88,8 +92,10 @@ private:
|
||||
// error tracking
|
||||
int m_errors;
|
||||
int m_warnings;
|
||||
bool m_print_verbose;
|
||||
std::string m_error_text;
|
||||
std::string m_warning_text;
|
||||
std::string m_verbose_text;
|
||||
|
||||
// maps for finding duplicates
|
||||
game_driver_map m_names_map;
|
||||
|
@ -222,6 +222,44 @@ void free_file_line(void *memory, const char *file, int line, bool array)
|
||||
osd_free(memory);
|
||||
}
|
||||
|
||||
void *realloc_internal(void *memory, size_t size, const char *file, int line, bool array)
|
||||
{
|
||||
fprintf(stderr, "realloc_internal called for %p in %s(%d)!\n", memory, file, line);
|
||||
if(size == 0) {
|
||||
return nullptr;
|
||||
}
|
||||
if(memory == nullptr) {
|
||||
return malloc_file_line(size, file, line, array, false, false);
|
||||
}
|
||||
// find the memory entry
|
||||
memory_entry *entry = memory_entry::find(memory);
|
||||
|
||||
// warn about untracked reallocs
|
||||
if (entry == nullptr)
|
||||
{
|
||||
fprintf(stderr, "Error: attempt to realloc untracked memory %p in %s(%d)!\n", memory, file, line);
|
||||
osd_break_into_debugger("Error: attempt to realloc untracked memory");
|
||||
return memory;
|
||||
}
|
||||
|
||||
// this is used internally and should always be an array
|
||||
if(!array || !entry->m_array)
|
||||
{
|
||||
fprintf(stderr, "Error: attempt to realloc non-array memory %p in %s(%d). realloc_internal should never be called directly!\n", memory, file, line);
|
||||
osd_break_into_debugger("Error: attempt to realloc non-array memory");
|
||||
}
|
||||
|
||||
size_t o_size = entry->m_size;
|
||||
void *new_buf = malloc_file_line(size, file, line, array, false, false);
|
||||
if(new_buf == nullptr) {
|
||||
fprintf(stderr, "Error: realloc: unable to allocate new buffer %p in %s(%d)!\n", memory, file, line);
|
||||
return nullptr;
|
||||
}
|
||||
memcpy(new_buf, memory, (o_size < size) ? o_size : size);
|
||||
free_file_line(memory, file, line, array);
|
||||
return new_buf;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// track_memory - enables or disables the memory
|
||||
|
@ -43,6 +43,10 @@ void *malloc_file_line(size_t size, const char *file, int line, bool array, bool
|
||||
void free_file_line(void *memory, const char *file, int line, bool array);
|
||||
inline void free_file_line(const void *memory, const char *file, int line, bool array) { free_file_line(const_cast<void *>(memory), file, line, array); }
|
||||
|
||||
// realloc with file and line number info for internal use
|
||||
void *realloc_internal(void *memory, size_t size, const char *file, int line, bool array);
|
||||
|
||||
|
||||
// called from the exit path of any code that wants to check for unfreed memory
|
||||
void track_memory(bool track);
|
||||
UINT64 next_memory_id();
|
||||
@ -91,7 +95,7 @@ extern const zeromem_t zeromem;
|
||||
#undef free
|
||||
|
||||
#define malloc(x) malloc_file_line(x, __FILE__, __LINE__, true, false, false)
|
||||
#define realloc(x,y) __error_realloc_is_dangerous__
|
||||
#define realloc(x,y) realloc_internal(x, y, __FILE__, __LINE__, true, false)
|
||||
#define free(x) free_file_line(x, __FILE__, __LINE__, true)
|
||||
|
||||
#if !defined(_MSC_VER) || _MSC_VER < 1900 // < VS2015
|
||||
|
@ -1387,9 +1387,9 @@ MACHINE_CONFIG_DERIVED( radarscp1_audio, radarscp_audio )
|
||||
MCFG_SOUND_ADD("tms", M58817, XTAL_640kHz)
|
||||
MCFG_TMS5110_M0_CB(DEVWRITELINE("m58819", tms6100_device, m0_w))
|
||||
MCFG_TMS5110_M1_CB(DEVWRITELINE("m58819", tms6100_device, m1_w))
|
||||
MCFG_TMS5110_ADDR_CB(DEVWRITE8("m58819", tms6100_device, addr_w))
|
||||
MCFG_TMS5110_ADDR_CB(DEVWRITE8("m58819", tms6100_device, add_w))
|
||||
MCFG_TMS5110_DATA_CB(DEVREADLINE("m58819", tms6100_device, data_line_r))
|
||||
MCFG_TMS5110_ROMCLK_CB(DEVWRITELINE("m58819", tms6100_device, romclock_w))
|
||||
MCFG_TMS5110_ROMCLK_CB(DEVWRITELINE("m58819", tms6100_device, clk_w))
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
@ -314,6 +314,8 @@ public:
|
||||
DECLARE_READ8_MEMBER(c400_int_bank_r);
|
||||
DECLARE_WRITE8_MEMBER(c400_w);
|
||||
DECLARE_READ8_MEMBER(c800_r);
|
||||
DECLARE_READ8_MEMBER(c800_int_r);
|
||||
DECLARE_READ8_MEMBER(c800_b2_int_r);
|
||||
DECLARE_WRITE8_MEMBER(c800_w);
|
||||
DECLARE_READ8_MEMBER(inh_r);
|
||||
DECLARE_WRITE8_MEMBER(inh_w);
|
||||
@ -1963,6 +1965,40 @@ READ8_MEMBER(apple2e_state::c800_r)
|
||||
return read_floatingbus();
|
||||
}
|
||||
|
||||
READ8_MEMBER(apple2e_state::c800_int_r)
|
||||
{
|
||||
if ((m_isiicplus) && (offset >= 0x600))
|
||||
{
|
||||
return m_iicplus_ce00[offset-0x600];
|
||||
}
|
||||
|
||||
if (offset == 0x7ff)
|
||||
{
|
||||
m_cnxx_slot = CNXX_UNCLAIMED;
|
||||
update_slotrom_banks();
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
return m_rom_ptr[0x800 + offset];
|
||||
}
|
||||
|
||||
READ8_MEMBER(apple2e_state::c800_b2_int_r)
|
||||
{
|
||||
if ((m_isiicplus) && (offset >= 0x600))
|
||||
{
|
||||
return m_iicplus_ce00[offset-0x600];
|
||||
}
|
||||
|
||||
if (offset == 0x7ff)
|
||||
{
|
||||
m_cnxx_slot = CNXX_UNCLAIMED;
|
||||
update_slotrom_banks();
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
return m_rom_ptr[0x4800 + offset];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(apple2e_state::c800_w)
|
||||
{
|
||||
if ((m_isiicplus) && (offset >= 0x600))
|
||||
@ -2385,8 +2421,8 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( c800bank_map, AS_PROGRAM, 8, apple2e_state )
|
||||
AM_RANGE(0x0000, 0x07ff) AM_READWRITE(c800_r, c800_w)
|
||||
AM_RANGE(0x0800, 0x0fff) AM_ROM AM_REGION("maincpu", 0x800)
|
||||
AM_RANGE(0x1000, 0x17ff) AM_ROM AM_REGION("maincpu", 0x4800)
|
||||
AM_RANGE(0x0800, 0x0fff) AM_READWRITE(c800_int_r, c800_w)
|
||||
AM_RANGE(0x1000, 0x17ff) AM_READWRITE(c800_b2_int_r, c800_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( inhbank_map, AS_PROGRAM, 8, apple2e_state )
|
||||
|
@ -658,103 +658,72 @@ static MACHINE_CONFIG_START( dc, dc_cons_state )
|
||||
MCFG_SLOT_DEFAULT_OPTION("gdrom")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/*
|
||||
PsyMan notes:
|
||||
|
||||
Here's a basic report on the Dreamcast boot files used in MAME (BIOS+Flash pairs):
|
||||
#define ROM_LOAD_BIOS(bios,name,offset,length,hash) \
|
||||
ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_BIOS(bios+1))
|
||||
|
||||
-----
|
||||
// actual mask rom labels can have -X1 or -X2 added, presumable depending on mobo revision and/or type of rom used (5v or 3.3v), contents is the same
|
||||
// known to exists undumped MPR-21086 (VA0 NTSC-J 3010) and MPR-21933 (VA0 US) boot roms
|
||||
|
||||
"dc101d_us.bin", 0x000000, 0x200000, CRC(89f2b1a1) SHA1(8951d1bb219ab2ff8583033d2119c899cc81f18c) ) // BIOS
|
||||
This is a proper European and USA BIOS. It's even possible that it was used at a later point for Japanese systems.
|
||||
It only has minor differences compared to BIOS 1.01c.
|
||||
|
||||
|
||||
"dcus_ntsc.bin", 0x000000, 0x020000, BAD_DUMP CRC(c611b498) SHA1(94d44d7f9529ec1642ba3771ed3c5f756d5bc872) ) // Flash
|
||||
Checking at 0x0001A000 and the mirrored data at 0x0001A0A0 gives away that this is hacked from a PAL/European flash file.
|
||||
The broadcast (0x0001A004) is also set at 50Hz which is a PAL standard.
|
||||
|
||||
|
||||
"dc101d_eu.bin", 0x000000, 0x200000, CRC(a2564fad) SHA1(edc5d3d70a93c935703d26119b37731fd317d2bf),ROM_BIOS(1)) // BIOS
|
||||
This BIOS has Chinese language added. So either this is a bad BIOS or Dreamcast was actually officially released there.
|
||||
|
||||
|
||||
"dc101c_eu.bin", 0x000000, 0x200000, CRC(2f551bc5) SHA1(1ede8d5be49116a4c6f3fe0961175469537a0434),ROM_BIOS(2)) // BIOS
|
||||
This seems to be a proper European and USA BIOS. It's even possible that it was used at a later point for Japanese systems.
|
||||
It only has minor differences compared to BIOS 1.01d.
|
||||
|
||||
|
||||
|
||||
"dceu_pal.bin", 0x000000, 0x020000, BAD_DUMP CRC(b7e5aeeb) SHA1(11e02433e13b793ec7ffe0ae2356750bb8a575b4) ) // Flash
|
||||
This appears to be a valid PAL/European flash. It's unknown if the data at 0x0001A0A0 (from 0x0001A000) should be mirrored there.
|
||||
Maybe a game does this mirroring or maybe it's there by default. It's certain that some games wrote to this flash though.
|
||||
|
||||
|
||||
"dc1004jp.bin", 0x000000, 0x200000, CRC(5454841f) SHA1(1ea132c0fbbf07ef76789eadc07908045c089bd6) ) // BIOS
|
||||
This seems to be a proper Japanese BIOS. This BIOS was used at least by early Japanese Dreamcast models.
|
||||
Code-wise, it has major differences compared to later BIOS versions.
|
||||
|
||||
|
||||
"dcjp_ntsc.bin", 0x000000, 0x020000, CRC(5f92bf76) SHA1(be78b834f512ab2cf3d67b96e377c9f3093ff82a) ) // Flash
|
||||
Checking at 0x0001A000 and the mirrored data at 0x0001A0A0 gives away that this is hacked from a PAL/European flash file.
|
||||
The broadcast (0x0001A004) is also set at 50Hz which is a PAL standard.
|
||||
|
||||
-----
|
||||
|
||||
|
||||
From all the aforementioned files the only personally verified one is "dc101d_us.bin", CRC(89f2b1a1).
|
||||
The resulting file was dumped twice, once from an NTSC/USA system and once from a PAL/EUR system. Both files had a side by side byte match.
|
||||
*/
|
||||
#define DREAMCAST_COMMON_BIOS \
|
||||
ROM_REGION(0x200000, "maincpu", 0) \
|
||||
ROM_SYSTEM_BIOS(0, "101d", "v1.01d (World)") \
|
||||
ROM_LOAD_BIOS(0, "mpr-21931.ic501", 0x000000, 0x200000, CRC(89f2b1a1) SHA1(8951d1bb219ab2ff8583033d2119c899cc81f18c) ) \
|
||||
ROM_SYSTEM_BIOS(1, "1022", "v1.022 (World)") \
|
||||
ROM_LOAD_BIOS(1, "mpr-23588.ic501", 0x000000, 0x200000, CRC(786168f9) SHA1(ba8bbb90fdb29525f24f17055dc2c7b2d7674437) ) \
|
||||
ROM_SYSTEM_BIOS(2, "101c", "v1.01c (World)") \
|
||||
ROM_LOAD_BIOS(2, "mpr-21871.ic501", 0x000000, 0x200000, CRC(2f551bc5) SHA1(1ede8d5be49116a4c6f3fe0961175469537a0434) ) \
|
||||
ROM_SYSTEM_BIOS(3, "101dch", "v1.01d (Chinese hack)") \
|
||||
ROM_LOAD_BIOS(3, "dc101d_ch.bin", 0x000000, 0x200000, CRC(a2564fad) SHA1(edc5d3d70a93c935703d26119b37731fd317d2bf) )
|
||||
// ^^^ dc101d_eu.bin ^^^ is selfmade chinese translation, doesn't work on real hardware, does it must be here at all ?
|
||||
|
||||
ROM_START(dc)
|
||||
ROM_REGION(0x200000, "maincpu", 0)
|
||||
ROM_LOAD( "dc101d_us.bin", 0x000000, 0x200000, CRC(89f2b1a1) SHA1(8951d1bb219ab2ff8583033d2119c899cc81f18c) ) // BIOS
|
||||
DREAMCAST_COMMON_BIOS
|
||||
|
||||
ROM_REGION(0x020000, "dcflash", 0)
|
||||
ROM_LOAD( "dcus_ntsc.bin", 0x000000, 0x020000, BAD_DUMP CRC(c611b498) SHA1(94d44d7f9529ec1642ba3771ed3c5f756d5bc872) ) // Flash
|
||||
ROM_FILL( 0x1a004, 1, 0x30 ) // patch broadcast back to NTSC
|
||||
ROM_LOAD( "dcus_ntsc.bin", 0x000000, 0x020000, BAD_DUMP CRC(e6862dd0) SHA1(24875ce85c011600e73b1c3fd2b341824cbf8544) ) // dumped from VA2.4 mobo with 1.022 BIOS
|
||||
ROM_END
|
||||
|
||||
ROM_START( dceu )
|
||||
ROM_REGION(0x200000, "maincpu", 0)
|
||||
ROM_SYSTEM_BIOS(0, "101d", "v1.01d")
|
||||
ROMX_LOAD( "dc101d_eu.bin", 0x000000, 0x200000, CRC(a2564fad) SHA1(edc5d3d70a93c935703d26119b37731fd317d2bf),ROM_BIOS(1)) // BIOS
|
||||
ROM_SYSTEM_BIOS(1, "101c", "v1.01c")
|
||||
ROMX_LOAD( "dc101c_eu.bin", 0x000000, 0x200000, CRC(2f551bc5) SHA1(1ede8d5be49116a4c6f3fe0961175469537a0434),ROM_BIOS(2)) // BIOS
|
||||
DREAMCAST_COMMON_BIOS
|
||||
|
||||
ROM_REGION(0x020000, "dcflash", 0)
|
||||
ROM_LOAD( "dceu_pal.bin", 0x000000, 0x020000, BAD_DUMP CRC(b7e5aeeb) SHA1(11e02433e13b793ec7ffe0ae2356750bb8a575b4) ) // Flash
|
||||
ROM_LOAD( "dceu_pal.bin", 0x000000, 0x020000, BAD_DUMP CRC(b7e5aeeb) SHA1(11e02433e13b793ec7ffe0ae2356750bb8a575b4) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( dcjp )
|
||||
ROM_REGION(0x200000, "maincpu", 0)
|
||||
ROM_LOAD( "dc1004jp.bin", 0x000000, 0x200000, CRC(5454841f) SHA1(1ea132c0fbbf07ef76789eadc07908045c089bd6) ) // BIOS
|
||||
DREAMCAST_COMMON_BIOS
|
||||
ROM_SYSTEM_BIOS(4, "1004", "v1.004 (Japan)") // oldest known mass production version, supports Japan region only
|
||||
ROM_LOAD_BIOS(4, "mpr-21068.ic501", 0x000000, 0x200000, CRC(5454841f) SHA1(1ea132c0fbbf07ef76789eadc07908045c089bd6) )
|
||||
|
||||
ROM_REGION(0x020000, "dcflash", 0)
|
||||
/* ROM_LOAD( "dcjp_ntsc.bad", 0x000000, 0x020000, BAD_DUMP CRC(307a7035) SHA1(1411423a9d071340ea52c56e19c1aafc4e1309ee) ) // Hacked Flash */
|
||||
ROM_LOAD( "dcjp_ntsc.bin", 0x000000, 0x020000, BAD_DUMP CRC(5f92bf76) SHA1(be78b834f512ab2cf3d67b96e377c9f3093ff82a) ) // Flash
|
||||
ROM_LOAD( "dcjp_ntsc.bin", 0x000000, 0x020000, BAD_DUMP CRC(5f92bf76) SHA1(be78b834f512ab2cf3d67b96e377c9f3093ff82a) ) // hacked PAL flash
|
||||
ROM_FILL( 0x1a004, 1, 0x30 ) // patch broadcast back to NTSC
|
||||
ROM_END
|
||||
|
||||
// normally, with DIP switch 4 off, HKT-100/110/120 AKA "Katana Set 5.xx", will be booted from flash ROM IC507 (first 2 dumps below)
|
||||
// otherwise it boots from EPROM which contain system checker software (last dump)
|
||||
ROM_START( dcdev )
|
||||
ROM_REGION(0x200000, "maincpu", 0)
|
||||
ROM_LOAD( "hkt-0120.bin", 0x000000, 0x200000, CRC(2186e0e5) SHA1(6bd18fb83f8fdb56f1941e079580e5dd672a6dad) ) // BIOS
|
||||
ROM_SYSTEM_BIOS(0, "1011", "Katana Set5 v1.011 (World)") // BOOT flash rom update from Katana SDK R9-R11, WinCE SDK v2.1
|
||||
ROM_LOAD_BIOS(0, "set5v1.011.ic507", 0x000000, 0x200000, CRC(2186e0e5) SHA1(6bd18fb83f8fdb56f1941e079580e5dd672a6dad) )
|
||||
ROM_SYSTEM_BIOS(1, "1001", "Katana Set5 v1.001 (Japan)") // BOOT flash rom update from WinCE SDK v1.0
|
||||
ROM_LOAD_BIOS(1, "set5v1.001.ic507", 0x000000, 0x200000, CRC(5702d38f) SHA1(ea7a3ae1de73683008dd795c252941a4fc81b42e) )
|
||||
|
||||
// 27C160 EPROM (DIP42) IC??? labeled
|
||||
// SET5 FC52
|
||||
// V0.41 98/08/27
|
||||
// also known to exists v0.71 98/11/13
|
||||
ROM_SYSTEM_BIOS(2, "041", "Katana Set5 Checker v0.41")
|
||||
ROM_LOAD_BIOS(2, "set5v0.41.bin", 0x000000, 0x200000, CRC(485877bd) SHA1(dc1af1f1248ffa87d57bc5ef2ea41aac95ecfc5e) )
|
||||
|
||||
ROM_REGION(0x020000, "dcflash", 0)
|
||||
ROM_LOAD( "hkt-0120-flash.bin", 0x000000, 0x020000, CRC(7784c304) SHA1(31ef57f550d8cd13e40263cbc657253089e53034) ) // Flash
|
||||
ROM_END
|
||||
|
||||
ROM_START( dcprt )
|
||||
ROM_REGION(0x200000, "maincpu", 0)
|
||||
ROM_LOAD( "katana-set5-v0.41-98-08-27.bin", 0x000000, 0x200000, CRC(485877bd) SHA1(dc1af1f1248ffa87d57bc5ef2ea41aac95ecfc5e) ) // BIOS
|
||||
|
||||
ROM_REGION(0x020000, "dcflash", 0)
|
||||
ROM_LOAD( "dcjp_ntsc.bin", 0x000000, 0x020000, CRC(5f92bf76) SHA1(be78b834f512ab2cf3d67b96e377c9f3093ff82a) ) // Flash
|
||||
ROM_LOAD( "hkt-0120-flash.bin", 0x000000, 0x020000, CRC(7784c304) SHA1(31ef57f550d8cd13e40263cbc657253089e53034) )
|
||||
ROM_END
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME */
|
||||
CONS( 1999, dc, dcjp, 0, dc, dc, dc_cons_state, dcus, "Sega", "Dreamcast (USA, NTSC)", MACHINE_NOT_WORKING )
|
||||
CONS( 1998, dcjp, 0, 0, dc, dc, dc_cons_state, dcjp, "Sega", "Dreamcast (Japan, NTSC)", MACHINE_NOT_WORKING )
|
||||
CONS( 1999, dceu, dcjp, 0, dc, dc, dc_cons_state, dcus, "Sega", "Dreamcast (Europe, PAL)", MACHINE_NOT_WORKING )
|
||||
CONS( 1998, dcdev, dcjp, 0, dc, dc, dc_cons_state, dc, "Sega", "HKT-0120 Sega Dreamcast Development Box", MACHINE_NOT_WORKING )
|
||||
CONS( 1998, dcprt, dcjp, 0, dc, dc, dc_cons_state, dcjp, "Sega", "Katana Set 5 Prototype", MACHINE_NOT_WORKING )
|
||||
CONS( 1998, dcdev, 0, 0, dc, dc, dc_cons_state, dc, "Sega", "HKT-0120 Sega Dreamcast Development Box", MACHINE_NOT_WORKING )
|
||||
|
@ -488,7 +488,7 @@ public:
|
||||
optional_device<ata_interface_device> m_ide;
|
||||
required_shared_ptr<UINT16> m_video_ram_1;
|
||||
required_shared_ptr<UINT16> m_video_ram_2;
|
||||
optional_shared_ptr<UINT16> m_ext_gvram;
|
||||
optional_shared_ptr<UINT32> m_ext_gvram;
|
||||
required_device<beep_device> m_beeper;
|
||||
optional_device<ram_device> m_ram;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
@ -772,32 +772,24 @@ UPD7220_DISPLAY_PIXELS_MEMBER( pc9801_state::hgdc_display_pixels )
|
||||
int xi;
|
||||
int res_x,res_y;
|
||||
UINT8 pen;
|
||||
UINT8 interlace_on;
|
||||
UINT8 colors16_mode;
|
||||
|
||||
if(m_video_ff[DISPLAY_REG] == 0) //screen is off
|
||||
return;
|
||||
|
||||
// popmessage("%02x %d",m_video_ff[INTERLACE_REG],machine().first_screen()->visible_area().max_y + 1);
|
||||
// interlace_on = ((machine().first_screen()->visible_area().max_y + 1) >= 400) ? 1 : 0;
|
||||
interlace_on = m_video_ff[INTERLACE_REG];
|
||||
colors16_mode = (m_ex_video_ff[ANALOG_16_MODE]) ? 16 : 8;
|
||||
|
||||
if(m_ex_video_ff[ANALOG_256_MODE])
|
||||
{
|
||||
UINT8 *ext_gvram = (UINT8 *)m_ext_gvram.target();
|
||||
for(xi=0;xi<16;xi++)
|
||||
{
|
||||
res_x = x + xi;
|
||||
res_y = y;
|
||||
|
||||
if(!m_screen->visible_area().contains(res_x, res_y*2+0))
|
||||
return;
|
||||
pen = ext_gvram[(address >> 1)*16+xi+(m_vram_disp*0x20000)];
|
||||
|
||||
pen = m_ext_gvram[((address*16+xi)+(m_vram_disp*0x40000)) >> 1];
|
||||
|
||||
bitmap.pix32(res_y*2+0, res_x) = palette[pen + 0x20];
|
||||
if(m_screen->visible_area().contains(res_x, res_y*2+1))
|
||||
bitmap.pix32(res_y*2+1, res_x) = palette[pen + 0x20];
|
||||
bitmap.pix32(res_y, res_x) = palette[pen + 0x20];
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -812,17 +804,7 @@ UPD7220_DISPLAY_PIXELS_MEMBER( pc9801_state::hgdc_display_pixels )
|
||||
pen|= ((m_video_ram_2[((address & 0x7fff) + (0x18000) + (m_vram_disp*0x20000)) >> 1] >> xi) & 1) ? 4 : 0;
|
||||
if(m_ex_video_ff[ANALOG_16_MODE])
|
||||
pen|= ((m_video_ram_2[((address & 0x7fff) + (0) + (m_vram_disp*0x20000)) >> 1] >> xi) & 1) ? 8 : 0;
|
||||
|
||||
if(interlace_on)
|
||||
{
|
||||
if(m_screen->visible_area().contains(res_x, res_y*2+0))
|
||||
bitmap.pix32(res_y*2+0, res_x) = palette[pen + colors16_mode];
|
||||
/* TODO: it looks like that PC-98xx can only display even lines ... */
|
||||
if(m_screen->visible_area().contains(res_x, res_y*2+1))
|
||||
bitmap.pix32(res_y*2+1, res_x) = palette[pen + colors16_mode];
|
||||
}
|
||||
else
|
||||
bitmap.pix32(res_y, res_x) = palette[pen + colors16_mode];
|
||||
bitmap.pix32(res_y, res_x) = palette[pen + colors16_mode];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -67,8 +67,8 @@ public:
|
||||
|
||||
DECLARE_READ32_MEMBER(r9751_mmio_5ff_r);
|
||||
DECLARE_WRITE32_MEMBER(r9751_mmio_5ff_w);
|
||||
DECLARE_READ32_MEMBER(r9751_mmio_ff05_r);
|
||||
DECLARE_WRITE32_MEMBER(r9751_mmio_ff05_w);
|
||||
DECLARE_READ32_MEMBER(r9751_mmio_ff05_r);
|
||||
DECLARE_WRITE32_MEMBER(r9751_mmio_ff05_w);
|
||||
DECLARE_READ32_MEMBER(r9751_mmio_fff8_r);
|
||||
DECLARE_WRITE32_MEMBER(r9751_mmio_fff8_w);
|
||||
|
||||
@ -77,7 +77,6 @@ public:
|
||||
|
||||
DECLARE_DRIVER_INIT(r9751);
|
||||
|
||||
//DECLARE_FLOPPY_FORMATS( floppy_formats );
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<pdc_device> m_pdc;
|
||||
@ -87,14 +86,13 @@ private:
|
||||
|
||||
// Begin registers
|
||||
UINT32 reg_ff050004;
|
||||
UINT32 reg_ff050320; // Counter?
|
||||
UINT32 reg_fff80040;
|
||||
UINT32 fdd_dest_address; // 5FF080B0
|
||||
UINT32 fdd_cmd_complete;
|
||||
UINT32 smioc_out_addr;
|
||||
attotime timer_32khz_last;
|
||||
// End registers
|
||||
|
||||
// UINT32 fdd_scsi_command;
|
||||
address_space *m_mem;
|
||||
|
||||
// functions
|
||||
@ -117,14 +115,12 @@ READ8_MEMBER(r9751_state::pdc_dma_r)
|
||||
|
||||
WRITE8_MEMBER(r9751_state::pdc_dma_w)
|
||||
{
|
||||
/* NOTE: This needs to be changed to a function that accepts an address and data */
|
||||
m_maincpu->space(AS_PROGRAM).write_byte(m_pdc->fdd_68k_dma_address,data);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(r9751_state,r9751)
|
||||
{
|
||||
reg_ff050004 = 0;
|
||||
reg_ff050320 = 1;
|
||||
reg_fff80040 = 0;
|
||||
fdd_dest_address = 0;
|
||||
// fdd_scsi_command = 0;
|
||||
@ -158,20 +154,16 @@ READ32_MEMBER( r9751_state::r9751_mmio_5ff_r )
|
||||
/* PDC HDD region (0x24, device 9) */
|
||||
case 0x5FF00824: /* HDD Command result code */
|
||||
return 0x10;
|
||||
break;
|
||||
case 0x5FF03024: /* HDD SCSI command completed successfully */
|
||||
data = 0x1;
|
||||
if(TRACE_HDC) logerror("SCSI HDD command completion status - Read: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), address);
|
||||
return data;
|
||||
break;
|
||||
/* SMIOC region (0x98, device 26) */
|
||||
case 0x5FF00898: /* Serial status or DMA status */
|
||||
return 0x40;
|
||||
break;
|
||||
/* PDC FDD region (0xB0, device 44 */
|
||||
case 0x5FF008B0: /* FDD Command result code */
|
||||
return 0x10;
|
||||
break;
|
||||
case 0x5FF010B0: /* Clear 5FF030B0 ?? */
|
||||
if(TRACE_FDC) logerror("--- FDD 0x5FF010B0 READ (0)\n");
|
||||
return 0;
|
||||
@ -179,7 +171,6 @@ READ32_MEMBER( r9751_state::r9751_mmio_5ff_r )
|
||||
data = (m_pdc->reg_p5 << 8) + m_pdc->reg_p4;
|
||||
if(TRACE_FDC) logerror("--- SCSI FDD command completion status - Read: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), address);
|
||||
return data;
|
||||
break;
|
||||
default:
|
||||
if(TRACE_FDC || TRACE_HDC || TRACE_SMIOC) logerror("Instruction: %08x READ MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), address, 0, mem_mask);
|
||||
return 0;
|
||||
@ -306,23 +297,16 @@ READ32_MEMBER( r9751_state::r9751_mmio_ff05_r )
|
||||
{
|
||||
case 0xFF050004:
|
||||
return reg_ff050004;
|
||||
break;
|
||||
case 0xFF050300:
|
||||
return 0x1B | (1<<0x14);
|
||||
break;
|
||||
case 0xFF050320: /* Some type of counter */
|
||||
reg_ff050320++;
|
||||
return reg_ff050320;
|
||||
break;
|
||||
return (machine().time() - timer_32khz_last).as_ticks(32768) & 0xFFFF;
|
||||
case 0xFF050584:
|
||||
return 0;
|
||||
break;
|
||||
case 0xFF050610:
|
||||
return 0xabacabac;
|
||||
break;
|
||||
case 0xFF060014:
|
||||
return 0x80;
|
||||
break;
|
||||
default:
|
||||
data = 0;
|
||||
if(TRACE_CPU_REG) logerror("Instruction: %08x READ MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), address, data, mem_mask);
|
||||
@ -339,11 +323,11 @@ WRITE32_MEMBER( r9751_state::r9751_mmio_ff05_w )
|
||||
case 0xFF050004:
|
||||
reg_ff050004 = data;
|
||||
return;
|
||||
break;
|
||||
case 0xFF05000C: /* CPU LED hex display indicator */
|
||||
if(TRACE_LED) logerror("\n*** LED: %02x, Instruction: %08x ***\n\n", data, space.machine().firstcpu->pc());
|
||||
return;
|
||||
break;
|
||||
case 0xFF050320:
|
||||
timer_32khz_last = machine().time();
|
||||
default:
|
||||
if(TRACE_CPU_REG) logerror("Instruction: %08x WRITE MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), address, data, mem_mask);
|
||||
return;
|
||||
@ -359,7 +343,6 @@ READ32_MEMBER( r9751_state::r9751_mmio_fff8_r )
|
||||
{
|
||||
case 0xFFF80040:
|
||||
return reg_fff80040;
|
||||
break;
|
||||
default:
|
||||
data = 0;
|
||||
if(TRACE_CPU_REG) logerror("Instruction: %08x READ MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), address, data, mem_mask);
|
||||
@ -376,7 +359,6 @@ WRITE32_MEMBER( r9751_state::r9751_mmio_fff8_w )
|
||||
case 0xFFF80040:
|
||||
reg_fff80040 = data;
|
||||
return;
|
||||
break;
|
||||
default:
|
||||
if(TRACE_CPU_REG) logerror("Instruction: %08x WRITE MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), address, data, mem_mask);
|
||||
}
|
||||
@ -389,10 +371,9 @@ WRITE32_MEMBER( r9751_state::r9751_mmio_fff8_w )
|
||||
static ADDRESS_MAP_START(r9751_mem, AS_PROGRAM, 32, r9751_state)
|
||||
//ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x00000000,0x00ffffff) AM_RAM AM_SHARE("main_ram") // 16MB
|
||||
//AM_RANGE(0x01000000,0x07ffffff) AM_NOP
|
||||
AM_RANGE(0x08000000,0x0800ffff) AM_ROM AM_REGION("prom", 0)
|
||||
AM_RANGE(0x5FF00000,0x5FFFFFFF) AM_READWRITE(r9751_mmio_5ff_r, r9751_mmio_5ff_w)
|
||||
AM_RANGE(0xFF050000,0xFF06FFFF) AM_READWRITE(r9751_mmio_ff05_r, r9751_mmio_ff05_w)
|
||||
AM_RANGE(0x5FF00000,0x5FFFFFFF) AM_READWRITE(r9751_mmio_5ff_r, r9751_mmio_5ff_w)
|
||||
AM_RANGE(0xFF050000,0xFF06FFFF) AM_READWRITE(r9751_mmio_ff05_r, r9751_mmio_ff05_w)
|
||||
AM_RANGE(0xFFF80000,0xFFF8FFFF) AM_READWRITE(r9751_mmio_fff8_r, r9751_mmio_fff8_w)
|
||||
//AM_RANGE(0xffffff00,0xffffffff) AM_RAM // Unknown area
|
||||
ADDRESS_MAP_END
|
||||
|
@ -1582,7 +1582,7 @@ ROM_START( raiden2 )
|
||||
|
||||
ROM_REGION( 0x10000, "pals", 0 ) /* PALS */
|
||||
ROM_LOAD( "jj4b02__ami18cv8-15.u0342.jed", 0x0000, 0x288, NO_DUMP)
|
||||
ROM_LOAD( "jj4b01__mmipal16l8bcn.u0341.jed", 0x0000, 0x288, NO_DUMP)
|
||||
ROM_LOAD( "jj4b01__mmipal16l8bcn.u0341.jed", 0x0000, 0x335, CRC(d1a039af) SHA1(f88ff8674d5be17ae9085b51aefcf6abf0574883) )
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -1622,7 +1622,7 @@ ROM_START( raiden2sw ) // original board with serial # 0008307
|
||||
|
||||
ROM_REGION( 0x10000, "pals", 0 ) /* PALS */
|
||||
ROM_LOAD( "jj4b02__ami18cv8-15.u0342.jed", 0x0000, 0x288, NO_DUMP)
|
||||
ROM_LOAD( "jj4b01__mmipal16l8bcn.u0341.jed", 0x0000, 0x288, NO_DUMP)
|
||||
ROM_LOAD( "jj4b01__mmipal16l8bcn.u0341.jed", 0x0000, 0x335, CRC(d1a039af) SHA1(f88ff8674d5be17ae9085b51aefcf6abf0574883) )
|
||||
ROM_END
|
||||
|
||||
/*
|
||||
@ -1679,8 +1679,8 @@ ROM_START( raiden2hk )
|
||||
|
||||
ROM_REGION( 0x10000, "pals", 0 ) /* PALS */
|
||||
ROM_LOAD( "jj4b02__ami18cv8-15.u0342.jed", 0x0000, 0x288, NO_DUMP)
|
||||
ROM_LOAD( "jj4b01__mmipal16l8bcn.u0341.jed", 0x0000, 0x288, NO_DUMP)
|
||||
ROM_END
|
||||
ROM_LOAD( "jj4b01__mmipal16l8bcn.u0341.jed", 0x0000, 0x335, CRC(d1a039af) SHA1(f88ff8674d5be17ae9085b51aefcf6abf0574883) )
|
||||
ROM_END
|
||||
|
||||
/*
|
||||
|
||||
@ -1753,8 +1753,8 @@ ROM_START( raiden2j )
|
||||
|
||||
ROM_REGION( 0x10000, "pals", 0 ) /* PALS */
|
||||
ROM_LOAD( "jj4b02__ami18cv8-15.u0342.jed", 0x0000, 0x288, NO_DUMP)
|
||||
ROM_LOAD( "jj4b01__mmipal16l8bcn.u0341.jed", 0x0000, 0x288, NO_DUMP)
|
||||
ROM_END
|
||||
ROM_LOAD( "jj4b01__mmipal16l8bcn.u0341.jed", 0x0000, 0x335, CRC(d1a039af) SHA1(f88ff8674d5be17ae9085b51aefcf6abf0574883) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( raiden2i )
|
||||
ROM_REGION( 0x200000, "maincpu", 0 ) /* v30 main cpu */
|
||||
@ -1792,8 +1792,8 @@ ROM_START( raiden2i )
|
||||
|
||||
ROM_REGION( 0x10000, "pals", 0 ) /* PALS */
|
||||
ROM_LOAD( "jj4b02__ami18cv8-15.u0342.jed", 0x0000, 0x288, NO_DUMP)
|
||||
ROM_LOAD( "jj4b01__mmipal16l8bcn.u0341.jed", 0x0000, 0x288, NO_DUMP)
|
||||
ROM_END
|
||||
ROM_LOAD( "jj4b01__mmipal16l8bcn.u0341.jed", 0x0000, 0x335, CRC(d1a039af) SHA1(f88ff8674d5be17ae9085b51aefcf6abf0574883) )
|
||||
ROM_END
|
||||
|
||||
|
||||
/*
|
||||
|
@ -44,13 +44,112 @@ Board # CBK1029
|
||||
|
||||
CN1: 40 PIN Connector (Epoxy Block )
|
||||
CN2: 8 PIN Connector (Epoxy Block)
|
||||
1UP: 4 PIN Connector (Analog Controls ?)
|
||||
2UP: 4 PIN Connector (Analog Controls ?)
|
||||
1UP: 4 PIN Connector (Analog Controls)
|
||||
2UP: 4 PIN Connector (Analog Controls)
|
||||
|
||||
Z8400A (x2)
|
||||
UM82C55A-PC
|
||||
YM2203C
|
||||
|
||||
Documentation as per manual:
|
||||
|
||||
Main Jamma Connector
|
||||
Solder Side | Parts Side
|
||||
------------------------------------------------------------------
|
||||
GND | A | 1 | GND
|
||||
GND | B | 2 | GND
|
||||
+5 | C | 3 | +5
|
||||
+5 | D | 4 | +5
|
||||
| E | 5 |
|
||||
+12 | F | 6 | +12
|
||||
----- KEY -----| H | 7 |----- KEY -----
|
||||
| J | 8 |
|
||||
| K | 9 |
|
||||
Speaker (-) | L | 10| Speaker (+)
|
||||
| M | 11|
|
||||
Video Green | N | 12| Video Red
|
||||
Video Sync | P | 13| Video Blue
|
||||
Player 1 Left | R | 14| Player 2 Right
|
||||
Player 1 Right | S | 15| Player 2 Left
|
||||
Coin Switch 2 | T | 16| Coin Switch 1
|
||||
Player 2 Start | U | 17| Player 1 Start
|
||||
| V | 18|
|
||||
| W | 19|
|
||||
| X | 20|
|
||||
| Y | 21|
|
||||
Player 2 Shoot | Z | 22| Player 1 Shoot
|
||||
| a | 23|
|
||||
| b | 24|
|
||||
| c | 25|
|
||||
| d | 26|
|
||||
GND | e | 27| GND
|
||||
GND | f | 28| GND
|
||||
|
||||
____
|
||||
/ \
|
||||
| Dial |
|
||||
\____/
|
||||
/| |\
|
||||
/ | | \
|
||||
Blue Red Black Yellow
|
||||
/ | | \
|
||||
Left +5v GND Right
|
||||
|
||||
|
||||
DIPSW-1
|
||||
------------------------------------------------------------------
|
||||
DipSwitch Title | Function | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|
||||
------------------------------------------------------------------
|
||||
Cabinet Style | Upright |off| |
|
||||
| Cocktail |on | |
|
||||
------------------------------------------------------------------
|
||||
Stage Select | Off | |off| |
|
||||
| On | |on | |
|
||||
------------------------------------------------------------------
|
||||
Freeze Screen | Off | |off| |
|
||||
| On | |on | |
|
||||
------------------------------------------------------------------
|
||||
Test / Game Mode | Game | |off| |
|
||||
| Test | |on | |
|
||||
------------------------------------------------------------------
|
||||
Allow Continue | Off | |off| |
|
||||
| On | |on | |
|
||||
------------------------------------------------------------------
|
||||
| 1cn/1cr | |off|off|off|
|
||||
| 1cn/2cr | |on |off|off|
|
||||
| 1cn/3cr | |off|on |off|
|
||||
Coinage | 1cn/5cr | |on |on |off|
|
||||
| 2cn/1cr | |off|off|on |
|
||||
| 2cn/3cr | |on |off|on |
|
||||
| 3cn/1cr | |off|on |on |
|
||||
| 3cn/2cr | |on |on |on |
|
||||
------------------------------------------------------------------
|
||||
|
||||
DIPSW-2
|
||||
------------------------------------------------------------------
|
||||
DipSwitch Title | Function | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|
||||
------------------------------------------------------------------
|
||||
No Comment | N/A |off| |
|
||||
------------------------------------------------------------------
|
||||
Demo Sounds | Yes | |off| |
|
||||
| No | |on | |
|
||||
------------------------------------------------------------------
|
||||
| 1 | |off|off| |
|
||||
Players Count | 2 | |on |off| |
|
||||
| 3 | |off|on | |
|
||||
| 5 | |on |on | |
|
||||
-----------------------------------------------------------------
|
||||
| None | |off|off| |
|
||||
Bonus |Every 20K | |on |off| |
|
||||
|20K & 50K | |off|on | |
|
||||
|Every 50K | |on |on | |
|
||||
------------------------------------------------------------------
|
||||
| Easy | |off|off|
|
||||
Difficulty | Normal | |on |off|
|
||||
| Hard | |off|on |
|
||||
| V.Hard | |on |on |
|
||||
------------------------------------------------------------------
|
||||
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
@ -137,8 +236,8 @@ READ8_MEMBER(sfkick_state::ppi_port_b_r)
|
||||
case 0: return m_in0->read();
|
||||
case 1: return m_in1->read();
|
||||
case 2: return BITSWAP8(m_dial->read(),4,5,6,7,3,2,1,0);
|
||||
case 3: return m_dsw2->read();
|
||||
case 4: return m_dsw1->read();
|
||||
case 3: return m_dsw1->read();
|
||||
case 4: return m_dsw2->read();
|
||||
}
|
||||
return 0xff;
|
||||
}
|
||||
@ -411,41 +510,22 @@ static INPUT_PORTS_START( sfkick )
|
||||
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(-20)
|
||||
|
||||
PORT_START("DSW1") /* bitswapped at read! 76543210 -> 45673210 */
|
||||
PORT_DIPNAME( 0x82, 0x02, DEF_STR( Unknown ) ) /* unknown, code @ $98a8 */
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x02, "2" )
|
||||
PORT_DIPSETTING( 0x80, "1" )
|
||||
PORT_DIPSETTING( 0x82, "0" )
|
||||
PORT_DIPNAME( 0x0c, 0x08, DEF_STR( Difficulty ) ) /* not sure, code @ $9877 */
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Medium ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) /* unused ? */
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x41, 0x01, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPSETTING( 0x01, "3" )
|
||||
PORT_DIPSETTING( 0x40, "2" )
|
||||
PORT_DIPSETTING( 0x41, "1" )
|
||||
|
||||
PORT_START("DSW2") /* bitswapped at read! 76543210 -> 45673210 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) /* unused ? */
|
||||
PORT_DIPNAME( 0x02, 0x02, "Test Mode" )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:1")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, "Freeze" )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Allow_Continue ) )
|
||||
PORT_DIPNAME( 0x01, 0x01, "Stage Select" ) PORT_DIPLOCATION("SW1:2") /* How does this work?? */
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, "Freeze" ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, "Test Mode" ) PORT_DIPLOCATION("SW1:4")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:5")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
|
||||
PORT_DIPNAME( 0x8c, 0x8c, DEF_STR( Coinage ) )
|
||||
PORT_DIPNAME( 0x8c, 0x8c, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:6,8,7")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x84, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 3C_2C ) )
|
||||
@ -454,6 +534,27 @@ static INPUT_PORTS_START( sfkick )
|
||||
PORT_DIPSETTING( 0x88, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_5C ) )
|
||||
|
||||
PORT_START("DSW2") /* bitswapped at read! 76543210 -> 45673210 */
|
||||
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:1" ) /* Manual states "No Comment" */
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x41, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
|
||||
PORT_DIPSETTING( 0x41, "1" )
|
||||
PORT_DIPSETTING( 0x40, "2" )
|
||||
PORT_DIPSETTING( 0x01, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPNAME( 0x82, 0x02, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6")
|
||||
PORT_DIPSETTING( 0x80, "Every 20,000" )
|
||||
PORT_DIPSETTING( 0x02, "20,000 & 50,000" )
|
||||
PORT_DIPSETTING( 0x00, "Every 50,000" )
|
||||
PORT_DIPSETTING( 0x82, DEF_STR( None ) )
|
||||
PORT_DIPNAME( 0x0c, 0x08, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
WRITE_LINE_MEMBER(sfkick_state::sfkick_vdp_interrupt)
|
||||
|
@ -106,7 +106,8 @@ public:
|
||||
m_dsp(*this, "dsp"),
|
||||
m_tc0780fpa(*this, "tc0780fpa"),
|
||||
m_palette(*this, "palette"),
|
||||
m_polyrom(*this, "poly")
|
||||
m_polyrom(*this, "poly"),
|
||||
m_gfxdecode(*this, "gfxdecode")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -116,6 +117,7 @@ public:
|
||||
required_device<tc0780fpa_device> m_tc0780fpa;
|
||||
required_device<palette_device> m_palette;
|
||||
required_memory_region m_polyrom;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
|
||||
DECLARE_READ64_MEMBER(video_r);
|
||||
DECLARE_WRITE64_MEMBER(video_w);
|
||||
@ -141,6 +143,9 @@ public:
|
||||
void videochip_w(offs_t address, UINT32 data);
|
||||
void video_exit();
|
||||
void print_display_list();
|
||||
TILE_GET_INFO_MEMBER(tile_get_info);
|
||||
TILEMAP_MAPPER_MEMBER(tile_scan_layer0);
|
||||
TILEMAP_MAPPER_MEMBER(tile_scan_layer1);
|
||||
|
||||
DECLARE_DRIVER_INIT(optiger);
|
||||
|
||||
@ -150,6 +155,8 @@ public:
|
||||
std::unique_ptr<UINT32[]> m_screen_ram;
|
||||
std::unique_ptr<UINT32[]> m_pal_ram;
|
||||
|
||||
tilemap_t *m_tilemap[2];
|
||||
|
||||
UINT32 m_video_address;
|
||||
|
||||
UINT32 m_dsp_rom_address;
|
||||
@ -183,50 +190,66 @@ void taitopjc_state::video_exit()
|
||||
#endif
|
||||
}
|
||||
|
||||
TILE_GET_INFO_MEMBER(taitopjc_state::tile_get_info)
|
||||
{
|
||||
UINT32 val = m_screen_ram[0x3f000 + (tile_index/2)];
|
||||
|
||||
if (!(tile_index & 1))
|
||||
val >>= 16;
|
||||
|
||||
int color = (val >> 12) & 0xf;
|
||||
int tile = (val & 0xfff);
|
||||
int flags = 0;
|
||||
|
||||
SET_TILE_INFO_MEMBER(0, tile, color, flags);
|
||||
}
|
||||
|
||||
TILEMAP_MAPPER_MEMBER(taitopjc_state::tile_scan_layer0)
|
||||
{
|
||||
/* logical (col,row) -> memory offset */
|
||||
return (row * 64) + col;
|
||||
}
|
||||
|
||||
TILEMAP_MAPPER_MEMBER(taitopjc_state::tile_scan_layer1)
|
||||
{
|
||||
/* logical (col,row) -> memory offset */
|
||||
return (row * 64) + col + 32;
|
||||
}
|
||||
|
||||
void taitopjc_state::video_start()
|
||||
{
|
||||
static const gfx_layout char_layout =
|
||||
{
|
||||
16, 16,
|
||||
4032,
|
||||
8,
|
||||
{ 0,1,2,3,4,5,6,7 },
|
||||
{ 3*8, 2*8, 1*8, 0*8, 7*8, 6*8, 5*8, 4*8, 11*8, 10*8, 9*8, 8*8, 15*8, 14*8, 13*8, 12*8 },
|
||||
{ 0*128, 1*128, 2*128, 3*128, 4*128, 5*128, 6*128, 7*128, 8*128, 9*128, 10*128, 11*128, 12*128, 13*128, 14*128, 15*128 },
|
||||
8*256
|
||||
};
|
||||
|
||||
m_screen_ram = std::make_unique<UINT32[]>(0x40000);
|
||||
m_pal_ram = std::make_unique<UINT32[]>(0x8000);
|
||||
|
||||
m_tilemap[0] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(taitopjc_state::tile_get_info),this), tilemap_mapper_delegate(FUNC(taitopjc_state::tile_scan_layer0),this), 16, 16, 32, 32);
|
||||
m_tilemap[1] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(taitopjc_state::tile_get_info),this), tilemap_mapper_delegate(FUNC(taitopjc_state::tile_scan_layer1),this), 16, 16, 32, 32);
|
||||
m_tilemap[0]->set_transparent_pen(0);
|
||||
m_tilemap[1]->set_transparent_pen(1);
|
||||
|
||||
m_gfxdecode->set_gfx(0, std::make_unique<gfx_element>(m_palette, char_layout, (UINT8*)m_screen_ram.get(), 0, m_palette->entries() / 256, 0));
|
||||
|
||||
machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(taitopjc_state::video_exit), this));
|
||||
}
|
||||
|
||||
UINT32 taitopjc_state::screen_update_taitopjc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
UINT8 *s = (UINT8*)m_screen_ram.get();
|
||||
int x,y,t,u;
|
||||
|
||||
bitmap.fill(0x000000, cliprect);
|
||||
|
||||
UINT16 *s16 = (UINT16*)m_screen_ram.get();
|
||||
|
||||
for (u=0; u < 24; u++)
|
||||
{
|
||||
for (t=0; t < 32; t++)
|
||||
{
|
||||
UINT16 tile = s16[(0x7e000 + (u*64) + t) ^ NATIVE_ENDIAN_VALUE_LE_BE(1,0)];
|
||||
|
||||
int palette = (tile >> 12) & 0xf;
|
||||
|
||||
tile &= 0xfff;
|
||||
|
||||
for (y=0; y < 16; y++)
|
||||
{
|
||||
UINT16 *fb = &bitmap.pix16(y+(u*16));
|
||||
for (x=0; x < 16; x++)
|
||||
{
|
||||
UINT8 p = s[((tile*256) + ((y*16)+x)) ^ NATIVE_ENDIAN_VALUE_LE_BE(3,0)];
|
||||
if (p != 0)
|
||||
{
|
||||
fb[x+(t*16)] = (palette << 8) + p;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
m_tc0780fpa->draw(bitmap, cliprect);
|
||||
|
||||
m_tilemap[0]->draw(screen, bitmap, cliprect, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -255,7 +278,19 @@ void taitopjc_state::videochip_w(offs_t address, UINT32 data)
|
||||
}
|
||||
else if (address >= 0x10000000 && address < 0x10040000)
|
||||
{
|
||||
m_screen_ram[address - 0x10000000] = data;
|
||||
UINT32 addr = address - 0x10000000;
|
||||
m_screen_ram[addr] = data;
|
||||
|
||||
if (address >= 0x1003f000)
|
||||
{
|
||||
UINT32 a = address - 0x1003f000;
|
||||
m_tilemap[0]->mark_tile_dirty((a*2));
|
||||
m_tilemap[0]->mark_tile_dirty((a*2)+1);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_gfxdecode->gfx(0)->mark_dirty(addr / 64);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -687,16 +722,16 @@ static INPUT_PORTS_START( taitopjc )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("ANALOG1") // Player 1 X
|
||||
PORT_BIT( 0x3ff, 0x200, IPT_AD_STICK_X ) PORT_MINMAX(0x000,0x3ff) PORT_SENSITIVITY(35) PORT_KEYDELTA(5)
|
||||
PORT_BIT( 0x3ff, 0x200, IPT_AD_STICK_X ) PORT_MINMAX(0x000,0x3ff) PORT_SENSITIVITY(35) PORT_KEYDELTA(30)
|
||||
|
||||
PORT_START("ANALOG2") // Player 1 Y
|
||||
PORT_BIT( 0x3ff, 0x200, IPT_AD_STICK_Y ) PORT_MINMAX(0x000,0x3ff) PORT_SENSITIVITY(35) PORT_KEYDELTA(5)
|
||||
PORT_BIT( 0x3ff, 0x200, IPT_AD_STICK_Y ) PORT_MINMAX(0x000,0x3ff) PORT_SENSITIVITY(35) PORT_KEYDELTA(30)
|
||||
|
||||
PORT_START("ANALOG3") // Player 2 X
|
||||
PORT_BIT( 0x3ff, 0x200, IPT_AD_STICK_X ) PORT_PLAYER(2) PORT_MINMAX(0x000,0x3ff) PORT_SENSITIVITY(35) PORT_KEYDELTA(5)
|
||||
PORT_BIT( 0x3ff, 0x200, IPT_AD_STICK_X ) PORT_PLAYER(2) PORT_MINMAX(0x000,0x3ff) PORT_SENSITIVITY(35) PORT_KEYDELTA(30)
|
||||
|
||||
PORT_START("ANALOG4") // Player 2 Y
|
||||
PORT_BIT( 0x3ff, 0x200, IPT_AD_STICK_Y ) PORT_PLAYER(2) PORT_MINMAX(0x000,0x3ff) PORT_SENSITIVITY(35) PORT_KEYDELTA(5)
|
||||
PORT_BIT( 0x3ff, 0x200, IPT_AD_STICK_Y ) PORT_PLAYER(2) PORT_MINMAX(0x000,0x3ff) PORT_SENSITIVITY(35) PORT_KEYDELTA(30)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -727,6 +762,10 @@ static MACHINE_CONFIG_START( taitopjc, taitopjc_state )
|
||||
MCFG_TMP95C063_PORT5_READ(IOPORT("INPUTS1"))
|
||||
MCFG_TMP95C063_PORTD_READ(IOPORT("INPUTS2"))
|
||||
MCFG_TMP95C063_PORTE_READ(IOPORT("INPUTS3"))
|
||||
MCFG_TMP95C063_AN0_READ(IOPORT("ANALOG1"))
|
||||
MCFG_TMP95C063_AN1_READ(IOPORT("ANALOG2"))
|
||||
MCFG_TMP95C063_AN2_READ(IOPORT("ANALOG3"))
|
||||
MCFG_TMP95C063_AN3_READ(IOPORT("ANALOG4"))
|
||||
MCFG_CPU_PROGRAM_MAP(tlcs900h_mem)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", taitopjc_state, taitopjc_vbi)
|
||||
|
||||
@ -753,6 +792,8 @@ static MACHINE_CONFIG_START( taitopjc, taitopjc_state )
|
||||
|
||||
MCFG_PALETTE_ADD("palette", 32768)
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", empty)
|
||||
|
||||
MCFG_DEVICE_ADD("tc0780fpa", TC0780FPA, 0)
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
@ -765,6 +806,12 @@ DRIVER_INIT_MEMBER(taitopjc_state, optiger)
|
||||
// skip sound check
|
||||
rom[0x217] = 0x00;
|
||||
rom[0x218] = 0x00;
|
||||
|
||||
#if 0
|
||||
UINT32 *mr = (UINT32*)memregion("user1")->base();
|
||||
//mr[(0x23a5c^4)/4] = 0x60000000;
|
||||
mr[((0x513b0-0x40000)^4)/4] = 0x38600001;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
@ -917,9 +917,9 @@ static MACHINE_CONFIG_FRAGMENT( tms5110_route )
|
||||
/* sound hardware */
|
||||
MCFG_TMS5110_M0_CB(DEVWRITELINE("tms6100", tms6100_device, m0_w))
|
||||
MCFG_TMS5110_M1_CB(DEVWRITELINE("tms6100", tms6100_device, m1_w))
|
||||
MCFG_TMS5110_ADDR_CB(DEVWRITE8("tms6100", tms6100_device, addr_w))
|
||||
MCFG_TMS5110_ADDR_CB(DEVWRITE8("tms6100", tms6100_device, add_w))
|
||||
MCFG_TMS5110_DATA_CB(DEVREADLINE("tms6100", tms6100_device, data_line_r))
|
||||
MCFG_TMS5110_ROMCLK_CB(DEVWRITELINE("tms6100", tms6100_device, romclock_w))
|
||||
MCFG_TMS5110_ROMCLK_CB(DEVWRITELINE("tms6100", tms6100_device, clk_w))
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -1071,7 +1071,7 @@ ROM_START( snspell )
|
||||
ROM_REGION( 1246, "maincpu:opla", 0 )
|
||||
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
|
||||
|
||||
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
|
||||
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
|
||||
ROM_LOAD( "tmc0351nl.vsm", 0x0000, 0x4000, CRC(beea3373) SHA1(8b0f7586d2f12c3d4a885fdb528cf23feffa1a3b) )
|
||||
ROM_LOAD( "tmc0352nl.vsm", 0x4000, 0x4000, CRC(d51f0587) SHA1(ddaa484be1bba5fef46b481cafae517e4acaa8ed) )
|
||||
ROM_END
|
||||
@ -1087,7 +1087,7 @@ ROM_START( snspella )
|
||||
ROM_REGION( 1246, "maincpu:opla", 0 )
|
||||
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
|
||||
|
||||
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
|
||||
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
|
||||
ROM_LOAD( "tmc0351n2l.vsm", 0x0000, 0x4000, CRC(2d03b292) SHA1(a3e9a365307ae936c7472f720a7a8240741531d6) )
|
||||
ROM_LOAD( "tmc0352n2l.vsm", 0x4000, 0x4000, CRC(a6d56883) SHA1(eebf9c07f2f9001679dec06c2367d4a50596d04b) )
|
||||
ROM_END
|
||||
@ -1103,7 +1103,7 @@ ROM_START( snspellb )
|
||||
ROM_REGION( 1246, "maincpu:opla", 0 )
|
||||
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
|
||||
|
||||
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
|
||||
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
|
||||
ROM_LOAD( "cd2350a.vsm", 0x0000, 0x4000, CRC(2adda742) SHA1(3f868ed8284b723c815a30343057e03467c043b5) )
|
||||
ROM_END
|
||||
|
||||
@ -1118,7 +1118,7 @@ ROM_START( snspelluk )
|
||||
ROM_REGION( 1246, "maincpu:opla", 0 )
|
||||
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
|
||||
|
||||
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
|
||||
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
|
||||
ROM_LOAD( "cd2303.vsm", 0x0000, 0x4000, CRC(0fae755c) SHA1(b68c3120a63a61db474feb5d71a6e5dd67910d80) )
|
||||
ROM_LOAD( "cd2304.vsm", 0x4000, 0x4000, CRC(e2a270eb) SHA1(c13c95ad15f1923a4841f66504e0f22646e71d99) )
|
||||
ROM_END
|
||||
@ -1134,7 +1134,7 @@ ROM_START( snspelluka )
|
||||
ROM_REGION( 1246, "maincpu:opla", 0 )
|
||||
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
|
||||
|
||||
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
|
||||
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
|
||||
ROM_LOAD( "cd62175.vsm", 0x0000, 0x4000, CRC(6e1063d4) SHA1(b5c66c51148c5921ecb8ffccd7a460ae639cdb68) )
|
||||
ROM_END
|
||||
|
||||
@ -1149,7 +1149,7 @@ ROM_START( snspelljp )
|
||||
ROM_REGION( 1246, "maincpu:opla", 0 )
|
||||
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
|
||||
|
||||
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
|
||||
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
|
||||
ROM_LOAD( "cd2321.vsm", 0x0000, 0x4000, CRC(ac010cce) SHA1(c0200d857b62be696248ac2d684a390c66ab0c31) )
|
||||
ROM_LOAD( "cd2322.vsm", 0x4000, 0x4000, CRC(b6f4bba4) SHA1(65d686a9385b5ef3f080a5f47c6b2418bb9455b0) )
|
||||
ROM_END
|
||||
@ -1165,7 +1165,7 @@ ROM_START( snspellfr )
|
||||
ROM_REGION( 1246, "maincpu:opla", 0 )
|
||||
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, BAD_DUMP CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) ) // placeholder, use the one we have
|
||||
|
||||
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
|
||||
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
|
||||
ROM_LOAD( "cd2352.vsm", 0x0000, 0x4000, CRC(181a239e) SHA1(e16043766c385e152b7005c1c010be4c5fccdd9b) )
|
||||
ROM_END
|
||||
|
||||
@ -1180,7 +1180,7 @@ ROM_START( snspellit )
|
||||
ROM_REGION( 1246, "maincpu:opla", 0 )
|
||||
ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, BAD_DUMP CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) ) // placeholder, use the one we have
|
||||
|
||||
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
|
||||
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
|
||||
ROM_LOAD( "cd62190.vsm", 0x0000, 0x4000, CRC(63832002) SHA1(ea8124b2bf0f5908c5f1a56d60063f2468a10143) )
|
||||
ROM_END
|
||||
|
||||
@ -1234,7 +1234,7 @@ ROM_START( snread )
|
||||
ROM_REGION( 1246, "maincpu:opla", 0 )
|
||||
ROM_LOAD( "tms0270_cd2705_output.pla", 0, 1246, CRC(bf859848) SHA1(66b297fbf534968fa6db7413b99ef0e81cc35ddc) )
|
||||
|
||||
ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
|
||||
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
|
||||
ROM_LOAD( "cd2394a.vsm", 0x0000, 0x4000, CRC(cbb0e2b1) SHA1(5e322c683baf806523de171310258ae371671327) )
|
||||
ROM_LOAD( "cd2395a.vsm", 0x4000, 0x4000, CRC(3d519504) SHA1(76b19ba5a9a3486005e09c98e8a6abc8b88288dd) )
|
||||
ROM_END
|
||||
|
@ -51,7 +51,6 @@
|
||||
|
||||
TODO:
|
||||
- spellb fetches wrong word sometimes (on lv1 SPOON and ANT) - roms were doublechecked
|
||||
- mrchalgr wrong sound, need more accurate tms6100 emulation
|
||||
|
||||
|
||||
***************************************************************************/
|
||||
@ -222,13 +221,11 @@ WRITE16_MEMBER(tispellb_state::rev2_write_r)
|
||||
// R12: TMC0355 CS
|
||||
// R4: TMC0355 M1
|
||||
// R6: TMC0355 M0
|
||||
if (data & 0x1000)
|
||||
{
|
||||
m_tms6100->m1_w(data >> 4 & 1);
|
||||
m_tms6100->m0_w(data >> 6 & 1);
|
||||
m_tms6100->romclock_w(1);
|
||||
m_tms6100->romclock_w(0);
|
||||
}
|
||||
m_tms6100->cs_w(data >> 12 & 1);
|
||||
m_tms6100->m1_w(data >> 4 & 1);
|
||||
m_tms6100->m0_w(data >> 6 & 1);
|
||||
m_tms6100->clk_w(1);
|
||||
m_tms6100->clk_w(0);
|
||||
|
||||
// rest is same as rev1
|
||||
main_write_r(space, offset, data);
|
||||
@ -372,7 +369,7 @@ static MACHINE_CONFIG_START( rev2, tispellb_state )
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tispellb_state, rev2_write_o))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tispellb_state, rev2_write_r))
|
||||
MCFG_TMS0270_READ_CTL_CB(DEVREAD8("tms6100", tms6100_device, data_r))
|
||||
MCFG_TMS0270_WRITE_CTL_CB(DEVWRITE8("tms6100", tms6100_device, addr_w))
|
||||
MCFG_TMS0270_WRITE_CTL_CB(DEVWRITE8("tms6100", tms6100_device, add_w))
|
||||
|
||||
MCFG_DEVICE_ADD("tms6100", TMS6100, 350000)
|
||||
MCFG_TMS6100_4BIT_MODE()
|
||||
@ -428,7 +425,7 @@ ROM_START( mrchalgr )
|
||||
ROM_REGION( 1246, "maincpu:opla", 0 )
|
||||
ROM_LOAD( "tms0270_mrchalgr_output.pla", 0, 1246, CRC(4785289c) SHA1(60567af0ea120872a4ccf3128e1365fe84722aa8) )
|
||||
|
||||
ROM_REGION( 0x4000, "tms6100", ROMREGION_ERASEFF )
|
||||
ROM_REGION( 0x1000, "tms6100", 0 )
|
||||
ROM_LOAD( "cd2601.vsm", 0x0000, 0x1000, CRC(a9fbe7e9) SHA1(9d480cb30313b8cbce2d048140c1e5e6c5b92452) )
|
||||
ROM_END
|
||||
|
||||
|
@ -116,7 +116,6 @@ dcjp // 1998 Sega Dreamcast (Japan)
|
||||
dc // 1999 Sega Dreamcast (USA)
|
||||
dceu // 1999 Sega Dreamcast (Europe)
|
||||
dcdev // 1998 Sega HKT-0120 Sega Dreamcast Development Box
|
||||
dcprt // 1998 Sega Katana Set 5 Prototype
|
||||
|
||||
svmu // 1998 Sega Visual Memory Unit
|
||||
|
||||
|
@ -1398,26 +1398,26 @@ static void CreateMainMenu(running_machine &machine)
|
||||
|
||||
/* add input menu items */
|
||||
|
||||
menu->item_append("New Memory Window", nullptr, 0, (void *)on_memory_window_activate);
|
||||
menu->item_append("New Disassembly Window", nullptr, 0, (void *)on_disassembly_window_activate);
|
||||
menu->item_append("New Error Log Window", nullptr, 0, (void *)on_log_window_activate);
|
||||
menu->item_append("New Breakpoints Window", nullptr, 0, (void *)on_bp_window_activate);
|
||||
menu->item_append("New Watchpoints Window", nullptr, 0, (void *)on_wp_window_activate);
|
||||
menu->item_append("New Memory Window", "[Ctrl+M]", 0, (void *)on_memory_window_activate);
|
||||
menu->item_append("New Disassembly Window", "[Ctrl+D]", 0, (void *)on_disassembly_window_activate);
|
||||
menu->item_append("New Error Log Window", "[Ctrl+L]", 0, (void *)on_log_window_activate);
|
||||
menu->item_append("New Breakpoints Window", "[Ctrl+B]", 0, (void *)on_bp_window_activate);
|
||||
menu->item_append("New Watchpoints Window", "[Ctrl+W]", 0, (void *)on_wp_window_activate);
|
||||
menu->item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr);
|
||||
menu->item_append("Run", nullptr, 0, (void *)on_run_activate);
|
||||
menu->item_append("Run and Hide Debugger", nullptr, 0, (void *)on_run_h_activate);
|
||||
menu->item_append("Run to Next CPU", nullptr, 0, (void *)on_run_cpu_activate);
|
||||
menu->item_append("Run until Next Interrupt on This CPU", nullptr, 0, (void *)on_run_irq_activate);
|
||||
menu->item_append("Run until Next VBLANK", nullptr, 0, (void *)on_run_vbl_activate);
|
||||
menu->item_append("Run", "[F5]", 0, (void *)on_run_activate);
|
||||
menu->item_append("Run and Hide Debugger", "[F12]", 0, (void *)on_run_h_activate);
|
||||
menu->item_append("Run to Next CPU", "[F6]", 0, (void *)on_run_cpu_activate);
|
||||
menu->item_append("Run until Next Interrupt on This CPU", "[F7]", 0, (void *)on_run_irq_activate);
|
||||
menu->item_append("Run until Next VBLANK", "[F8]", 0, (void *)on_run_vbl_activate);
|
||||
menu->item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr);
|
||||
menu->item_append("Step Into", nullptr, 0, (void *)on_step_into_activate);
|
||||
menu->item_append("Step Over", nullptr, 0, (void *)on_step_over_activate);
|
||||
menu->item_append("Step Into", "[F11]", 0, (void *)on_step_into_activate);
|
||||
menu->item_append("Step Over", "[F10]", 0, (void *)on_step_over_activate);
|
||||
menu->item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr);
|
||||
menu->item_append("Soft Reset", nullptr, 0, (void *)on_soft_reset_activate);
|
||||
menu->item_append("Hard Reset", nullptr, 0, (void *)on_hard_reset_activate);
|
||||
menu->item_append("Soft Reset", "[F3]", 0, (void *)on_soft_reset_activate);
|
||||
menu->item_append("Hard Reset", "[Shift+F3]", 0, (void *)on_hard_reset_activate);
|
||||
menu->item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr);
|
||||
if (!dview_is_state(focus_view, VIEW_STATE_FOLLOW_CPU))
|
||||
menu->item_append("Close Window", nullptr, 0, (void *)on_close_activate);
|
||||
menu->item_append("Close Window", "[Shift+F4]", 0, (void *)on_close_activate);
|
||||
menu->item_append("Exit", nullptr, 0, (void *)on_exit_activate);
|
||||
}
|
||||
|
||||
@ -1470,6 +1470,186 @@ static void handle_mouse(running_machine &machine)
|
||||
}
|
||||
}
|
||||
|
||||
static void handle_keys(running_machine &machine)
|
||||
{
|
||||
if (menu != nullptr)
|
||||
return;
|
||||
|
||||
// global keys
|
||||
if(machine.input().code_pressed_once(KEYCODE_F3))
|
||||
{
|
||||
if(machine.input().code_pressed(KEYCODE_LSHIFT))
|
||||
machine.schedule_hard_reset();
|
||||
else
|
||||
{
|
||||
machine.schedule_soft_reset();
|
||||
debug_cpu_get_visible_cpu(machine)->debug()->go();
|
||||
}
|
||||
}
|
||||
|
||||
if(machine.input().code_pressed_once(KEYCODE_F5))
|
||||
debug_cpu_get_visible_cpu(machine)->debug()->go();
|
||||
if(machine.input().code_pressed_once(KEYCODE_F6))
|
||||
debug_cpu_get_visible_cpu(machine)->debug()->go_next_device();
|
||||
if(machine.input().code_pressed_once(KEYCODE_F7))
|
||||
debug_cpu_get_visible_cpu(machine)->debug()->go_interrupt();
|
||||
if(machine.input().code_pressed_once(KEYCODE_F8))
|
||||
debug_cpu_get_visible_cpu(machine)->debug()->go_vblank();
|
||||
if(machine.input().code_pressed_once(KEYCODE_F10))
|
||||
debug_cpu_get_visible_cpu(machine)->debug()->single_step_over();
|
||||
if(machine.input().code_pressed_once(KEYCODE_F11))
|
||||
debug_cpu_get_visible_cpu(machine)->debug()->single_step();
|
||||
if(machine.input().code_pressed_once(KEYCODE_F12))
|
||||
{
|
||||
debug_hide_all();
|
||||
debug_cpu_get_visible_cpu(machine)->debug()->go();
|
||||
}
|
||||
|
||||
// TODO: make common functions to be shared here and with the menu callbacks
|
||||
if(machine.input().code_pressed_once(KEYCODE_D))
|
||||
{
|
||||
if(machine.input().code_pressed(KEYCODE_LCONTROL))
|
||||
{
|
||||
DView *ndv;
|
||||
render_target *target;
|
||||
const debug_view_source *source;
|
||||
|
||||
target = &machine.render().ui_target();
|
||||
|
||||
ndv = dview_alloc(target, machine, DVT_DISASSEMBLY, 0);
|
||||
ndv->editor.active = TRUE;
|
||||
ndv->editor.container = &machine.render().ui_container();
|
||||
source = ndv->view->source();
|
||||
dview_set_title(ndv, source->name());
|
||||
ndv->ofs_x = ndv->ofs_y = win_count * TITLE_HEIGHT;
|
||||
win_count++;
|
||||
set_focus_view(ndv);
|
||||
}
|
||||
}
|
||||
if(machine.input().code_pressed_once(KEYCODE_M))
|
||||
{
|
||||
if(machine.input().code_pressed(KEYCODE_LCONTROL))
|
||||
{
|
||||
DView *ndv;
|
||||
render_target *target;
|
||||
const debug_view_source *source;
|
||||
|
||||
target = &machine.render().ui_target();
|
||||
|
||||
ndv = dview_alloc(target, machine, DVT_MEMORY, 0);
|
||||
ndv->editor.active = TRUE;
|
||||
ndv->editor.container = &machine.render().ui_container();
|
||||
source = ndv->view->source();
|
||||
dview_set_title(ndv, source->name());
|
||||
ndv->ofs_x = ndv->ofs_y = win_count * TITLE_HEIGHT;
|
||||
ndv->bounds.setx(0,500);
|
||||
win_count++;
|
||||
|
||||
set_focus_view(ndv);
|
||||
}
|
||||
}
|
||||
if(machine.input().code_pressed_once(KEYCODE_L))
|
||||
{
|
||||
if(machine.input().code_pressed(KEYCODE_LCONTROL))
|
||||
{
|
||||
DView *ndv;
|
||||
render_target *target;
|
||||
|
||||
target = &machine.render().ui_target();
|
||||
ndv = dview_alloc(target, machine, DVT_LOG, 0);
|
||||
dview_set_title(ndv, "Log");
|
||||
ndv->ofs_x = ndv->ofs_y = win_count * TITLE_HEIGHT;
|
||||
ndv->bounds.setx(0,600);
|
||||
win_count++;
|
||||
set_focus_view(ndv);
|
||||
}
|
||||
}
|
||||
if(machine.input().code_pressed_once(KEYCODE_B))
|
||||
{
|
||||
if(machine.input().code_pressed(KEYCODE_LCONTROL))
|
||||
{
|
||||
DView *ndv;
|
||||
render_target *target;
|
||||
|
||||
target = &machine.render().ui_target();
|
||||
ndv = dview_alloc(target, machine, DVT_BREAK_POINTS, 0);
|
||||
dview_set_title(ndv, "Breakpoints");
|
||||
ndv->ofs_x = ndv->ofs_y = win_count * TITLE_HEIGHT;
|
||||
ndv->bounds.setx(0,600);
|
||||
win_count++;
|
||||
set_focus_view(ndv);
|
||||
}
|
||||
}
|
||||
if(machine.input().code_pressed_once(KEYCODE_W))
|
||||
{
|
||||
if(machine.input().code_pressed(KEYCODE_LCONTROL))
|
||||
{
|
||||
DView *ndv;
|
||||
render_target *target;
|
||||
|
||||
target = &machine.render().ui_target();
|
||||
ndv = dview_alloc(target, machine, DVT_WATCH_POINTS, 0);
|
||||
dview_set_title(ndv, "Watchpoints");
|
||||
ndv->ofs_x = ndv->ofs_y = win_count * TITLE_HEIGHT;
|
||||
ndv->bounds.setx(0,600);
|
||||
win_count++;
|
||||
set_focus_view(ndv);
|
||||
}
|
||||
}
|
||||
if (!dview_is_state(focus_view, VIEW_STATE_FOLLOW_CPU))
|
||||
{
|
||||
if(machine.input().code_pressed_once(KEYCODE_F4))
|
||||
{
|
||||
if(machine.input().code_pressed(KEYCODE_LSHIFT)) // use shift+F4, as ctrl+F4 is used to toggle keepaspect.
|
||||
{
|
||||
DView* dv = focus_view;
|
||||
set_focus_view(focus_view->next);
|
||||
win_count--;
|
||||
dview_free(dv);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// pass keypresses to debug view with focus
|
||||
if(machine.input().code_pressed_once(KEYCODE_UP))
|
||||
focus_view->view->process_char(DCH_UP);
|
||||
if(machine.input().code_pressed_once(KEYCODE_DOWN))
|
||||
focus_view->view->process_char(DCH_DOWN);
|
||||
if(machine.input().code_pressed_once(KEYCODE_LEFT))
|
||||
{
|
||||
if(machine.input().code_pressed(KEYCODE_LCONTROL))
|
||||
focus_view->view->process_char(DCH_CTRLLEFT);
|
||||
else
|
||||
focus_view->view->process_char(DCH_LEFT);
|
||||
}
|
||||
if(machine.input().code_pressed_once(KEYCODE_RIGHT))
|
||||
{
|
||||
if(machine.input().code_pressed(KEYCODE_LCONTROL))
|
||||
focus_view->view->process_char(DCH_CTRLRIGHT);
|
||||
else
|
||||
focus_view->view->process_char(DCH_RIGHT);
|
||||
}
|
||||
if(machine.input().code_pressed_once(KEYCODE_PGUP))
|
||||
focus_view->view->process_char(DCH_PUP);
|
||||
if(machine.input().code_pressed_once(KEYCODE_PGDN))
|
||||
focus_view->view->process_char(DCH_PDOWN);
|
||||
if(machine.input().code_pressed_once(KEYCODE_HOME))
|
||||
{
|
||||
if(machine.input().code_pressed(KEYCODE_LCONTROL))
|
||||
focus_view->view->process_char(DCH_CTRLHOME);
|
||||
else
|
||||
focus_view->view->process_char(DCH_HOME);
|
||||
}
|
||||
if(machine.input().code_pressed_once(KEYCODE_END))
|
||||
{
|
||||
if(machine.input().code_pressed(KEYCODE_LCONTROL))
|
||||
focus_view->view->process_char(DCH_CTRLEND);
|
||||
else
|
||||
focus_view->view->process_char(DCH_END);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
handle_editor - handle the editor
|
||||
@ -1661,6 +1841,7 @@ void debug_internal::wait_for_debugger(device_t &device, bool firststop)
|
||||
device.machine().osd().update(false);
|
||||
handle_menus(device.machine());
|
||||
handle_mouse(device.machine());
|
||||
handle_keys(device.machine());
|
||||
//osd_sleep(osd_ticks_per_second()/60);
|
||||
|
||||
}
|
||||
|
@ -13,8 +13,6 @@
|
||||
#include "osdepend.h"
|
||||
#include "modules/lib/osdobj_common.h"
|
||||
|
||||
extern bool g_print_verbose;
|
||||
|
||||
const options_entry osd_options::s_option_entries[] =
|
||||
{
|
||||
{ NULL, NULL, OPTION_HEADER, "OSD KEYBOARD MAPPING OPTIONS" },
|
||||
@ -155,6 +153,7 @@ osd_options::osd_options()
|
||||
osd_common_t::osd_common_t(osd_options &options)
|
||||
: osd_output(), m_machine(NULL),
|
||||
m_options(options),
|
||||
m_print_verbose(false),
|
||||
m_sound(NULL),
|
||||
m_debugger(NULL)
|
||||
{
|
||||
@ -278,10 +277,12 @@ void osd_common_t::output_callback(osd_output_channel channel, const char *msg,
|
||||
vfprintf(stderr, msg, args);
|
||||
break;
|
||||
case OSD_OUTPUT_CHANNEL_INFO:
|
||||
case OSD_OUTPUT_CHANNEL_VERBOSE:
|
||||
case OSD_OUTPUT_CHANNEL_LOG:
|
||||
vfprintf(stdout, msg, args);
|
||||
break;
|
||||
case OSD_OUTPUT_CHANNEL_VERBOSE:
|
||||
if (verbose()) vfprintf(stdout, msg, args);
|
||||
break;
|
||||
case OSD_OUTPUT_CHANNEL_DEBUG:
|
||||
#ifdef MAME_DEBUG
|
||||
vfprintf(stdout, msg, args);
|
||||
@ -333,7 +334,7 @@ void osd_common_t::init(running_machine &machine)
|
||||
osd_options &options = downcast<osd_options &>(machine.options());
|
||||
// extract the verbose printing option
|
||||
if (options.verbose())
|
||||
g_print_verbose = true;
|
||||
set_verbose(true);
|
||||
|
||||
// ensure we get called on the way out
|
||||
machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(osd_common_t::osd_exit), this));
|
||||
|
@ -202,7 +202,6 @@ public:
|
||||
// getters
|
||||
running_machine &machine() { assert(m_machine != nullptr); return *m_machine; }
|
||||
|
||||
|
||||
virtual void debugger_update();
|
||||
|
||||
virtual void init_subsystems();
|
||||
@ -228,6 +227,8 @@ public:
|
||||
|
||||
// osd_output interface ...
|
||||
virtual void output_callback(osd_output_channel channel, const char *msg, va_list args) override;
|
||||
bool verbose() const { return m_print_verbose; }
|
||||
void set_verbose(bool print_verbose) { m_print_verbose = print_verbose; }
|
||||
|
||||
protected:
|
||||
virtual bool input_init();
|
||||
@ -238,6 +239,8 @@ private:
|
||||
running_machine * m_machine;
|
||||
osd_options& m_options;
|
||||
|
||||
bool m_print_verbose;
|
||||
|
||||
osd_module_manager m_mod_man;
|
||||
font_module *m_font_module;
|
||||
|
||||
|
@ -3,8 +3,6 @@
|
||||
|
||||
#include "osdcore.h"
|
||||
|
||||
bool g_print_verbose = false;
|
||||
|
||||
static const int MAXSTACK = 10;
|
||||
static osd_output *m_stack[MAXSTACK];
|
||||
static int m_ptr = -1;
|
||||
@ -104,10 +102,6 @@ void CLIB_DECL osd_printf_verbose(const char *format, ...)
|
||||
{
|
||||
va_list argptr;
|
||||
|
||||
/* if we're not verbose, skip it */
|
||||
if (!g_print_verbose)
|
||||
return;
|
||||
|
||||
/* do the output */
|
||||
va_start(argptr, format);
|
||||
if (m_ptr >= 0) m_stack[m_ptr]->output_callback(OSD_OUTPUT_CHANNEL_VERBOSE, format, argptr);
|
||||
|
Loading…
Reference in New Issue
Block a user