[Vm-dev] [commit][3595] CogVM plugin source as per VMMaker.oscog-eem.1678.

commits at squeakvm.org commits at squeakvm.org
Sat Feb 13 23:57:53 UTC 2016


Revision: 3595
Author:   eliot
Date:     2016-02-13 15:57:51 -0800 (Sat, 13 Feb 2016)
Log Message:
-----------
CogVM plugin source as per VMMaker.oscog-eem.1678.
Generate the plugin export tables aware of conditionally compiled prims.
Add a simplified and shared build system for win32 and cygwin that follows the
Mac OS X one. Add BochsX64Plugin to the win32 spur VM.  Use the same scheme
for the bochs support libraries as on Mac (build.win32x86/{bochsx86,bochsx64}).
Fix the signatures of the MIDI plugin support files on unix and win32.

Modified Paths:
--------------
    branches/Cog/build.macos32x86/common/Makefile.flags
    branches/Cog/build.macos32x86/common/Makefile.plugin
    branches/Cog/build.macos32x86/common/Makefile.rules
    branches/Cog/build.macos32x86/common/Makefile.vm
    branches/Cog/build.macos32x86/pharo.cog.spur/plugins.int
    branches/Cog/build.macos32x86/squeak+immutability.cog.spur/plugins.int
    branches/Cog/build.macos32x86/squeak.cog.spur/plugins.int
    branches/Cog/build.macos32x86/squeak.cog.v3/plugins.int
    branches/Cog/build.macos32x86/squeak.sista.spur/plugins.int
    branches/Cog/build.macos32x86/squeak.stack.spur/plugins.int
    branches/Cog/build.macos32x86/squeak.stack.v3/plugins.int
    branches/Cog/build.macos64x64/common/Makefile.flags
    branches/Cog/build.macos64x64/common/Makefile.plugin
    branches/Cog/build.macos64x64/common/Makefile.rules
    branches/Cog/build.macos64x64/common/Makefile.vm
    branches/Cog/build.macos64x64/pharo.cog.spur/plugins.int
    branches/Cog/build.macos64x64/squeak.cog.spur/plugins.int
    branches/Cog/build.macos64x64/squeak.sista.spur/plugins.int
    branches/Cog/build.macos64x64/squeak.stack.spur/plugins.int
    branches/Cog/build.win32x86/newspeak.cog.spur/Makefile
    branches/Cog/build.win32x86/newspeak.stack.spur/Makefile
    branches/Cog/build.win32x86/squeak.cog.spur/Makefile
    branches/Cog/build.win32x86/squeak.cog.spur/plugins.ext
    branches/Cog/build.win32x86/squeak.cog.v3/Makefile
    branches/Cog/build.win32x86/squeak.cog.v3/plugins.ext
    branches/Cog/build.win32x86/squeak.stack.spur/Makefile
    branches/Cog/build.win32x86/squeak.stack.v3/Makefile
    branches/Cog/platforms/unix/plugins/MIDIPlugin/sqUnixMIDIALSA.inc
    branches/Cog/platforms/unix/plugins/MIDIPlugin/sqUnixMIDINone.inc
    branches/Cog/src/plugins/ImmX11Plugin/ImmX11Plugin.c
    branches/Cog/src/plugins/SecurityPlugin/SecurityPlugin.c
    branches/Cog/src/plugins/SerialPlugin/SerialPlugin.c

Added Paths:
-----------
    branches/Cog/build.win32x86/bochsx64/
    branches/Cog/build.win32x86/bochsx64/conf.COG
    branches/Cog/build.win32x86/bochsx64/conf.COG.dbg
    branches/Cog/build.win32x86/bochsx64/exploration/
    branches/Cog/build.win32x86/bochsx64/exploration/Makefile
    branches/Cog/build.win32x86/bochsx86/
    branches/Cog/build.win32x86/bochsx86/conf.COG
    branches/Cog/build.win32x86/common/
    branches/Cog/build.win32x86/common/Makefile
    branches/Cog/build.win32x86/common/Makefile.plugin
    branches/Cog/build.win32x86/common/Makefile.rules

Removed Paths:
-------------
    branches/Cog/build.win32x86/newspeak.cog.spur/Makefile.plugin
    branches/Cog/build.win32x86/newspeak.sista.spur/
    branches/Cog/build.win32x86/newspeak.stack.spur/Makefile.plugin
    branches/Cog/build.win32x86/squeak.cog.spur/Makefile.plugin
    branches/Cog/build.win32x86/squeak.cog.v3/Makefile.plugin
    branches/Cog/build.win32x86/squeak.stack.spur/Makefile.plugin
    branches/Cog/build.win32x86/squeak.stack.v3/Makefile.plugin

Property Changed:
----------------
    branches/Cog/build.win32x86/newspeak.cog.spur/
    branches/Cog/build.win32x86/newspeak.stack.spur/
    branches/Cog/build.win32x86/squeak.cog.spur/
    branches/Cog/build.win32x86/squeak.cog.v3/
    branches/Cog/build.win32x86/squeak.stack.spur/
    branches/Cog/build.win32x86/squeak.stack.v3/
    branches/Cog/platforms/Cross/vm/sqSCCSVersion.h

Modified: branches/Cog/build.macos32x86/common/Makefile.flags
===================================================================
--- branches/Cog/build.macos32x86/common/Makefile.flags	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos32x86/common/Makefile.flags	2016-02-13 23:57:51 UTC (rev 3595)
@@ -32,8 +32,8 @@
 	-Wno-trigraphs -Wdeprecated-declarations
 
 FRAMEWORKS:=-fobjc-link-runtime \
-			-framework OpenGL -framework Cocoa \
-			-framework Foundation -framework AudioToolbox \
-			-framework CoreAudio -framework SystemConfiguration \
+			-framework Foundation -framework OpenGL -framework Cocoa \
+			-framework AudioToolbox -framework CoreAudio -framework QuickTime \
+			-framework SystemConfiguration \
 			-framework ApplicationServices -framework Security \
 			-framework QuartzCore 

Modified: branches/Cog/build.macos32x86/common/Makefile.plugin
===================================================================
--- branches/Cog/build.macos32x86/common/Makefile.plugin	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos32x86/common/Makefile.plugin	2016-02-13 23:57:51 UTC (rev 3595)
@@ -34,7 +34,6 @@
 # PLUGINSRCDIR: Where is the root of the src/plugins source tree?
 # VMSRCDIR: Where is the root of the src vm source tree?
 # PLATDIR: Where is the root of the platforms tree?
-COMMONDIR:=../common
 
 #############################################################################
 # Standard directory locations:
@@ -102,7 +101,7 @@
 #############################################################################
 # Rules for automated builds
 
-include $(COMMONDIR)/Makefile.rules
+include ../common/Makefile.rules
 
 all:	$(PLUGINLIB) $(PLUGINBUNDLE)
 

Modified: branches/Cog/build.macos32x86/common/Makefile.rules
===================================================================
--- branches/Cog/build.macos32x86/common/Makefile.rules	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos32x86/common/Makefile.rules	2016-02-13 23:57:51 UTC (rev 3595)
@@ -1,5 +1,5 @@
 #############################################################################
-# Compilations rules for Mac OS X
+# Compilation rules for Mac OS X
 #
 # See http://make.mad-scientist.net/papers/advanced-auto-dependency-generation
 # for an explanation of the dependency management scheme.
@@ -9,7 +9,7 @@
 LD := clang
 LDCXX := clang++ # For linking c++ bundles
 
-include $(COMMONDIR)/Makefile.flags
+include ../common/Makefile.flags
 
 DEPFLAGS = -MT $@ -MMD -MP -MF deps/$(*F).Td
 ALLFLAGS = $(DEPFLAGS) $(WARNINGS) $(CFLAGS)

Modified: branches/Cog/build.macos32x86/common/Makefile.vm
===================================================================
--- branches/Cog/build.macos32x86/common/Makefile.vm	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos32x86/common/Makefile.vm	2016-02-13 23:57:51 UTC (rev 3595)
@@ -30,7 +30,6 @@
 #############################################################################
 # Build directories
 #
-COMMONDIR:=../common
 
 ifeq ("$(CONFIGURATION)","assert")
 	BUILD:=buildast
@@ -124,7 +123,7 @@
 #############################################################################
 # Common build rules
 #
-include $(COMMONDIR)/Makefile.rules
+include ../common/Makefile.rules
 
 svnver:
 	@-echo $(SVNREV)
@@ -207,7 +206,7 @@
 #
 .PHONY: $(OBJDIR)/%.lib $(OBJDIR)/%.bundle
 
-plugin-makefile = $(shell test -f $(OSXPLUGINSDIR)/$(1)/Makefile && echo $(OSXPLUGINSDIR)/$(1)/Makefile || echo $(COMMONDIR)/Makefile.plugin)
+plugin-makefile = $(shell test -f $(OSXPLUGINSDIR)/$(1)/Makefile && echo $(OSXPLUGINSDIR)/$(1)/Makefile || echo ../common/Makefile.plugin)
 
 # Internal plugin.  Build as lib then link in lib
 # Check for Makefile in iOS plugins directory otherwise use default Makefile
@@ -250,6 +249,6 @@
 # Extra specific dependencies
 #
 sqNamedPrims.h: plugins.int
-	$(COMMONDIR)/mkNamedPrims.sh plugins.int > sqNamedPrims.h
+	../common/mkNamedPrims.sh plugins.int > sqNamedPrims.h
 
 $(OBJDIR)/sqNamedPrims.o:	sqNamedPrims.c sqNamedPrims.h

Modified: branches/Cog/build.macos32x86/pharo.cog.spur/plugins.int
===================================================================
--- branches/Cog/build.macos32x86/pharo.cog.spur/plugins.int	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos32x86/pharo.cog.spur/plugins.int	2016-02-13 23:57:51 UTC (rev 3595)
@@ -22,6 +22,7 @@
 MiscPrimitivePlugin \
 RePlugin \
 SecurityPlugin \
+SerialPlugin \
 SocketPlugin \
 SoundCodecPrims \
 SoundGenerationPlugin \
@@ -30,5 +31,4 @@
 SurfacePlugin \
 UUIDPlugin \
 VMProfileMacSupportPlugin \
-# JoystickTabletPlugin \
-# SerialPlugin
+# JoystickTabletPlugin

Modified: branches/Cog/build.macos32x86/squeak+immutability.cog.spur/plugins.int
===================================================================
--- branches/Cog/build.macos32x86/squeak+immutability.cog.spur/plugins.int	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos32x86/squeak+immutability.cog.spur/plugins.int	2016-02-13 23:57:51 UTC (rev 3595)
@@ -22,6 +22,7 @@
 MiscPrimitivePlugin \
 RePlugin \
 SecurityPlugin \
+SerialPlugin \
 SocketPlugin \
 SoundCodecPrims \
 SoundGenerationPlugin \
@@ -30,5 +31,4 @@
 SurfacePlugin \
 UUIDPlugin \
 VMProfileMacSupportPlugin \
-# JoystickTabletPlugin \
-# SerialPlugin
+# JoystickTabletPlugin

Modified: branches/Cog/build.macos32x86/squeak.cog.spur/plugins.int
===================================================================
--- branches/Cog/build.macos32x86/squeak.cog.spur/plugins.int	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos32x86/squeak.cog.spur/plugins.int	2016-02-13 23:57:51 UTC (rev 3595)
@@ -18,10 +18,13 @@
 Klatt \
 LargeIntegers \
 LocalePlugin \
+MacMenubarPlugin \
 Matrix2x3Plugin \
+MIDIPlugin \
 MiscPrimitivePlugin \
 RePlugin \
 SecurityPlugin \
+SerialPlugin \
 SocketPlugin \
 SoundCodecPrims \
 SoundGenerationPlugin \
@@ -30,5 +33,6 @@
 SurfacePlugin \
 UUIDPlugin \
 VMProfileMacSupportPlugin \
-# JoystickTabletPlugin \
-# SerialPlugin
+# B3DAcceleratorPlugin \
+# InternetConfigPlugin \
+# JoystickTabletPlugin

Modified: branches/Cog/build.macos32x86/squeak.cog.v3/plugins.int
===================================================================
--- branches/Cog/build.macos32x86/squeak.cog.v3/plugins.int	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos32x86/squeak.cog.v3/plugins.int	2016-02-13 23:57:51 UTC (rev 3595)
@@ -22,6 +22,7 @@
 MiscPrimitivePlugin \
 RePlugin \
 SecurityPlugin \
+SerialPlugin \
 SocketPlugin \
 SoundCodecPrims \
 SoundGenerationPlugin \
@@ -30,5 +31,4 @@
 SurfacePlugin \
 UUIDPlugin \
 VMProfileMacSupportPlugin \
-# JoystickTabletPlugin \
-# SerialPlugin
+# JoystickTabletPlugin

Modified: branches/Cog/build.macos32x86/squeak.sista.spur/plugins.int
===================================================================
--- branches/Cog/build.macos32x86/squeak.sista.spur/plugins.int	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos32x86/squeak.sista.spur/plugins.int	2016-02-13 23:57:51 UTC (rev 3595)
@@ -22,6 +22,7 @@
 MiscPrimitivePlugin \
 RePlugin \
 SecurityPlugin \
+SerialPlugin \
 SocketPlugin \
 SoundCodecPrims \
 SoundGenerationPlugin \
@@ -30,5 +31,4 @@
 SurfacePlugin \
 UUIDPlugin \
 VMProfileMacSupportPlugin \
-# JoystickTabletPlugin \
-# SerialPlugin
+# JoystickTabletPlugin

Modified: branches/Cog/build.macos32x86/squeak.stack.spur/plugins.int
===================================================================
--- branches/Cog/build.macos32x86/squeak.stack.spur/plugins.int	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos32x86/squeak.stack.spur/plugins.int	2016-02-13 23:57:51 UTC (rev 3595)
@@ -22,6 +22,7 @@
 MiscPrimitivePlugin \
 RePlugin \
 SecurityPlugin \
+SerialPlugin \
 SocketPlugin \
 SoundCodecPrims \
 SoundGenerationPlugin \
@@ -30,5 +31,4 @@
 SurfacePlugin \
 UUIDPlugin \
 VMProfileMacSupportPlugin \
-# JoystickTabletPlugin \
-# SerialPlugin
+# JoystickTabletPlugin

Modified: branches/Cog/build.macos32x86/squeak.stack.v3/plugins.int
===================================================================
--- branches/Cog/build.macos32x86/squeak.stack.v3/plugins.int	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos32x86/squeak.stack.v3/plugins.int	2016-02-13 23:57:51 UTC (rev 3595)
@@ -22,6 +22,7 @@
 MiscPrimitivePlugin \
 RePlugin \
 SecurityPlugin \
+SerialPlugin \
 SocketPlugin \
 SoundCodecPrims \
 SoundGenerationPlugin \
@@ -30,5 +31,4 @@
 SurfacePlugin \
 UUIDPlugin \
 VMProfileMacSupportPlugin \
-# JoystickTabletPlugin \
-# SerialPlugin
+# JoystickTabletPlugin

Modified: branches/Cog/build.macos64x64/common/Makefile.flags
===================================================================
--- branches/Cog/build.macos64x64/common/Makefile.flags	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos64x64/common/Makefile.flags	2016-02-13 23:57:51 UTC (rev 3595)
@@ -32,7 +32,7 @@
 	-Wno-trigraphs -Wdeprecated-declarations
 
 FRAMEWORKS:=-fobjc-link-runtime \
-			-framework OpenGL -framework Cocoa \
+			-framework AGL -framework OpenGL -framework Cocoa \
 			-framework Foundation -framework AudioToolbox \
 			-framework CoreAudio -framework SystemConfiguration \
 			-framework ApplicationServices -framework Security \

Modified: branches/Cog/build.macos64x64/common/Makefile.plugin
===================================================================
--- branches/Cog/build.macos64x64/common/Makefile.plugin	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos64x64/common/Makefile.plugin	2016-02-13 23:57:51 UTC (rev 3595)
@@ -34,7 +34,6 @@
 # PLUGINSRCDIR: Where is the root of the src/plugins source tree?
 # VMSRCDIR: Where is the root of the src vm source tree?
 # PLATDIR: Where is the root of the platforms tree?
-COMMONDIR:=../common
 
 #############################################################################
 # Standard directory locations:
@@ -102,7 +101,7 @@
 #############################################################################
 # Rules for automated builds
 
-include $(COMMONDIR)/Makefile.rules
+include ../common/Makefile.rules
 
 all:	$(PLUGINLIB) $(PLUGINBUNDLE)
 

Modified: branches/Cog/build.macos64x64/common/Makefile.rules
===================================================================
--- branches/Cog/build.macos64x64/common/Makefile.rules	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos64x64/common/Makefile.rules	2016-02-13 23:57:51 UTC (rev 3595)
@@ -1,5 +1,5 @@
 #############################################################################
-# Compilations rules for Mac OS X
+# Compilation rules for Mac OS X
 #
 # See http://make.mad-scientist.net/papers/advanced-auto-dependency-generation
 # for an explanation of the dependency management scheme.
@@ -9,7 +9,7 @@
 LD := clang
 LDCXX := clang++ # For linking c++ bundles
 
-include $(COMMONDIR)/Makefile.flags
+include ../common/Makefile.flags
 
 DEPFLAGS = -MT $@ -MMD -MP -MF deps/$(*F).Td
 ALLFLAGS = $(DEPFLAGS) $(WARNINGS) $(CFLAGS)

Modified: branches/Cog/build.macos64x64/common/Makefile.vm
===================================================================
--- branches/Cog/build.macos64x64/common/Makefile.vm	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos64x64/common/Makefile.vm	2016-02-13 23:57:51 UTC (rev 3595)
@@ -30,7 +30,6 @@
 #############################################################################
 # Build directories
 #
-COMMONDIR:=../common
 
 ifeq ("$(CONFIGURATION)","assert")
 	BUILD:=buildast
@@ -124,7 +123,7 @@
 #############################################################################
 # Common build rules
 #
-include $(COMMONDIR)/Makefile.rules
+include ../common/Makefile.rules
 
 svnver:
 	@-echo $(SVNREV)
@@ -207,7 +206,7 @@
 #
 .PHONY: $(OBJDIR)/%.lib $(OBJDIR)/%.bundle
 
-plugin-makefile = $(shell test -f $(OSXPLUGINSDIR)/$(1)/Makefile && echo $(OSXPLUGINSDIR)/$(1)/Makefile || echo $(COMMONDIR)/Makefile.plugin)
+plugin-makefile = $(shell test -f $(OSXPLUGINSDIR)/$(1)/Makefile && echo $(OSXPLUGINSDIR)/$(1)/Makefile || echo ../common/Makefile.plugin)
 
 # Internal plugin.  Build as lib then link in lib
 # Check for Makefile in iOS plugins directory otherwise use default Makefile
@@ -250,6 +249,6 @@
 # Extra specific dependencies
 #
 sqNamedPrims.h: plugins.int
-	$(COMMONDIR)/mkNamedPrims.sh plugins.int > sqNamedPrims.h
+	../common/mkNamedPrims.sh plugins.int > sqNamedPrims.h
 
 $(OBJDIR)/sqNamedPrims.o:	sqNamedPrims.c sqNamedPrims.h

Modified: branches/Cog/build.macos64x64/pharo.cog.spur/plugins.int
===================================================================
--- branches/Cog/build.macos64x64/pharo.cog.spur/plugins.int	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos64x64/pharo.cog.spur/plugins.int	2016-02-13 23:57:51 UTC (rev 3595)
@@ -22,6 +22,7 @@
 MiscPrimitivePlugin \
 RePlugin \
 SecurityPlugin \
+SerialPlugin \
 SocketPlugin \
 SoundCodecPrims \
 SoundGenerationPlugin \
@@ -30,5 +31,4 @@
 SurfacePlugin \
 UUIDPlugin \
 VMProfileMacSupportPlugin \
-# JoystickTabletPlugin \
-# SerialPlugin
+# JoystickTabletPlugin

Modified: branches/Cog/build.macos64x64/squeak.cog.spur/plugins.int
===================================================================
--- branches/Cog/build.macos64x64/squeak.cog.spur/plugins.int	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos64x64/squeak.cog.spur/plugins.int	2016-02-13 23:57:51 UTC (rev 3595)
@@ -3,6 +3,7 @@
 ADPCMCodecPlugin \
 AioPlugin \
 AsynchFilePlugin \
+B3DAcceleratorPlugin \
 B2DPlugin \
 BitBltPlugin \
 BMPReadWriterPlugin \
@@ -13,15 +14,19 @@
 FilePlugin \
 HostWindowPlugin \
 IA32ABI \
+InternetConfigPlugin \
 JPEGReaderPlugin \
 JPEGReadWriter2Plugin \
 Klatt \
 LargeIntegers \
 LocalePlugin \
+MacMenubarPlugin \
 Matrix2x3Plugin \
+MIDIPlugin \
 MiscPrimitivePlugin \
 RePlugin \
 SecurityPlugin \
+SerialPlugin \
 SocketPlugin \
 SoundCodecPrims \
 SoundGenerationPlugin \
@@ -30,5 +35,4 @@
 SurfacePlugin \
 UUIDPlugin \
 VMProfileMacSupportPlugin \
-# JoystickTabletPlugin \
-# SerialPlugin
+# JoystickTabletPlugin

Modified: branches/Cog/build.macos64x64/squeak.sista.spur/plugins.int
===================================================================
--- branches/Cog/build.macos64x64/squeak.sista.spur/plugins.int	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos64x64/squeak.sista.spur/plugins.int	2016-02-13 23:57:51 UTC (rev 3595)
@@ -26,6 +26,7 @@
 MiscPrimitivePlugin \
 RePlugin \
 SecurityPlugin \
+SerialPlugin \
 SocketPlugin \
 SoundCodecPrims \
 SoundGenerationPlugin \
@@ -34,5 +35,4 @@
 SurfacePlugin \
 UUIDPlugin \
 VMProfileMacSupportPlugin \
-# JoystickTabletPlugin \
-# SerialPlugin
+# JoystickTabletPlugin

Modified: branches/Cog/build.macos64x64/squeak.stack.spur/plugins.int
===================================================================
--- branches/Cog/build.macos64x64/squeak.stack.spur/plugins.int	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.macos64x64/squeak.stack.spur/plugins.int	2016-02-13 23:57:51 UTC (rev 3595)
@@ -1,8 +1,9 @@
-# Copied, perhaps edited, from ../../src/examplePlugins.int
+# Copied, perhaps edited, from ../src/examplePlugins.int
 INTERNAL_PLUGINS = \
+ADPCMCodecPlugin \
 AioPlugin \
-ADPCMCodecPlugin \
 AsynchFilePlugin \
+B3DAcceleratorPlugin \
 B2DPlugin \
 BitBltPlugin \
 BMPReadWriterPlugin \
@@ -11,7 +12,9 @@
 DSAPrims \
 FFTPlugin \
 FilePlugin \
+HostWindowPlugin \
 IA32ABI \
+InternetConfigPlugin \
 JPEGReaderPlugin \
 JPEGReadWriter2Plugin \
 Klatt \
@@ -19,9 +22,11 @@
 LocalePlugin \
 MacMenubarPlugin \
 Matrix2x3Plugin \
+MIDIPlugin \
 MiscPrimitivePlugin \
 RePlugin \
 SecurityPlugin \
+SerialPlugin \
 SocketPlugin \
 SoundCodecPrims \
 SoundGenerationPlugin \
@@ -30,9 +35,4 @@
 SurfacePlugin \
 UUIDPlugin \
 VMProfileMacSupportPlugin \
-# B3DAcceleratorPlugin \
-# ClipboardExtendedPlugin \
-# InternetConfigPlugin \
-# JoystickTabletPlugin \
-# MIDIPlugin \
-# SerialPlugin
+# JoystickTabletPlugin


Property changes on: branches/Cog/build.win32x86/bochsx64
___________________________________________________________________
Added: svn:ignore
   + *


Added: branches/Cog/build.win32x86/bochsx64/conf.COG
===================================================================
--- branches/Cog/build.win32x86/bochsx64/conf.COG	                        (rev 0)
+++ branches/Cog/build.win32x86/bochsx64/conf.COG	2016-02-13 23:57:51 UTC (rev 3595)
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+# Bochs x64 simulator for the BochsX64Alien plugin.
+# This sets up the x64 compile for Cog on win32 under cygwin.  Disable as much
+# inessential stuff as possible leaving only the cpu/fpu & memory interface
+
+# build cpu/libcpu.a disasm/libdisasm.a fpu/libfpu.a using
+# $ ./conf.COG
+# $ ../../processors/IA32/bochs/makeem
+
+set echo
+# CFLAGS="-pipe -O3 -fomit-frame-pointer -finline-functions -falign-loops=16 -falign-jumps=16 -falign-functions=16 -falign-labels=16 -falign-loops-max-skip=15 -falign-jumps-max-skip=15 -fprefetch-loop-arrays $CFLAGS"
+CFLAGS="-m32 $CFLAGS"
+CFLAGS="-Dsetjmp=_setjmp $CFLAGS"
+CFLAGS="-pipe -O3 -fomit-frame-pointer -finline-functions $CFLAGS"
+CFLAGS="-g $CFLAGS"
+CPPFLAGS=""
+CXXFLAGS="$CFLAGS"
+
+export CFLAGS
+export CPATH
+export CPPFLAGS
+export CXXFLAGS
+export LDFLAGS
+
+../../processors/IA32/bochs/configure \
+	-target=i686-pc-mingw32 \
+	--enable-Cog \
+	--enable-cpu-level=6 \
+	--enable-sse=2 \
+	--enable-assert-checks \
+	--with-nogui \
+		--enable-x86-64 \
+		--enable-global-pages \
+		--disable-mtrr \
+		--disable-sb16 \
+		--disable-ne2000 \
+		--disable-pci \
+		--disable-acpi \
+		--disable-apic \
+		--disable-clgd54xx \
+		--disable-usb \
+		--disable-plugins \
+	${CONFIGURE_ARGS}
+
+# apic == Advanced programmable Interrupt Controller
+# acpi == Advanced Configuration and Power Interface
+# pci == Peripheral Component Interconnect local bus
+# clgd54xx == Cirrus Logic GD54xx video card
+
+# avoid conflict with squeak unix build's config.h
+echo cp config.h bochsconfig.h
+cp config.h bochsconfig.h
+
+echo "and don't forget to run ../../processors/IA32/bochs/makeem"


Property changes on: branches/Cog/build.win32x86/bochsx64/conf.COG
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/Cog/build.win32x86/bochsx64/conf.COG.dbg
===================================================================
--- branches/Cog/build.win32x86/bochsx64/conf.COG.dbg	                        (rev 0)
+++ branches/Cog/build.win32x86/bochsx64/conf.COG.dbg	2016-02-13 23:57:51 UTC (rev 3595)
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Bochs x64 simulator for the BochsX64Alien plugin.
+# this sets up the x64 compile for Cog on Mac OS X.  Disable as much inessential
+# stuff as possible leaving only the cpu/fpu & memory interface
+
+# build cpu/libcpu.a disasm/libdisasm.a fpu/libfpu.a using
+# $ ./conf.COG.dbg
+# $ ../../processors/IA32/bochs/makeem
+
+set echo
+CFLAGS="-m32 $CFLAGS"
+CFLAGS="-Dlongjmp=_longjmp -Dsetjmp=_setjmp $CFLAGS"
+CFLAGS="-pipe -O0 $CFLAGS"
+CFLAGS="-g3 $CFLAGS"
+CPPFLAGS=""
+CXXFLAGS="$CFLAGS"
+
+export CFLAGS
+export CPATH
+export CPPFLAGS
+export CXXFLAGS
+export LDFLAGS
+
+../../processors/IA32/bochs/configure \
+	--enable-Cog \
+	--enable-cpu-level=6 \
+	--enable-sse=2 \
+	--enable-assert-checks \
+	--with-nogui \
+		--enable-x86-64 \
+		--enable-global-pages \
+		--disable-mtrr \
+		--disable-sb16 \
+		--disable-ne2000 \
+		--disable-pci \
+		--disable-acpi \
+		--disable-apic \
+		--disable-clgd54xx \
+		--disable-usb \
+		--disable-plugins \
+	${CONFIGURE_ARGS}
+
+# apic == Advanced programmable Interrupt Controller
+# acpi == Advanced Configuration and Power Interface
+# pci == Peripheral Component Interconnect local bus
+# clgd54xx == Cirrus Logic GD54xx video card
+
+# avoid conflict with squeak unix build's config.h
+echo cp config.h bochsconfig.h
+cp config.h bochsconfig.h
+
+echo "and don't forget to run ../../processors/IA32/bochs/makeem"


Property changes on: branches/Cog/build.win32x86/bochsx64/conf.COG.dbg
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/Cog/build.win32x86/bochsx64/exploration/Makefile
===================================================================
--- branches/Cog/build.win32x86/bochsx64/exploration/Makefile	                        (rev 0)
+++ branches/Cog/build.win32x86/bochsx64/exploration/Makefile	2016-02-13 23:57:51 UTC (rev 3595)
@@ -0,0 +1,32 @@
+BOCHS=../../../processors/IA32/bochs
+BOCHSEX64=$(BOCHS)/explorationx64
+LIBDEPS=../../cpu/libcpu.a
+CFLAGS=-m32 -I.. -I$(BOCHS) -I$(BOCHS)/cpu -I$(BOCHS)/instrument/stubs -L../cpu -lcpu
+FULLLIBS=-L../fpu -lfpu -L../disasm -ldisasm
+
+.PHONY:	$(LIBDEPS)
+
+all: BochsX64Alien-regs.st BochsX64Alien-cr.st BochsX64Alien-xmm.st
+
+BochsX64Alien-regs.st: printcpu
+	./printcpu >BochsX64Alien-regs.st
+
+BochsX64Alien-cr.st: printcpucr
+	./printcpucr >BochsX64Alien-cr.st
+
+BochsX64Alien-xmm.st: printcpuxmm
+	./printcpuxmm >BochsX64Alien-xmm.st
+
+clean:
+	rm -f BochsX64Alien-regs.st BochsX64Alien-cr.st BochsX64Alien-xmm.st
+	rm -f printcpu printcpucr printcpuxmm
+	rm -f printcpu.exe printcpucr.exe printcpuxmm.exe
+
+printcpu: $(BOCHSEX64)/printcpu.c $(LIBDEPS)
+	g++ -o $@ $< $(CFLAGS)
+
+printcpucr: $(BOCHSEX64)/printcpucr.c $(LIBDEPS)
+	g++ -o $@ $< $(CFLAGS)
+
+printcpuxmm: $(BOCHSEX64)/printcpuxmm.c $(LIBDEPS)
+	g++ -o $@ $< $(CFLAGS)


Property changes on: branches/Cog/build.win32x86/bochsx86
___________________________________________________________________
Added: svn:ignore
   + *


Added: branches/Cog/build.win32x86/bochsx86/conf.COG
===================================================================
--- branches/Cog/build.win32x86/bochsx86/conf.COG	                        (rev 0)
+++ branches/Cog/build.win32x86/bochsx86/conf.COG	2016-02-13 23:57:51 UTC (rev 3595)
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+# Bochs x86 simulator for the BochsIA32Alien plugin.
+# This sets up the x86 compile for Cog on win32 under cygwin.  Disable as much
+# inessential stuff as possible leaving only the cpu/fpu & memory interface
+
+# build cpu/libcpu.a disasm/libdisasm.a fpu/libfpu.a using
+# $ ./conf.COG
+# $ ../../processors/IA32/bochs/makeem
+
+set echo
+# CFLAGS="-pipe -O3 -fomit-frame-pointer -finline-functions -falign-loops=16 -falign-jumps=16 -falign-functions=16 -falign-labels=16 -falign-loops-max-skip=15 -falign-jumps-max-skip=15 -fprefetch-loop-arrays $CFLAGS"
+CFLAGS="-m32 $CFLAGS"
+CFLAGS="-Dsetjmp=_setjmp $CFLAGS"
+CFLAGS="-pipe -O3 -fomit-frame-pointer -finline-functions $CFLAGS"
+CFLAGS="-g $CFLAGS"
+CPPFLAGS=""
+CXXFLAGS="$CFLAGS"
+
+export CFLAGS
+export CPATH
+export CPPFLAGS
+export CXXFLAGS
+export LDFLAGS
+
+../../processors/IA32/bochs/configure \
+	-target=i686-pc-mingw32 \
+	--enable-Cog \
+	--enable-cpu-level=6 \
+	--enable-sse=2 \
+	--enable-assert-checks \
+	--with-nogui \
+		--disable-x86-64 \
+		--disable-pae \
+		--disable-large-pages \
+		--disable-global-pages \
+		--disable-mtrr \
+		--disable-sb16 \
+		--disable-ne2000 \
+		--disable-pci \
+		--disable-acpi \
+		--disable-apic \
+		--disable-clgd54xx \
+		--disable-usb \
+		--disable-plugins \
+	${CONFIGURE_ARGS}
+
+# apic == Advanced programmable Interrupt Controller
+# acpi == Advanced Configuration and Power Interface
+# pci == Peripheral Component Interconnect local bus
+# clgd54xx == Cirrus Logic GD54xx video card
+
+# avoid conflict with squeak unix build's config.h
+echo cp config.h bochsconfig.h
+cp config.h bochsconfig.h
+
+echo "and don't forget to run ../../processors/IA32/bochs/makeem"


Property changes on: branches/Cog/build.win32x86/bochsx86/conf.COG
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/Cog/build.win32x86/common/Makefile
===================================================================
--- branches/Cog/build.win32x86/common/Makefile	                        (rev 0)
+++ branches/Cog/build.win32x86/common/Makefile	2016-02-13 23:57:51 UTC (rev 3595)
@@ -0,0 +1,365 @@
+#############################################################################
+# COmmon Makefile for Win32 VM using gcc-3.4.x, cygwin and gnu make
+# Do make init to allow make -n to function.
+#############################################################################
+
+#############################################################################
+# Parameters:
+# VM the name of the exe to build, defaults to Squeak (=> Squeak.exe)
+# VM_NAME the name the VM will print when reporting, defaults to $(VM)
+# VMSRCDIR the directory containing the interpreter, optional cogit and interp.h
+# CONFIGURATION configuration of VM to build from product, assert & debug
+# THREADING whether to build a multi-threaded FFI VM
+
+VM=Squeak
+VM_NAME?=$(VM)
+CONFIGURATION=product
+THREADING=single
+
+# Is this a Croquet VM (defaults to OGL instead of D3D)?
+CROQUET:=-DCROQUET
+
+#############################################################################
+# Default locations
+#
+
+ifeq ($(THREADING),multi)
+	ifeq ($(CONFIGURATION),product)
+		BUILD:=buildmt
+	else ifeq ($(CONFIGURATION),assert)
+		BUILD:=buildmtast
+	else
+		BUILD:=buildmtdbg
+	endif
+else
+	ifeq ($(CONFIGURATION),product)
+		BUILD:=build
+	else ifeq ($(CONFIGURATION),assert)
+		BUILD:=buildast
+	else
+		BUILD:=builddbg
+	endif
+endif
+$(shell mkdir -p deps >/dev/null) # deps is the dependencies directory
+PLUGINSRCDIR:= ../../src
+OBJDIR:= $(BUILD)/vm
+
+# N.B. PLATDIR *must* be a relative path, see -f../../$(shell ./eitheror ... below
+PLATDIR:=../../platforms
+CROSSDIR:=$(PLATDIR)/Cross/vm
+WIN32DIR:=$(PLATDIR)/win32/vm
+WIN32MISCDIR:=$(PLATDIR)/win32/misc
+WIN32UTILDIR:=$(PLATDIR)/win32/util
+
+CROSSSRC:= $(wildcard $(CROSSDIR)/*.c) $(wildcard $(CROSSDIR)/*.cpp)
+WIN32SRC:= $(wildcard $(WIN32DIR)/*.c) $(wildcard $(WIN32DIR)/*.cpp)
+ifeq ("$(THREADING)","multi")
+MAKERSRC:= $(wildcard $(VMSRCDIR)/gcc3x-*interpmt.c $(VMSRCDIR)/cogit.c)
+else
+MAKERSRC:= $(wildcard $(VMSRCDIR)/gcc3x-*interp.c $(VMSRCDIR)/cogit.c)
+endif
+VMSRC:= $(notdir $(MAKERSRC) $(WIN32SRC) $(CROSSSRC))
+
+VPATH:= $(VMSRCDIR) $(WIN32DIR) $(CROSSDIR)
+
+#############################################################################
+# The internal (.lib) and external (.dll) plugins
+#
+include plugins.ext
+include plugins.int
+
+LIBS:= $(addprefix $(OBJDIR)/, $(addsuffix .lib, $(INTERNAL_PLUGINS)))
+DLLS:= $(addprefix $(OBJDIR)/, $(addsuffix .dll, $(EXTERNAL_PLUGINS)))
+
+#############################################################################
+# Generic VM source file definitions
+#
+VMOBJ:=	$(VMSRC:.c=.o)
+VMOBJ:= $(addprefix $(OBJDIR)/,$(VMOBJ))
+
+#############################################################################
+# SqueakVM definitions
+#
+ifeq ("$(CONFIGURATION)","product")
+VMEXE:=  $(OBJDIR)/$(VM)Unstripped.exe
+CONSOLEVMEXE:=  $(OBJDIR)/$(VM)ConsoleUnstripped.exe
+STRIPEXE:=  $(OBJDIR)/$(VM).exe
+STRIPCONSOLEEXE:=  $(OBJDIR)/$(VM)Console.exe
+else
+VMEXE:=  $(OBJDIR)/$(VM).exe
+CONSOLEVMEXE:=  $(OBJDIR)/$(VM)Console.exe
+STRIPEXE:=
+STRIPCONSOLEEXE:=
+endif
+VMDEF:=	$(VM).def
+VMEXP:=	$(OBJDIR)/$(VM).exp
+VMMAP:=	$(OBJDIR)/$(VM).map
+CONSOLEVMMAP:=	$(OBJDIR)/$(VM)Console.map
+VMLIB:=	$(VM).lib
+VMRES:=	$(VM).res
+VMDEFIN:=$(VM).def.in
+BTOBJ:= $(OBJDIR)/btext.o
+ETOBJ:= $(OBJDIR)/etext.o
+
+
+.PRECIOUS: eitheror.exe mkNamedPrims.exe
+
+#############################################################################
+# DirectX definitions
+#
+DXDIR:=     $(PLATDIR)/win32/third-party/dx9sdk/Include
+
+#############################################################################
+# C compiler settings (gcc-3.4.4 cygwin 19.24)
+#
+CC:=gcc
+
+# VM config flags.
+ifeq ("$(CONFIGURATION)","product")
+OFLAGS:= -D_MT -O2 -march=pentium4 -momit-leaf-frame-pointer -funroll-loops
+NDEBUG:=-DNDEBUG -D'VM_LABEL(foo)=0' # Define NDEBUG for production to exclude asserts
+DEBUGVM=0
+else ifeq ("$(CONFIGURATION)","assert")
+OFLAGS:= -D_MT -O1 -march=pentium4 -fno-omit-frame-pointer
+DEBUGVM=0
+NDEBUG:=-DAllocationCheckFiller=0xADD4E55 -D'VM_LABEL(foo)=0'
+else
+OFLAGS:= -D_MT -march=pentium4
+DEBUGVM=1
+NDEBUG:=-DAllocationCheckFiller=0xADD4E55 -D'VM_LABEL(foo)=0'
+endif
+
+ifeq ("$(THREADING)","multi")
+COGDEFS:=-DCOGMTVM=1 -DDEBUGVM=$(DEBUGVM)
+else
+COGDEFS:=-DCOGMTVM=0 -DDEBUGVM=$(DEBUGVM)
+endif
+
+# Set minimum version to WindowsXP (see /cygwin/usr/include//w32api/w32api.h)
+WINVER:=-D_WIN32_WINNT=0x0501 -DWINVER=0x0501
+
+INCLUDEPATH:= -isystem/usr/include/mingw -I/usr/include/w32api
+# define _MT to eliminate the inline versions of printf et al in mingw/stdio.h
+NOBUILTIN:= -D_MT -fno-builtin-printf -fno-builtin-putchar -fno-builtin-fprintf
+CFLAGS:= $(INCLUDEPATH) -msse2 -ggdb2 -mwindows -mthreads -mno-cygwin -mwin32 \
+	-mno-rtd -mms-bitfields -mno-accumulate-outgoing-args $(OFLAGS) $(NOBUILTIN)
+TZ:=$(shell date +%Z)
+DEFS:=	$(COGDEFS) $(WINVER) -DWIN32 -DWIN32_FILE_SUPPORT -DNO_ISNAN \
+		-DNO_SERVICE -DNO_STD_FILE_SUPPORT -D'TZ="$(TZ)"' \
+		$(NDEBUG) -DLSB_FIRST -D'VM_NAME="$(VM_NAME)"' -DX86 $(XDEFS) $(CROQUET)
+XDEFS:=	-DSQUEAK_BUILTIN_PLUGIN
+INCLUDES:= -I. -I$(VMSRCDIR) -I$(WIN32DIR) -I$(CROSSDIR) -I$(DXDIR) $(XINC)
+
+#############################################################################
+# Linker settings
+#
+# Note: I had to use 'gcc' instead of 'ld' to prevent unresolved symbols
+#       The switch '-mwindows' gives us a GUI app instead of a console app.
+#		Newer cygwins want --export-all-symbols in place of --export-dynamic.
+#
+LD:=	 gcc
+EXPORT:=--export-dynamic
+#EXPORT:=--export-all-symbols
+BASELDFLAGS:=-mno-cygwin -mthreads -Wl,--large-address-aware,$(EXPORT) -L/usr/lib/mingw
+LDFLAGS:= -mwindows $(BASELDFLAGS)
+CONSOLELDFLAGS:= -mconsole $(BASELDFLAGS)
+STDLIBS:= -lddraw -ldinput -lopengl32 -lwsock32 -lcomdlg32 -lole32 -lwinmm \
+	-lversion -lwininet -luser32 -lgdi32 -lpsapi -lkernel32 -lcrtdll \
+	-ldsound -lsecur32
+
+#############################################################################
+# Tools to use
+#
+AR:= ar rc
+CP:= cp
+RM:= rm
+DLLTOOL:=	dlltool
+DLLWRAP:=	dllwrap
+STRIP:=	strip
+OBJCOPY:=	objcopy
+
+#############################################################################
+# RC settings
+#
+# Note: RC compiles the .rc files into linkable .o files
+#
+RC:=	 windres
+SVNREV:= $(shell sed -e "s/^static.*SvnRawRevisionString.*Rev: \([0-9][0-9]*\).*/\\1/p" -e d $(PLATDIR)/Cross/vm/sqSCCSVersion.h)
+RCFLAGS:= --include-dir $(PLATDIR)/win32/misc -D_WIN32 -DFILEVERSIONVALUES=4,0,$(SVNREV),0 '-DFILEVERSIONSTRING=\"4.0.$(SVNREV)\\0\"'
+
+.SUFFIXES:
+.SUFFIXES:	.ccg .cc .c .o .s .i .rc .res .cg .hg .ccg .cpp
+
+
+
+#############################################################################
+# Common build rules
+#
+default: print-settings init $(VMEXE) $(CONSOLEVMEXE) $(DLLS) $(STRIPEXE) $(STRIPCONSOLEEXE)
+
+svnver:
+	echo $(RC) $(RCFLAGS)
+
+productmt:;
+	$(MAKE) -f $(MAKEFILE_LIST) CONFIGURATION=product THREADING=multi $(@,product=) default
+
+product:;
+	$(MAKE) -f $(MAKEFILE_LIST) CONFIGURATION=product THREADING=single $(@,product=) default
+
+assertmt:
+	$(MAKE) -f $(MAKEFILE_LIST) CONFIGURATION=assert THREADING=multi $(@,assert=) default
+
+assert:
+	$(MAKE) -f $(MAKEFILE_LIST) CONFIGURATION=assert THREADING=single $(@,assert=) default
+
+debugmt:
+	$(MAKE) -f $(MAKEFILE_LIST) CONFIGURATION=debug THREADING=multi $(@,debug=) default
+
+debug:
+	$(MAKE) -f $(MAKEFILE_LIST) CONFIGURATION=debug THREADING=single $(@,debug=) default
+
+# Do make init to allow make -n to function.
+init:	$(OBJDIR) eitheror.exe mkNamedPrims.exe
+
+cleanall:	clean cleanmt cleanast cleanmtast cleandbg cleanmtdbg
+
+clean:
+	rm -rf sqNamedPrims.h eitheror.exe mkNamedPrims.exe build
+
+cleanmt:
+	rm -rf sqNamedPrims.h eitheror.exe mkNamedPrims.exe buildmt
+
+cleanast:
+	rm -rf sqNamedPrims.h eitheror.exe mkNamedPrims.exe buildast
+
+cleanmtast:
+	rm -rf sqNamedPrims.h eitheror.exe mkNamedPrims.exe buildmtast
+
+cleandbg:
+	rm -rf sqNamedPrims.h eitheror.exe mkNamedPrims.exe builddbg
+
+cleanmtdbg:
+	rm -rf sqNamedPrims.h eitheror.exe mkNamedPrims.exe buildmtdbg
+
+print-settings:
+	@echo ---------------- Makefile settings ------------------
+	@echo CONFIGURATION=$(CONFIGURATION)
+	@echo THREADING=$(THREADING)
+	@echo VPATH=$(VPATH)
+	@echo INCLUDES=$(INCLUDES)
+	@echo CFLAGS=$(CFLAGS)
+	@echo INTERNAL_PLUGINS=$(INTERNAL_PLUGINS)
+	@echo EXTERNAL_PLUGINS=$(EXTERNAL_PLUGINS)
+	@echo OBJDIR=$(OBJDIR)
+	@echo LIBS=$(LIBS)
+	@echo DLLS=$(DLLS)
+	@echo -----------------------------------------------------
+
+print-objects:
+	@echo ---------------- Makefile objects ------------------
+	@echo VMOBJ=$(VMOBJ)
+	@echo -----------------------------------------------------
+
+eitheror.exe: $(WIN32UTILDIR)/eitheror.c
+	$(CC) -o $@ -O1 -mconsole -mno-cygwin $<
+
+mingw32ver.exe: $(WIN32UTILDIR)/mingw32ver.c
+	$(CC) -o $@ -O1 -mconsole -mno-cygwin $<
+
+mkNamedPrims.exe: $(WIN32UTILDIR)/mkNamedPrims.c
+	$(CC) -o $@ -mconsole -mno-cygwin $<
+
+$(BTOBJ):	$(WIN32MISCDIR)/btext.c
+	$(CC) -c -o $@ -fomit-frame-pointer -O2 $<
+
+$(ETOBJ):	$(WIN32MISCDIR)/etext.c
+	$(CC) -c -o $@ -fomit-frame-pointer -O2 $<
+
+vm:	$(VMEXE)
+
+$(VMEXE): $(OBJDIR) $(VMOBJ) $(LIBS) $(VMEXP) resource.o $(BTOBJ) $(ETOBJ)
+	$(CC) -o $(OBJDIR)/version.o $(CFLAGS) $(INCLUDES) $(DEFS) -c $(WIN32DIR)/version.c
+	$(LD) $(LDFLAGS) -o $(VMEXE) \
+			$(BTOBJ) $(VMOBJ) $(VMEXP) $(OBJDIR)/resource.o $(LIBS) $(STDLIBS) $(ETOBJ)
+	nm --numeric-sort --defined-only -f bsd $(VMEXE) >$(VMMAP)
+
+$(CONSOLEVMEXE): $(VMOBJ) $(LIBS) $(VMEXP) resource.o $(BTOBJ) $(ETOBJ)
+	$(CC) -o $(OBJDIR)/version.o $(CFLAGS) $(INCLUDES) $(DEFS) -c $(WIN32DIR)/version.c
+	$(LD) $(CONSOLELDFLAGS) -o $(CONSOLEVMEXE) \
+			$(BTOBJ) $(VMOBJ) $(VMEXP) $(OBJDIR)/resource.o $(LIBS) $(STDLIBS) $(ETOBJ)
+	nm --numeric-sort --defined-only -f bsd $(CONSOLEVMEXE) >$(CONSOLEVMMAP)
+
+ifneq ($STRIPEXE,)
+$(STRIPEXE): $(VMEXE)
+	$(STRIP) --strip-unneeded -o $(STRIPEXE) $(VMEXE)
+	$(OBJCOPY) --add-gnu-debuglink=$(VMEXE) $(STRIPEXE)
+
+$(STRIPCONSOLEEXE): $(CONSOLEVMEXE)
+	$(STRIP) --strip-unneeded -o $(STRIPCONSOLEEXE) $(CONSOLEVMEXE)
+	$(OBJCOPY) --add-gnu-debuglink=$(CONSOLEVMEXE) $(STRIPCONSOLEEXE)
+endif
+
+$(OBJDIR):
+	@-mkdir $(BUILD)
+	mkdir $(OBJDIR)
+ifneq ($(INTERNAL_PLUGINS),)
+	mkdir $(addprefix $(BUILD)/, $(INTERNAL_PLUGINS))
+endif
+ifneq ($(EXTERNAL_PLUGINS),)
+	mkdir $(addprefix $(BUILD)/, $(EXTERNAL_PLUGINS))
+endif
+
+#############################################################################
+# The exports for named primitives from Squeak (required by VM)
+#
+$(VMDEF) $(VMEXP) $(VMLIB): $(VMOBJ)
+	$(DLLTOOL) --input-def $(VMDEFIN) --output-def $(OBJDIR)/$(VMDEF) --output-exp $(VMEXP) --output-lib $(OBJDIR)/$(VMLIB) $(VMOBJ)
+
+#############################################################################
+# Building plugins
+#
+
+.PHONY: $(OBJDIR)/%.lib $(OBJDIR)/%.dll
+
+# Check for Makefile in win32 plugins directory otherwise use default Makefile
+plugin-makefile = $(shell ./eitheror.exe \
+					$(PLATDIR)/win32/plugins/$(*F)/Makefile.plugin \
+					../common/Makefile.plugin)
+
+# Internal plugin.  Build as lib then link in lib
+$(OBJDIR)/%.lib: eitheror.exe $(call plugin-makefile,$(*F))
+	@-mkdir $(BUILD)/$(*F)
+	$(MAKE) $(MFLAGS) CONFIGURATION=$(CONFIGURATION) BUILD=$(BUILD) \
+		-f $(call plugin-makefile,$(*F)) \
+		PLATDIR=$(PLATDIR) PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
+		LIBNAME=$(*F) COGDEFS="$(COGDEFS)" XDEFS=-DSQUEAK_BUILTIN_PLUGIN \
+		$(OBJDIR)/$(*F).lib
+
+# External plugin.  Build as dll and copy to vm dir ($(OBJDIR)).
+$(OBJDIR)/%.dll: eitheror.exe $(call plugin-makefile,$(*F))
+	@-mkdir $(BUILD)/$(*F)
+	$(MAKE) $(MFLAGS) CONFIGURATION=$(CONFIGURATION) BUILD=$(BUILD) \
+		-f $(call plugin-makefile,$(*F)) \
+		PLATDIR=$(PLATDIR) PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
+		COGDEFS="$(COGDEFS)" LIBNAME=$(*F) $(OBJDIR)/$(*F).dll
+
+#############################################################################
+# Basic rules
+#
+include ../common/Makefile.rules
+
+$(VMRES): $(VM).rc
+	$(RC) $(RCFLAGS) -i $(VM).rc -o $(OBJDIR)/$@
+	$(CP) $(VM).exe.manifest $(OBJDIR)
+	$(CP) $(VM).exe.manifest $(OBJDIR)/$(VM)Console.exe.manifest
+
+resource.o:	$(VMRES)
+	$(RC) $(RCFLAGS) -i $(OBJDIR)/$< -o $(OBJDIR)/$@
+
+#############################################################################
+# Extra specific dependencies
+#
+sqNamedPrims.h: plugins.int mkNamedPrims.exe
+	./mkNamedPrims.exe $(INTERNAL_PLUGINS) > sqNamedPrims.h
+
+$(OBJDIR)/sqNamedPrims.o:	sqNamedPrims.c sqNamedPrims.h

Added: branches/Cog/build.win32x86/common/Makefile.plugin
===================================================================
--- branches/Cog/build.win32x86/common/Makefile.plugin	                        (rev 0)
+++ branches/Cog/build.win32x86/common/Makefile.plugin	2016-02-13 23:57:51 UTC (rev 3595)
@@ -0,0 +1,174 @@
+#############################################################################
+# Generic Makefile for plugins
+#############################################################################
+AR:= ar rc
+CP:= cp
+RM:= rm
+
+# The following are the four key locations (set via invocation):
+# PLUGINSRCDIR: Where is the root of the src plugins source tree?
+# VMSRCDIR: Where is the src/vm source directory?
+# PLATDIR: Where is the root of the platforms tree?
+# BUILDDIR: Which irectory should objects be compiled into?
+
+#############################################################################
+# Standard directory locations:
+#   CROSSDIR: The location of the cross platform sources
+#   WIN32DIR: The location of the win32 sources
+#   MAKERDIR: The location of the VMMaker generated sources
+#   BUILDDIR: The location where the plugin is built
+#
+CROSSDIR:=	$(PLATDIR)/Cross/plugins/$(LIBNAME)
+WIN32DIR:=	$(PLATDIR)/win32/plugins/$(LIBNAME)
+MAKERDIR:=	$(PLUGINSRCDIR)/plugins/$(LIBNAME)
+BUILDDIR:=	$(BUILD)/$(LIBNAME)
+
+# Support directory locations
+CROSSVMDIR:=$(PLATDIR)/Cross/vm
+WIN32VMDIR:=$(PLATDIR)/win32/vm
+
+DXDIR:=     $(PLATDIR)/win32/third-party/dx9sdk/Include
+
+INCLUDES:= -I. -I$(DXDIR) \
+			-I$(VMSRCDIR) -I$(WIN32VMDIR) -I$(CROSSVMDIR) \
+			-I$(MAKERDIR) -I$(WIN32DIR) -I$(CROSSDIR)
+
+#############################################################################
+# If no source files were given, use standard set
+#
+
+CROSSSRC:= $(wildcard $(CROSSDIR)/*.c) $(wildcard $(CROSSDIR)/*.cpp)
+WIN32SRC:= $(wildcard $(WIN32DIR)/*.c) $(wildcard $(WIN32DIR)/*.cpp)
+MAKERSRC:= $(wildcard $(MAKERDIR)/*.c)
+LIBSRC:= $(notdir $(MAKERSRC) $(WIN32SRC) $(CROSSSRC))
+
+#############################################################################
+# C compiler settings (gcc-3.4.4 cygwin 19.24)
+#
+NDEBUG:=-DNDEBUG
+# Set minimum version to WindowsXP (see /cygwin/usr/include//w32api/w32api.h)
+WINVER:=-D_WIN32_WINNT=0x0501 -DWINVER=0x0501
+INCLUDEPATH:= -isystem/usr/include/mingw -I/usr/include/w32api
+CFLAGS:= $(INCLUDEPATH) -msse2 -ggdb2 -mwindows -mdll -mno-cygwin -mwin32 \
+	-mno-rtd -mms-bitfields -mno-accumulate-outgoing-args $(OFLAGS)
+DEFS:=	$(WINVER) -DWIN32 -DWIN32_FILE_SUPPORT -DNO_ISNAN \
+		-DNO_SERVICE -DNO_STD_FILE_SUPPORT \
+		$(NDEBUG) -DLSB_FIRST -DVM_NAME=\"$(VM)\" -DX86 $(XDEFS)
+# define _MT to eliminate the inline versions of printf et al in mingw/stdio.h
+ifeq ("$(CONFIGURATION)","product")
+OFLAGS:= -D_MT -O1 -march=pentium4 -momit-leaf-frame-pointer -funroll-loops \
+		-fno-builtin-printf -fno-builtin-putchar -fno-builtin-fprintf
+NDEBUG:=-DNDEBUG
+DEBUGVM=0
+else ifeq ("$(CONFIGURATION)","assert")
+OFLAGS:= -D_MT -O1 -march=pentium4 -fno-omit-frame-pointer \
+		-fno-builtin-printf -fno-builtin-putchar -fno-builtin-fprintf
+DEBUGVM=0
+NDEBUG:=
+else
+OFLAGS:= -D_MT -march=pentium4 \
+		-fno-builtin-printf -fno-builtin-putchar -fno-builtin-fprintf
+DEBUGVM=1
+NDEBUG:=
+endif
+
+
+#############################################################################
+# DLL settings
+#
+# Note: By default DLLTOOL/DLLWRAP do the work for everything related to plugins
+# but if LINK_WITH_GCC we use gcc and if LINK_WITH_GPP we use g++.
+#
+DLLTOOL:=	dlltool
+DLLWRAP:=	dllwrap -mno-cygwin
+#OPTSTRIP:=	strip # for production
+OPTSTRIP:=	echo not doing strip
+
+.SUFFIXES:	.c .cpp .o .s .rc .res .dep
+
+#############################################################################
+# Plugin settings
+#
+OBJDIR:=    $(BUILD)/$(LIBNAME)
+VMDIR:=     $(BUILD)/vm
+PLUGINLIB:= $(VMDIR)/$(LIBNAME).lib
+PLUGINDLL:= $(VMDIR)/$(LIBNAME).dll
+LIBOBJ ?= 	$(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LIBSRC)))		 
+LIBOBJ:=    $(addprefix $(OBJDIR)/,$(LIBOBJ))
+
+
+VPATH:= $(MAKERDIR) $(WIN32DIR) $(CROSSDIR) $(OBJDIR)
+
+all:	$(PLUGINLIB) $(PLUGINDLL)
+
+print-settings:
+	@echo ---------------- Makefile settings ------------------
+	@echo VPATH=$(VPATH)
+	@echo INCLUDES=$(INCLUDES)
+	@echo CFLAGS=$(CFLAGS)
+	@echo ALLFLAGS=$(ALLFLAGS)
+	@echo PLUGINSRCDIR=$(PLUGINSRCDIR)
+	@echo VMSRCDIR=$(VMSRCDIR)
+	@echo CROSSDIR=$(CROSSDIR)
+	@echo WIN32DIR=$(WIN32DIR)
+	@echo MAKERDIR=$(MAKERDIR)
+	@echo CROSSSRC=$(CROSSSRC)
+	@echo WIN32SRC=$(WIN32SRC)
+	@echo MAKERSRC=$(MAKERSRC)
+	@echo LIBSRC=$(LIBSRC)
+	@echo LIBOBJ=$(LIBOBJ)
+	@echo OBJDIR=$(OBJDIR)
+	@echo VMDIR=$(VMDIR)
+	@echo PLUGINLIB=$(PLUGINLIB)
+	@echo PLUGINDLL=$(PLUGINDLL)
+	@echo -----------------------------------------------------
+
+$(OBJDIR):
+	mkdir $(OBJDIR)
+
+$(VMDIR):
+	mkdir $(VMDIR)
+
+$(PLUGINLIB): $(VMDIR) $(OBJDIR) $(LIBOBJ)
+	-$(RM) $(PLUGINLIB)
+	$(AR) $(PLUGINLIB) $(LIBOBJ)
+
+$(PLUGINDLL): $(VMDIR) $(OBJDIR) $(LIBOBJ)
+	$(DLLTOOL) \
+		--output-def $(LIBNAME).def \
+		--output-exp $(LIBNAME).exp \
+		--output-lib $(LIBNAME).lib \
+		$(DLLTOOLEXTRAS) \
+		$(LIBOBJ)
+ifneq ($(LINK_WITH_GCC),)
+	gcc -shared \
+		-mno-cygwin \
+		-def $(LIBNAME).def \
+		-o   $(VMDIR)/$(LIBNAME).dll \
+		--entry _DllMain at 12 \
+		$(GCCLINKEXTRAS) \
+		$(LIBOBJ) $(EXTRALIBS)
+else ifneq ($(LINK_WITH_GPP),)
+	g++ -shared \
+		-mno-cygwin \
+		-def $(LIBNAME).def \
+		-o   $(VMDIR)/$(LIBNAME).dll \
+		--entry _DllMain at 12 \
+		$(GPPLINKEXTRAS) \
+		$(LIBOBJ) $(EXTRALIBS)
+else
+	$(DLLWRAP) -mwindows \
+		-def $(LIBNAME).def \
+		-o   $(VMDIR)/$(LIBNAME).dll \
+		--entry _DllMain at 12 \
+		$(DLLWRAPEXTRAS) \
+		$(LIBNAME).exp \
+		$(LIBOBJ) $(EXTRALIBS)
+endif
+	$(OPTSTRIP) --strip-all $(VMDIR)/$(LIBNAME).dll
+	-$(RM) $(LIBNAME).lib
+
+#############################################################################
+# Rules for automated builds
+#
+include ../common/Makefile.rules

Added: branches/Cog/build.win32x86/common/Makefile.rules
===================================================================
--- branches/Cog/build.win32x86/common/Makefile.rules	                        (rev 0)
+++ branches/Cog/build.win32x86/common/Makefile.rules	2016-02-13 23:57:51 UTC (rev 3595)
@@ -0,0 +1,46 @@
+#############################################################################
+# Compilation rules for Mac OS X
+#
+# See http://make.mad-scientist.net/papers/advanced-auto-dependency-generation
+# for an explanation of the dependency management scheme.
+
+# gcc 3.4.x
+# Note: I had to use 'gcc' instead of 'ld' to prevent unresolved symbols
+#       The switch '-mwindows' gives us a GUI app instead of a console app.
+#		Newer cygwins want --export-all-symbols in place of --export-dynamic.
+#
+CC := gcc
+CXX:= g++
+LD := gcc
+LDCXX := clang++ # For linking c++ bundles
+
+DEPFLAGS = -MT $@ -MMD -MP -MF deps/$(*F).Td
+ALLFLAGS = $(DEPFLAGS) $(CFLAGS) $(INCLUDES) $(DEFS)
+POSTCOMPILE = sed '/^$$/d' <deps/$(*F).Td | sed '/^.*:$$/d' > deps/$(*F).d; rm deps/$(*F).Td; touch -r $< deps/$(*F).d
+
+$(OBJDIR)/%.o: %.c deps/%.d
+	$(CC) -x c $(ALLFLAGS) $(INCLUDES) -c $< -o $@
+	$(POSTCOMPILE)
+
+$(OBJDIR)/%.o: %.m deps/%.d
+	$(CC) -x objective-c $(ALLFLAGS) $(INCLUDES) -c $< -o $@
+	$(POSTCOMPILE)
+
+$(OBJDIR)/%.o: %.cpp deps/%.d
+	$(CXX) $(ALLFLAGS) $(INCLUDES) -c $< -o $@
+	$(POSTCOMPILE)
+
+%res: %.rc
+	$(RC) $(RCFLAGS) -i $< -o $@
+
+
+deps/%.d: ;
+
+.PRECIOUS: deps/%.d
+
+-include $(patsubst %,deps/%.d,$(notdir $(basename $(VMSRC))))
+
+#.cpp.o:
+#		$(CXX) -c $(CXXFLAGS) $(CXXINCLUDES) $<
+#
+#CXX:=g++


Property changes on: branches/Cog/build.win32x86/newspeak.cog.spur
___________________________________________________________________
Modified: svn:ignore
   - build
buildast
builddbg
eitheror.exe
mkNamedPrims.exe
sqNamedPrims.h
LOG*

   + build
buildast
builddbg
deps
eitheror.exe
mkNamedPrims.exe
sqNamedPrims.h
LOG*


Modified: branches/Cog/build.win32x86/newspeak.cog.spur/Makefile
===================================================================
--- branches/Cog/build.win32x86/newspeak.cog.spur/Makefile	2016-02-13 23:45:59 UTC (rev 3594)
+++ branches/Cog/build.win32x86/newspeak.cog.spur/Makefile	2016-02-13 23:57:51 UTC (rev 3595)
@@ -3,329 +3,10 @@
 # Do make init to allow make -n to function.
 #############################################################################
 
-#############################################################################
-# Base definitions:
-# default configuration from product, assert & debug
-#
-CONFIGURATION=product
-
 # The name of the VM to build
 VM:=nsvm
-VM_NAME?=Newspeak Virtual Machine
+VM_NAME:=Newspeak Virtual Machine
 
-#############################################################################
-# Default locations
-#
-ifndef BASEDIR
-BASEDIR:=.
-endif
+VMSRCDIR:= ../../nsspursrc/vm
 
-ifeq ("$(CONFIGURATION)","product")
-BUILD:=build
-else ifeq ("$(CONFIGURATION)","assert")
-BUILD:=buildast
-else
-BUILD:=builddbg
-endif
-PLUGINSRCDIR:= ../../nsspursrc
-VMSRCDIR:= ../../nsspursrc
-BLDDIR:= $(BASEDIR)/$(BUILD)
-OBJDIR:= $(BLDDIR)/vm
-
-# N.B. PLATDIR *must* be a relative path, see -f../../$(shell ./eitheror ... below
-PLATDIR:=../../platforms
-CROSSDIR:=$(PLATDIR)/Cross/vm
-WIN32DIR:=$(PLATDIR)/win32/vm
-MAKERDIR:=$(VMSRCDIR)/vm
-WIN32MISCDIR:=$(PLATDIR)/win32/misc
-WIN32UTILDIR:=$(PLATDIR)/win32/util
-
-CROSSSRC:= $(wildcard $(CROSSDIR)/*.c) $(wildcard $(CROSSDIR)/*.cpp)
-WIN32SRC:= $(wildcard $(WIN32DIR)/*.c) $(wildcard $(WIN32DIR)/*.cpp)
-MAKERSRC:= $(MAKERDIR)/gcc3x-cointerp.c $(MAKERDIR)/cogit.c
-VMSRC:= $(notdir $(MAKERSRC) $(WIN32SRC) $(CROSSSRC))
-
-VPATH:= $(MAKERDIR) $(WIN32DIR) $(CROSSDIR)
-
-#############################################################################
-# The internal (.lib) and external (.dll) plugins
-#
-include plugins.ext
-include plugins.int
-
-LIBS:= $(addprefix $(OBJDIR)/, $(addsuffix .lib, $(INTERNAL_PLUGINS)))
-DLLS:= $(addprefix $(OBJDIR)/, $(addsuffix .dll, $(EXTERNAL_PLUGINS)))
-
-#############################################################################
-# Generic VM source file definitions
-#
-VMDIR:= $(VMSRCDIR)/vm
-VMOBJ:=	$(VMSRC:.c=.o)
-VMOBJ:= $(addprefix $(OBJDIR)/,$(VMOBJ))
-
-#LIBSRC:= $(wildcard *.c)
-#LIBOBJ:= $(LIBSRC:.c=.o)
-
-#############################################################################
-# SqueakVM definitions
-#
-ifeq ("$(CONFIGURATION)","product")
-VMEXE:=  $(OBJDIR)/$(VM)Unstripped.exe
-CONSOLEVMEXE:=  $(OBJDIR)/$(VM)ConsoleUnstripped.exe
-STRIPEXE:=  $(OBJDIR)/$(VM).exe
-STRIPCONSOLEEXE:=  $(OBJDIR)/$(VM)Console.exe
-else
-VMEXE:=  $(OBJDIR)/$(VM).exe
-CONSOLEVMEXE:=  $(OBJDIR)/$(VM)Console.exe
-STRIPEXE:=
-STRIPCONSOLEEXE:=
-endif
-VMDEF:=	$(VM).def
-VMEXP:=	$(OBJDIR)/$(VM).exp
-VMMAP:=	$(OBJDIR)/$(VM).map
-CONSOLEVMMAP:=	$(OBJDIR)/$(VM)Console.map
-VMLIB:=	$(VM).lib
-VMRES:=	$(VM).res
-VMDEFIN:=$(BASEDIR)/$(VM).def.in
-BTOBJ:= $(OBJDIR)/btext.o
-ETOBJ:= $(OBJDIR)/etext.o
-
-
-.PRECIOUS: eitheror.exe mkNamedPrims.exe
-
-#############################################################################
-# DirectX definitions
-#
-DXDIR:=     $(PLATDIR)/win32/third-party/dx9sdk/Include
-
-#############################################################################
-# C compiler settings (gcc-3.4.4 cygwin 19.24)
-#
-CC:=gcc
-
-# VM config flags.
-ifeq ("$(CONFIGURATION)","product")
-OFLAGS:= -D_MT -O2 -march=pentium4 -momit-leaf-frame-pointer -funroll-loops
-NDEBUG:=-DNDEBUG -D'VM_LABEL(foo)=0' # Define NDEBUG for production to exclude asserts
-DEBUGVM=0
-else ifeq ("$(CONFIGURATION)","assert")
-OFLAGS:= -D_MT -O1 -march=pentium4 -fno-omit-frame-pointer
-NDEBUG:=-D'VM_LABEL(foo)=0'
-DEBUGVM=0
-else
-OFLAGS:= -D_MT -march=pentium4
-NDEBUG:=-DNODBGPRINT=1 -D'VM_LABEL(foo)=0' -D'bzero(p,s)=__builtin_bzero((p),(s))'
-DEBUGVM=1
-endif
-
-# Set minimum version to WindowsXP (see /cygwin/usr/include//w32api/w32api.h)
-WINVER:=-D_WIN32_WINNT=0x0501 -DWINVER=0x0501
-WINDEFS:=$(WINVER) -DWIN32 -DWIN32_FILE_SUPPORT -DNO_STD_FILE_SUPPORT
-
-INCLUDEPATH:= -isystem/usr/include/mingw -I/usr/include/w32api
-# define _MT to eliminate the inline versions of printf et al in mingw/stdio.h
-NOBUILTIN:= -D_MT -fno-builtin-printf -fno-builtin-putchar -fno-builtin-fprintf
-CFLAGS:= $(INCLUDEPATH) -msse2 -ggdb2 -mwindows -mthreads -mno-cygwin -mwin32 \
-	-mno-rtd -mms-bitfields -mno-accumulate-outgoing-args $(OFLAGS) $(NOBUILTIN)
-TZ:=$(shell date +%Z)
-DEFS:=	-D'VM_NAME="$(VM_NAME)"' -DDEBUGVM=$(DEBUGVM) \
-		-DNO_SERVICE -DNO_STD_FILE_SUPPORT -D'TZ="$(TZ)"' \
-		$(WINDEFS) -DNO_ISNAN -DNO_SERVICE $(NDEBUG) -DLSB_FIRST -DX86 $(XDEFS)
-XDEFS:=	-DSQUEAK_BUILTIN_PLUGIN
-INCLUDES:= -I. -I$(VMDIR) -I$(WIN32DIR) -I$(CROSSDIR) -I$(DXDIR) $(XINC)
-
-#############################################################################
-# Linker settings
-#
-# Note: I had to use 'gcc' instead of 'ld' to prevent unresolved symbols
-#       The switch '-mwindows' gives us a GUI app instead of a console app.
-#		Newer cygwins want --export-all-symbols in place of --export-dynamic.
-#
-LD:=	 gcc
-EXPORT:=--export-dynamic
-#EXPORT:=--export-all-symbols
-BASELDFLAGS:=-mno-cygwin -mthreads -Wl,--large-address-aware,$(EXPORT) -L/usr/lib/mingw
-LDFLAGS:= -mwindows $(BASELDFLAGS)
-CONSOLELDFLAGS:= -mconsole $(BASELDFLAGS)
-STDLIBS:= -lddraw -ldinput -lopengl32 -lwsock32 -lcomdlg32 -lole32 -lwinmm \
-	-lversion -lwininet -luser32 -lgdi32 -lpsapi -lkernel32 -lcrtdll \
-	-ldsound -lsecur32
-
-#############################################################################
-# Tools to use
-#
-AR:= ar rc
-CP:= cp
-RM:= rm
-DLLTOOL:=	dlltool
-DLLWRAP:=	dllwrap
-STRIP:=	strip
-OBJCOPY:=	objcopy
-
-#############################################################################
-# RC settings
-#
-# Note: RC compiles the .rc files into linkable .o files
-#
-RC:=	 windres
-SVNREV:= $(shell sed -e "s/^static.*SvnRawRevisionString.*Rev: \([0-9][0-9]*\).*/\\1/p" -e d $(PLATDIR)/Cross/vm/sqSCCSVersion.h)
-RCFLAGS:= --include-dir $(PLATDIR)/win32/misc -D_WIN32 -DFILEVERSIONVALUES=4,0,$(SVNREV),0 '-DFILEVERSIONSTRING=\"5.0.$(SVNREV)\\0\"'
-
-.SUFFIXES:
-.SUFFIXES:	.ccg .cc .c .o .s .i .rc .res .cg .hg .ccg .cpp
-
-
-
-#############################################################################
-# Common build rules
-#
-default: print-settings init $(VMEXE) $(CONSOLEVMEXE) $(DLLS) $(STRIPEXE) $(STRIPCONSOLEEXE)
-
-product:;
-	$(MAKE) -f $(MAKEFILE_LIST) CONFIGURATION=product $(@,product=) default
-
-assert:
-	$(MAKE) -f $(MAKEFILE_LIST) CONFIGURATION=assert $(@,assert=) default
-
-debug:
-	$(MAKE) -f $(MAKEFILE_LIST) CONFIGURATION=debug $(@,debug=) default
-
-# Do make init to allow make -n to function.
-init:	$(OBJDIR) eitheror.exe mkNamedPrims.exe
-
-cleanall:	clean cleanast cleandbg
-
-clean:
-	rm -rf sqNamedPrims.h eitheror.exe mkNamedPrims.exe build
-
-cleanast:
-	rm -rf sqNamedPrims.h eitheror.exe mkNamedPrims.exe buildast
-
-cleandbg:
-	rm -rf sqNamedPrims.h eitheror.exe mkNamedPrims.exe builddbg
-
-print-settings:

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list