diff --git a/Visual Studio Projects/ALTAIR.vcproj b/Visual Studio Projects/ALTAIR.vcproj
index 49e56a4..2c66eb2 100644
--- a/Visual Studio Projects/ALTAIR.vcproj
+++ b/Visual Studio Projects/ALTAIR.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/AltairZ80.vcproj b/Visual Studio Projects/AltairZ80.vcproj
index 2379aee..abd43c4 100644
--- a/Visual Studio Projects/AltairZ80.vcproj
+++ b/Visual Studio Projects/AltairZ80.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/B5500.vcproj b/Visual Studio Projects/B5500.vcproj
index dc7a958..2cbc564 100644
--- a/Visual Studio Projects/B5500.vcproj
+++ b/Visual Studio Projects/B5500.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/BESM6.vcproj b/Visual Studio Projects/BESM6.vcproj
index e457e16..856b840 100644
--- a/Visual Studio Projects/BESM6.vcproj
+++ b/Visual Studio Projects/BESM6.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/BuildROMs.vcproj b/Visual Studio Projects/BuildROMs.vcproj
index 5e088ba..5f653e4 100644
--- a/Visual Studio Projects/BuildROMs.vcproj
+++ b/Visual Studio Projects/BuildROMs.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/FrontPanelTest.vcproj b/Visual Studio Projects/FrontPanelTest.vcproj
index 70ae79e..edd6df2 100644
--- a/Visual Studio Projects/FrontPanelTest.vcproj
+++ b/Visual Studio Projects/FrontPanelTest.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/H316.vcproj b/Visual Studio Projects/H316.vcproj
index 300bf8e..0f6ffe9 100644
--- a/Visual Studio Projects/H316.vcproj
+++ b/Visual Studio Projects/H316.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/HP2100.vcproj b/Visual Studio Projects/HP2100.vcproj
index a21e1cf..1512e0b 100644
--- a/Visual Studio Projects/HP2100.vcproj
+++ b/Visual Studio Projects/HP2100.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/HP3000.vcproj b/Visual Studio Projects/HP3000.vcproj
index 628d072..af6ee2e 100644
--- a/Visual Studio Projects/HP3000.vcproj
+++ b/Visual Studio Projects/HP3000.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/I1401.vcproj b/Visual Studio Projects/I1401.vcproj
index 6d69a58..8308168 100644
--- a/Visual Studio Projects/I1401.vcproj
+++ b/Visual Studio Projects/I1401.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/I1620.vcproj b/Visual Studio Projects/I1620.vcproj
index e63b4d7..e47d7c3 100644
--- a/Visual Studio Projects/I1620.vcproj
+++ b/Visual Studio Projects/I1620.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/I701.vcproj b/Visual Studio Projects/I701.vcproj
index 584e100..ac27471 100644
--- a/Visual Studio Projects/I701.vcproj
+++ b/Visual Studio Projects/I701.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/I7010.vcproj b/Visual Studio Projects/I7010.vcproj
index 14b1a80..a7cf65f 100644
--- a/Visual Studio Projects/I7010.vcproj
+++ b/Visual Studio Projects/I7010.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/I704.vcproj b/Visual Studio Projects/I704.vcproj
index 5295791..c8dffd4 100644
--- a/Visual Studio Projects/I704.vcproj
+++ b/Visual Studio Projects/I704.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/I7070.vcproj b/Visual Studio Projects/I7070.vcproj
index 460f83d..a2334e4 100644
--- a/Visual Studio Projects/I7070.vcproj
+++ b/Visual Studio Projects/I7070.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/I7080.vcproj b/Visual Studio Projects/I7080.vcproj
index 44711ce..050fa1c 100644
--- a/Visual Studio Projects/I7080.vcproj
+++ b/Visual Studio Projects/I7080.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/I7090.vcproj b/Visual Studio Projects/I7090.vcproj
index 01c0044..adc51e8 100644
--- a/Visual Studio Projects/I7090.vcproj
+++ b/Visual Studio Projects/I7090.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/I7094.vcproj b/Visual Studio Projects/I7094.vcproj
index 93bef6c..2d70ae1 100644
--- a/Visual Studio Projects/I7094.vcproj
+++ b/Visual Studio Projects/I7094.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/IBM1130.vcproj b/Visual Studio Projects/IBM1130.vcproj
index 1eb1f1e..3df2890 100644
--- a/Visual Studio Projects/IBM1130.vcproj
+++ b/Visual Studio Projects/IBM1130.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/ID16.vcproj b/Visual Studio Projects/ID16.vcproj
index 4d59ef2..feba1a8 100644
--- a/Visual Studio Projects/ID16.vcproj
+++ b/Visual Studio Projects/ID16.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/ID32.vcproj b/Visual Studio Projects/ID32.vcproj
index 405ed92..fb7908a 100644
--- a/Visual Studio Projects/ID32.vcproj
+++ b/Visual Studio Projects/ID32.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/MicroVAX1.vcproj b/Visual Studio Projects/MicroVAX1.vcproj
index e61852f..99e0325 100644
--- a/Visual Studio Projects/MicroVAX1.vcproj
+++ b/Visual Studio Projects/MicroVAX1.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
@@ -248,7 +249,7 @@
>
@@ -258,7 +259,7 @@
diff --git a/Visual Studio Projects/MicroVAX2.vcproj b/Visual Studio Projects/MicroVAX2.vcproj
index 10d8df6..6603b16 100644
--- a/Visual Studio Projects/MicroVAX2.vcproj
+++ b/Visual Studio Projects/MicroVAX2.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
@@ -248,7 +249,7 @@
>
@@ -258,7 +259,7 @@
diff --git a/Visual Studio Projects/NOVA.vcproj b/Visual Studio Projects/NOVA.vcproj
index d310702..1cadaf9 100644
--- a/Visual Studio Projects/NOVA.vcproj
+++ b/Visual Studio Projects/NOVA.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/PDP1.vcproj b/Visual Studio Projects/PDP1.vcproj
index 569e6ab..5f8f42d 100644
--- a/Visual Studio Projects/PDP1.vcproj
+++ b/Visual Studio Projects/PDP1.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/PDP10-KA.vcproj b/Visual Studio Projects/PDP10-KA.vcproj
index 6d691e0..1aac09b 100644
--- a/Visual Studio Projects/PDP10-KA.vcproj
+++ b/Visual Studio Projects/PDP10-KA.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
+
+
@@ -124,8 +130,9 @@
Optimization="2"
InlineFunctionExpansion="1"
OmitFramePointers="true"
- AdditionalIncludeDirectories="./;../;../GRI/;"../../windows-build/PCRE/include/""
- PreprocessorDefinitions="USE_INT64;USE_SIM_CARD;KA=1;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;SIM_NEED_GIT_COMMIT_ID;HAVE_PCREPOSIX_H;PCRE_STATIC"
+ WholeProgramOptimization="true"
+ AdditionalIncludeDirectories="../PDP10/;../PDP11/;../VAX/;../../windows-build/libSDL/SDL2-2.0.5/include;./;../;../slirp;../slirp_glue;../slirp_glue/qemu;../slirp_glue/qemu/win32/include;../../windows-build/winpcap/Wpdpack/Include;../../windows-build/PCRE/include/;../../windows-build/pthreads;../../windows-build/libSDL/SDL2-2.0.8/include;../../windows-build/libpng-1.6.18"
+ PreprocessorDefinitions="USE_INT64;USE_SIM_CARD;KA=1;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;SIM_NEED_GIT_COMMIT_ID;HAVE_PCREPOSIX_H;PCRE_STATIC;USE_SHARED;PTW32_STATIC_LIB;USE_READER_THREAD;SIM_ASYNCH_IO"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
@@ -178,6 +185,8 @@
/>
@@ -220,10 +229,22 @@
RelativePath="..\PDP10\ka10_dp.c"
>
+
+
+
+
+
+
@@ -232,6 +253,14 @@
RelativePath="..\PDP10\ka10_mt.c"
>
+
+
+
+
@@ -252,10 +281,37 @@
RelativePath="..\PDP10\ka10_sys.c"
>
+
+
+
+
+
+
+
+
+
+
@@ -375,6 +431,10 @@
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
>
+
+
diff --git a/Visual Studio Projects/PDP10-KI.vcproj b/Visual Studio Projects/PDP10-KI.vcproj
index c7761a7..7098946 100644
--- a/Visual Studio Projects/PDP10-KI.vcproj
+++ b/Visual Studio Projects/PDP10-KI.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/PDP10.vcproj b/Visual Studio Projects/PDP10.vcproj
index f9d1b02..f133880 100644
--- a/Visual Studio Projects/PDP10.vcproj
+++ b/Visual Studio Projects/PDP10.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
@@ -234,6 +236,10 @@
RelativePath="..\PDP10\pdp10_xtnd.c"
>
+
+
@@ -274,7 +280,7 @@
>
@@ -284,7 +290,7 @@
diff --git a/Visual Studio Projects/PDP11.vcproj b/Visual Studio Projects/PDP11.vcproj
index 745878a..ed50960 100644
--- a/Visual Studio Projects/PDP11.vcproj
+++ b/Visual Studio Projects/PDP11.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
@@ -194,6 +196,10 @@
RelativePath="..\display\display.c"
>
+
+
@@ -290,6 +296,10 @@
RelativePath="..\PDP11\pdp11_rl.c"
>
+
+
@@ -370,7 +380,7 @@
>
@@ -380,7 +390,7 @@
diff --git a/Visual Studio Projects/PDP15.vcproj b/Visual Studio Projects/PDP15.vcproj
index 97e3799..75b805d 100644
--- a/Visual Studio Projects/PDP15.vcproj
+++ b/Visual Studio Projects/PDP15.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
@@ -192,6 +196,10 @@
RelativePath="..\PDP18B\pdp18b_cpu.c"
>
+
+
diff --git a/Visual Studio Projects/PDP4.vcproj b/Visual Studio Projects/PDP4.vcproj
index e1ddc7f..67acf84 100644
--- a/Visual Studio Projects/PDP4.vcproj
+++ b/Visual Studio Projects/PDP4.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/PDP7.vcproj b/Visual Studio Projects/PDP7.vcproj
index 3f02df4..f011286 100644
--- a/Visual Studio Projects/PDP7.vcproj
+++ b/Visual Studio Projects/PDP7.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/PDP8.vcproj b/Visual Studio Projects/PDP8.vcproj
index dcb4229..a87ef8e 100644
--- a/Visual Studio Projects/PDP8.vcproj
+++ b/Visual Studio Projects/PDP8.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/PDP9.vcproj b/Visual Studio Projects/PDP9.vcproj
index b8f94e2..e4b5138 100644
--- a/Visual Studio Projects/PDP9.vcproj
+++ b/Visual Studio Projects/PDP9.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/PDQ3.vcproj b/Visual Studio Projects/PDQ3.vcproj
index 25db7ce..a34447f 100644
--- a/Visual Studio Projects/PDQ3.vcproj
+++ b/Visual Studio Projects/PDQ3.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/Post-Build-Event.cmd b/Visual Studio Projects/Post-Build-Event.cmd
new file mode 100644
index 0000000..9dfaee6
--- /dev/null
+++ b/Visual Studio Projects/Post-Build-Event.cmd
@@ -0,0 +1,29 @@
+rem
+rem This script performs activities after a simulator build to run
+rem simulator specific test activities. Tests are only performed
+rem if a simulation test script is available.
+rem
+rem There are 2 required parameters to this procedure:
+rem 1 - The simulator source directory
+rem 2 The compiled simulator binary path
+rem There are 2 optional parameters to this procedure:
+rem 3 A specific test script name
+rem 4 Optional parameters to invoke the specified script with
+rem
+rem
+
+if exist "%2" goto _check_script
+echo error: Missing simulator binary: %2
+exit /B 1
+
+:_check_script
+set _binary_name=%~n2
+set _script_path=..\%1\tests\%3.ini
+if exist "%_script_path%" goto _got_script
+set _script_path=..\%1\tests\%_binary_name%_test.ini
+if exist "%_script_path%" goto _got_script
+echo No tests found for %_binary_name% simulator.
+exit /B 0
+
+:_got_script
+"%2" "%_script_path%" "%4"
diff --git a/Visual Studio Projects/Pre-Build-Event.cmd b/Visual Studio Projects/Pre-Build-Event.cmd
index 234a105..061f403 100644
--- a/Visual Studio Projects/Pre-Build-Event.cmd
+++ b/Visual Studio Projects/Pre-Build-Event.cmd
@@ -12,8 +12,8 @@ rem ROM images are consistent with the ROM images from which they
rem are derived.
rem BUILD To validate that the required dependent libraries and include
rem files are available in the directory ..\..\windows-build\
-rem These libraries currently include winpcap and pthreads and
-rem optionally SDL and LIBPCRE.
+rem These libraries currently include winpcap, pthreads, SDL
+rem and LIBPCRE.
rem LIBSDL To validate that the required dependent SDL libraries and include
rem files are available in the directory ..\..\windows-build\
rem LIBPCRE To validate that the required dependent PCRE libraries and include
@@ -21,82 +21,22 @@ rem files are available in the directory ..\..\windows-build\
rem
rem In addition to the optional activities mentioned above, other activities
rem are also performed. These include:
-rem - confirming that if the current source is a clone of the simh
-rem git repository, then then git hooks which manage making the
-rem git commit hash available during builds are properly installed
-rem in the repository hooks directory. When the githooks are installed
-rem the current commit id is generated if git.exe is available in the
-rem current path.
-rem - performing the activities which make the git repository commit id
-rem available in an include file during compiles.
-rem - Converting Visual Studio Projects to a form which will produce
-rem binaries which run on Windows XP if the current build environment
-rem supports it and the correct components are installed.
-rem This activity is triggered by the first argument being the name
-rem of a the current Visual Studio project file. This argument MUST
-rem only be provided on a single project which invokes this procedure
-rem AND that project should be one which all other projects in a
-rem solution are dependent on.
+rem - performing the activities which make confirm or generate the git
+rem repository commit id available in an include file during compiles.
rem
rem
-if "%~x1" == ".vcproj" goto _done_xp_check
-if not "%~x1" == ".vcxproj" goto _done_project
-if exist PlatformToolset.fix goto _project_cleanup
-findstr PlatformToolset %1 >NUL
-if ERRORLEVEL 1 goto _next_arg
-findstr PlatformToolset %1 | findstr _xp >NUL
-if not ERRORLEVEL 1 goto _done_xp_check
-echo warning: The %~n1.exe binary can't run on windows XP.
-set _XP_Support_Available=
-for /r "%PROGRAMDATA%" %%z in (packages\XPSupport\Win_XPSupport.msi) do if exist "%%z" set _XP_Support_Available=1
-if "" == "%_XP_Support_Available%" goto _done_xp_check
-if exist PlatformToolset.fix exit /b 1
-echo. >>PlatformToolset.fix
-if ERRORLEVEL 1 exit /B 1
-echo warning: Adding Windows XP suppport to all project files at %TIME%
-
+rem Everything implicitly requires BUILD to also be set to have
+rem any meaning, it always gets set.
+set _X_BUILD=BUILD
call :FindVCVersion _VC_VER
-echo Set objFSO = CreateObject("Scripting.FileSystemObject") >>%1.fix.vbs
-echo Set objFile = objFSO.OpenTextFile(Wscript.Arguments(0), 1) >>%1.fix.vbs
-echo. >>%1.fix.vbs
-echo strText = objFile.ReadAll >>%1.fix.vbs
-echo objFile.Close >>%1.fix.vbs
-echo strText = Replace(strText, "", "_xp") >>%1.fix.vbs
-echo. >>%1.fix.vbs
-if %_VC_VER% GEQ 14 echo strText = Replace(strText, _>>%1.fix.vbs
-if %_VC_VER% GEQ 14 echo "__CLEANUP_C", _>>%1.fix.vbs
-if %_VC_VER% GEQ 14 echo "__CLEANUP_C;_USING_V110_SDK71_") _>>%1.fix.vbs
-if %_VC_VER% GEQ 14 echo. >>%1.fix.vbs
-echo Set objFile = objFSO.OpenTextFile(Wscript.Arguments(0), 2) >>%1.fix.vbs
-echo objFile.Write strText >>%1.fix.vbs
-echo objFile.Close >>%1.fix.vbs
-
-call :_Fix_PlatformToolset %1 %1
-for %%f in (*.vcxproj) do call :_Fix_PlatformToolset %1 %%f
-call :_GitHooks
-del %1.fix.vbs
-rem wait a bit here to allow a parallel build of the to complete additional projects
-echo Error: Reload the changed projects and start the build again
-exit /B 1
-:_Fix_PlatformToolset
-findstr PlatformToolset %2 >NUL
-if ERRORLEVEL 1 exit /B 0
-findstr PlatformToolset %2 | findstr _xp >NUL
-if not ERRORLEVEL 1 exit /B 0
-echo Adding XP support to project %2
-cscript %1.fix.vbs %2 > NUL 2>&1
-exit /B 0
-:_done_xp_check
-shift
-goto _done_project
-:_project_cleanup
-shift
-del PlatformToolset.fix
-:_done_project
-if exist PlatformToolset.fix echo error: Reload any changed projects and rebuild again,
-if exist PlatformToolset.fix exit /b 1
+set _PDB=%~dpn1.pdb
+if exist "%_PDB%" del/q "%_PDB%"
+set _PDB=
+set _ARG=%~1
+if /i "%_ARG:~-4%" equ ".exe" shift /1
+set _ARG=
:_next_arg
if "%1" == "" goto _done_args
@@ -115,11 +55,6 @@ if not "%_arg%" == "" set _X_%_arg%=%_arg%
shift
goto _next_arg
:_done_args
-rem some arguments implicitly require BUILD to also be set to have
-rem any meaning. These are LIBSDL, LIBPCRE and FINDFONT
-if not "%_X_FINDFONT%" == "" set _X_BUILD=BUILD
-if not "%_X_LIBSDL%" == "" set _X_BUILD=BUILD
-if not "%_X_LIBPCRE%" == "" set _X_BUILD=BUILD
:_do_rom
@@ -130,10 +65,11 @@ if exist BIN\NT\Win32-Debug\BuildROMs.exe SET _BLD=BIN\NT\Win32-Debug\BuildROMs.
if exist BIN\NT\Win32-Release\BuildROMs.exe SET _BLD=BIN\NT\Win32-Release\BuildROMs.exe
if "%_BLD%" == "" echo ************************************************
if "%_BLD%" == "" echo ************************************************
-if "%_BLD%" == "" echo ** Project dependencies not correct. **
+if "%_BLD%" == "" echo ** Project dependencies are not correct. **
if "%_BLD%" == "" echo ** This project should depend on BuildROMs. **
if "%_BLD%" == "" echo ************************************************
if "%_BLD%" == "" echo ************************************************
+if "%_BLD%" == "" echo error: Review the Output Tab for more details.
if "%_BLD%" == "" exit 1
%_BLD%
if not errorlevel 1 goto _done_rom
@@ -144,9 +80,38 @@ goto _do_rom
:_done_rom
popd
+:_CheckGit
+if not exist ..\.git goto _done_git
+call :FindGit _GIT_GIT
+if "%_GIT_GIT%" neq "" goto _done_git
+echo ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR **
+echo ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR **
+echo ** **
+echo ** Your local simh code is in a git repository, **
+echo ** however, the git program executable can not be **
+echo ** readily found on your system. **
+echo ** **
+echo ** You should download and install git from: **
+echo ** **
+echo ** https://git-scm.com/download/win **
+echo ** **
+echo ** while installing git for windows, be sure to **
+echo ** select the option to "Use Git from the Windows **
+echo ** Command Prompt" **
+echo ** **
+echo ** You should logout and login again after initally **
+echo "" installing git to be sure that the installation **
+echo ** location is properly visible in your search path.**
+echo ** **
+echo ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR **
+echo ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR **
+echo error: Review the Output Tab for more details.
+exit 1
+:_done_git
+
:_check_build
if "%_X_BUILD%" == "" goto _done_build
-if not exist ../../windows-build-windows-build goto _check_files
+if not exist ..\..\windows-build-windows-build goto _check_files
rem This is a newly extracted windows-build.zip file with the
rem top level directory named as it existed in the zip file.
rem We rename that top level directory. If a previous one already
@@ -157,26 +122,39 @@ ren ..\..\windows-build-windows-build windows-build
if errorlevel 1 goto _notice3
if exist ../../windows-build-windows-build goto _notice3
:_check_files
-if not exist ../../windows-build/winpcap/Wpdpack/Include/pcap.h goto _notice1
-if not exist ../../windows-build/pthreads/pthread.h goto _notice1
-findstr "/c:_MSC_VER >= 1900" ..\..\windows-build\pthreads\pthread.h >NUL
-if ERRORLEVEL 1 goto _notice2
-if "%_X_LIBSDL%" == "" goto _done_libsdl
-if not exist ../../windows-build/libSDL/SDL2-2.0.5/include/SDL.h goto _notice2
-if not exist "..\..\windows-build\libpng-1.6.18\projects\vstudio\Release Library\*" goto _notice2
-if not exist "../../windows-build/libSDL/Microsoft DirectX SDK (June 2010)/Lib/x86/dxguid.lib" goto _notice2
-findstr "/c:LIBSDL_FTOL2_SSE" ..\..\windows-build\Windows-Build_Versions.txt >NUL
-if ERRORLEVEL 1 goto _notice2
-findstr "/c:LIBSDL_ALLMUL" ..\..\windows-build\Windows-Build_Versions.txt >NUL
-if ERRORLEVEL 1 goto _notice2
-findstr "/c:LIBSDL_ALLSHR" ..\..\windows-build\Windows-Build_Versions.txt >NUL
-if ERRORLEVEL 1 goto _notice2
+call :FindVCVersion _VC_VER
+if not exist ..\..\windows-build goto _notice1
+if not exist ..\..\windows-build/lib goto _notice2
+set _X_WINDOWS_BUILD=
+for /F "usebackq tokens=2" %%i in (`findstr /C:"WINDOWS-BUILD" ..\..\windows-build\Windows-Build_Versions.txt`) do SET _X_WINDOWS_BUILD=%%i
+if "%_X_WINDOWS_BUILD%" LSS "20181002" goto _notice2
+set _X_LAST_WINDOWS_BUILD=
+if exist Pre-Build-Event.last-windows-build-version.txt for /F "usebackq tokens=2" %%i in (`findstr /C:"WINDOWS-BUILD" Pre-Build-Event.last-windows-build-version.txt`) do SET _X_LAST_WINDOWS_BUILD=%%i
+if "%_X_WINDOWS_BUILD%" EQU "%_X_LAST_WINDOWS_BUILD%" goto _new_or_same_windows_build
+echo Library support has been updated, forcing clean version determination
+if exist ../../windows-build/lib/Debug rmdir/s/q ..\..\windows-build\lib\Debug
+if exist ../../windows-build/lib/Release rmdir/s/q ..\..\windows-build\lib\Release
+if exist ../../windows-build/lib/VisualCVersionSupport.txt del ..\..\windows-build\lib\VisualCVersionSupport.txt
+echo WINDOWS-BUILD %_X_WINDOWS_BUILD% >Pre-Build-Event.last-windows-build-version.txt
+:_new_or_same_windows_build
+set _X_WINDOWS_BUILD=
+set _X_LAST_WINDOWS_BUILD=
+if not exist ../../windows-build/lib/VisualCVersionSupport.txt goto _find_vc_support
+
+set _X_VC_VER=
+for /F "usebackq tokens=2*" %%i in (`findstr /C:"_VC_VER=%_VC_VER% " ..\..\windows-build\lib\VisualCVersionSupport.txt`) do SET _X_VC_VER=%%i %%j
+if "%_X_VC_VER%" neq "" echo Library support for %_X_VC_VER% is available
+if "%_X_VC_VER%" neq "" goto _done_libsdl
+:_find_vc_support
+set _X_VC_VER_DIR=
+for /d %%i in ("../../windows-build/lib/*") do call :CheckDirectoryVCSupport _X_VC_VER_DIR %%i "../../windows-build/lib/"
+if "%_X_VC_VER_DIR%" equ "" goto _notice4
+:_make_vc_support_active
+for /F "usebackq tokens=2*" %%i in (`findstr /C:"_VC_VER=%_VC_VER% " "%_X_VC_VER_DIR%\VisualCVersionSupport.txt"`) do SET _X_VC_VER=%%i %%j
+echo Enabling Library support for %_X_VC_VER%
+call "%_X_VC_VER_DIR%\Install-Library-Support.cmd"
:_done_libsdl
-if "%_X_LIBPCRE%" == "" goto _done_libpcre
-if not exist ../../windows-build/PCRE/include/pcreposix.h goto _notice2
-:_done_libpcre
if "%_X_FINDFONT%" == "" goto _done_findfont
-if not exist ../../windows-build/libSDL/SDL2_ttf-2.0.12/SDL_ttf.h goto _notice2
if "%_X_FontName%" == "" goto _done_findfont
echo. >%_X_FontIncludeName%.temp
set FONTFILE=%windir%\Fonts\%_X_FontName%
@@ -214,6 +192,29 @@ set _LIB_VC_VER=
:_done_library
goto _done_build
:_notice1
+if "%_TRIED_CLONE%" neq "" goto _notice1_announce
+if "%_GIT_GIT%" equ "" goto _notice1_announce
+echo *****************************************************
+echo *****************************************************
+echo ** **
+echo ** The required build support is not yet available.**
+echo ** **
+echo ** Using git to acquire a local copy of the **
+echo ** windows-build repository from: **
+echo ** **
+echo ** https://github.com/simh/windows-build **
+echo ** **
+echo ** This may take a minute or si. Please wait... **
+echo ** **
+echo *****************************************************
+echo *****************************************************
+:_try_clone
+pushd ..\..
+"%_GIT_GIT%" clone https://github.com/simh/windows-build windows-build
+popd
+set _TRIED_CLONE=1
+goto _check_build
+:_notice1_announce
echo *****************************************************
echo *****************************************************
echo ** The required build support is not available. **
@@ -222,6 +223,42 @@ echo *****************************************************
set _exit_reason=The required build support is not available.
goto _ProjectInfo
:_notice2
+if "%_TRIED_PULL%" neq "" goto _notice2_announce
+if "%_GIT_GIT%" equ "" goto _notice2_announce
+if exist ..\..\windows-build\.git goto _try_pull
+echo *****************************************************
+echo *****************************************************
+echo ** **
+echo ** The required build support is out of date **
+echo ** and currently isn't a git repository. **
+echo ** **
+echo ** Removing the current windows-build support **
+echo ** in preparation for cloning the current **
+echo ** windows-build git repository. **
+echo ** **
+echo ** This may take several minutes... **
+echo ** **
+echo *****************************************************
+echo *****************************************************
+rmdir /s /q ..\..\windows-build
+goto _try_clone
+:_try_pull
+echo *****************************************************
+echo *****************************************************
+echo ** **
+echo ** The required build support is out of date. **
+echo ** **
+echo ** Attempting update of your local windows-build **
+echo ** git repository. This may take a minute... **
+echo ** **
+echo *****************************************************
+echo *****************************************************
+pushd ..\..\windows-build
+"%_GIT_GIT%" pull https://github.com/simh/windows-build
+popd
+set _TRIED_PULL=1
+goto _check_build
+:_notice2_announce
echo *****************************************************
echo *****************************************************
echo ** The required build support is out of date. **
@@ -238,6 +275,26 @@ echo *****************************************************
echo *****************************************************
set _exit_reason=Can't rename ../../windows-build-windows-build to ../../windows-build
goto _ProjectInfo
+:_notice4
+echo *********************************
+echo *********************************
+echo ** Visual Studio Version: %_VC_VER% **
+echo ** Visual Studio Version: %_VC_VER% **
+echo ** Visual Studio Version: %_VC_VER% **
+echo ** Visual Studio Version: %_VC_VER% **
+echo *****************************************************
+echo *****************************************************
+echo ** Windows Build support for your Microsoft **
+echo ** Visual Studio version is not available yet. **
+echo ** Please create a new issue at: **
+echo ** https://github.com/simh/simh/issues describing **
+echo ** what you've done and support should be added **
+echo ** soon. Otherwise, you can install an earlier **
+echo ** version of Microsoft Visual Studio and use **
+echo ** that. **
+echo *****************************************************
+echo *****************************************************
+goto _ProjectInfo
:_ProjectInfo
type 0ReadMe_Projects.txt
echo error: %_exit_reason%
@@ -245,21 +302,34 @@ echo error: Review the Output Tab for more details.
exit 1
:_done_build
-:_GitHooks
-if not exist ..\.git goto _done_hooks
-if exist ..\.git\hooks\post-commit goto _done_hooks
-echo *****************************************************
-echo *****************************************************
-echo ** Installing git hooks in newly cloned repository **
-echo *****************************************************
-echo *****************************************************
-copy /y git-hooks\post* ..\.git\hooks\
-call :WhereInPath git.exe > NUL 2>&1
-if %ERRORLEVEL% neq 0 goto _done_hooks
-pushd ..
-git log -1 "--pretty=%%H" >.git-commit-id
-popd
-:_done_hooks
+:_CheckGit
+if not exist ..\.git goto _done_id
+call :FindGit _GIT_GIT
+if "%_GIT_GIT%" neq "" goto _SetId
+echo ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR **
+echo ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR **
+echo ** **
+echo ** Your local simh code is in a git repository, **
+echo ** however, the git program executable can not be **
+echo ** readily found on your system. **
+echo ** **
+echo ** You should download and install git from: **
+echo ** **
+echo ** https://git-scm.com/download/win **
+echo ** **
+echo ** while installing git for windows, be sure to **
+echo ** select the option to "Use Git from the Windows **
+echo ** Command Prompt" **
+echo ** **
+echo ** You should logout and login again after initally **
+echo "" installing git to be sure that the installation **
+echo ** location is properly visible in your search path.**
+echo ** **
+echo ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR **
+echo ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR **
+echo error: Review the Output Tab for more details.
+exit 1
+:_done_git
:_SetId
rem
@@ -267,22 +337,35 @@ rem A race condition exists while creating the .git-commit-id.h file.
rem This race can happen at the beginning of a parallel build where
rem several projects can start execution at almost the same time.
rem
+SET ACTUAL_GIT_COMMIT_ID=
+SET ACTUAL_GIT_COMMIT_TIME=
SET GIT_COMMIT_ID=
-if not exist ..\.git-commit-id goto _NoId
-for /F %%i in (..\.git-commit-id) do SET GIT_COMMIT_ID=%%i
-:_NoId
+SET GIT_COMMIT_TIME=
+for /F "usebackq tokens=1" %%i in (`git log -1 "--pretty=%%H"`) do SET ACTUAL_GIT_COMMIT_ID=%%i
+for /F "usebackq tokens=1" %%i in (`git log -1 "--pretty=%%aI"`) do SET ACTUAL_GIT_COMMIT_TIME=%%i
+if exist ..\.git-commit-id for /F "usebackq tokens=2" %%i in (`findstr /C:SIM_GIT_COMMIT_ID ..\.git-commit-id`) do SET GIT_COMMIT_ID=%%i
+if exist ..\.git-commit-id for /F "usebackq tokens=2" %%i in (`findstr /C:SIM_GIT_COMMIT_TIME ..\.git-commit-id`) do SET GIT_COMMIT_TIME=%%i
+if "%ACTUAL_GIT_COMMIT_ID%" neq "%GIT_COMMIT_ID%" "%_GIT_GIT%" log -1 --pretty="SIM_GIT_COMMIT_ID %%H%%nSIM_GIT_COMMIT_TIME %%aI" >..\.git-commit-id
+SET GIT_COMMIT_ID=%ACTUAL_GIT_COMMIT_ID%
+SET GIT_COMMIT_TIME=%ACTUAL_GIT_COMMIT_TIME%
+SET ACTUAL_GIT_COMMIT_ID=
+SET ACTUAL_GIT_COMMIT_TIME=
+:_VerifyGitCommitId.h
SET OLD_GIT_COMMIT_ID=
if not exist .git-commit-id.h echo.>.git-commit-id.h
-for /F "tokens=3" %%i in (.git-commit-id.h) do SET OLD_GIT_COMMIT_ID=%%i
+for /F "usebackq tokens=3" %%i in (`findstr /C:SIM_GIT_COMMIT_ID .git-commit-id.h`) do SET OLD_GIT_COMMIT_ID=%%i
if "%GIT_COMMIT_ID%" equ "%OLD_GIT_COMMIT_ID%" goto _IdGood
echo Generating updated .git-commit-id.h containing id %GIT_COMMIT_ID%
echo #define SIM_GIT_COMMIT_ID %GIT_COMMIT_ID% >.git-commit-id.h
+echo #define SIM_GIT_COMMIT_TIME %GIT_COMMIT_TIME% >>.git-commit-id.h
if errorlevel 1 echo Retrying...
if errorlevel 1 goto _SetId
:_IdGood
:_done_id
+if not exist .git-commit-id.h echo. >.git-commit-id.h
goto :EOF
+
:WhereInPath
if "%~$PATH:1" NEQ "" exit /B 0
exit /B 1
@@ -292,9 +375,24 @@ if "%~$PATH:1" EQU "" exit /B 1
set %2=%~$PATH:1
exit /B 0
+:FindGit
+set _GIT_TMP=%1
+call :WhichInPath git.exe _GIT_TMP_
+if "%_GIT_TMP_%" neq "" goto GitFound
+call :WhichInPath cl.exe _VC_CL_
+for /f "tokens=1-4 delims=\" %%a in ("%_VC_CL_%") do set _GIT_BASE_="%%a\%%b\%%c\%%d\"
+for /r %_GIT_BASE_% %%a in (git.exe) do if exist "%%a" set _GIT_TMP_=%%a
+:GitFound
+set %_GIT_TMP%=%_GIT_TMP_%
+set _VC_CL_=
+set _GIT_BASE_=
+set _GIT_TMP_=
+set _GIT_TMP=
+exit /B 0
+
:FindVCVersion
call :WhichInPath cl.exe _VC_CL_
-for /f "tokens=2-8 delims=\" %%a in ("%_VC_CL_%") do call :VCCheck _VC_VER_NUM_ "%%a" "%%b" "%%c" "%%d" "%%e" "%%f" "%%g"
+for /f "tokens=3-9 delims=\" %%a in ("%_VC_CL_%") do call :VCCheck _VC_VER_NUM_ "%%a" "%%b" "%%c" "%%d" "%%e" "%%f" "%%g"
for /f "delims=." %%a in ("%_VC_VER_NUM_%") do set %1=%%a
set _VC_CL=
exit /B 0
@@ -306,8 +404,38 @@ shift
set _VC_TMP_=%~1
if "%_VC_TMP_%" equ "" goto _VCCheck_Done
if "%_VC_TMP_:~0,24%" EQU "Microsoft Visual Studio " set %_VC_TMP%=%_VC_TMP_:Microsoft Visual Studio =%
+call :IsNumeric _VC_NUM_ %_VC_TMP_%
+if "%_VC_NUM_%" neq "" set %_VC_TMP%=%~1
+if "%_VC_NUM_%" neq "" goto _VCCheck_Done
goto _VCCheck_Next
:_VCCheck_Done
set _VC_TMP_=
set _VC_TMP=
+set _VC_NUM_=
+exit /B 0
+
+:CheckDirectoryVCSupport
+set _VC_Check_Path=%~3%~2/
+set _VC_Check_Path=%_VC_Check_Path:/=\%
+if not exist "%_VC_Check_Path%VisualCVersionSupport.txt" exit /B 1
+for /F "usebackq tokens=2*" %%k in (`findstr /C:"_VC_VER=%_VC_VER% " "%_VC_Check_Path%VisualCVersionSupport.txt"`) do set %1=%_VC_Check_Path%
+exit /B 0
+
+:IsNumeric
+set _Numeric_TMP_=%~1
+set _Numeric_Test_=%2
+set _Numeric_Test_=%_Numeric_Test_:~0,1%
+set %_Numeric_TMP_%=
+if "%_Numeric_Test_%"=="0" set %_Numeric_TMP_%=1
+if "%_Numeric_Test_%"=="1" set %_Numeric_TMP_%=1
+if "%_Numeric_Test_%"=="2" set %_Numeric_TMP_%=1
+if "%_Numeric_Test_%"=="3" set %_Numeric_TMP_%=1
+if "%_Numeric_Test_%"=="4" set %_Numeric_TMP_%=1
+if "%_Numeric_Test_%"=="5" set %_Numeric_TMP_%=1
+if "%_Numeric_Test_%"=="6" set %_Numeric_TMP_%=1
+if "%_Numeric_Test_%"=="7" set %_Numeric_TMP_%=1
+if "%_Numeric_Test_%"=="8" set %_Numeric_TMP_%=1
+if "%_Numeric_Test_%"=="9" set %_Numeric_TMP_%=1
+set _Numeric_TMP_=
+set _Numeric_Test_=
exit /B 0
diff --git a/Visual Studio Projects/S3.vcproj b/Visual Studio Projects/S3.vcproj
index 63ffafc..7639662 100644
--- a/Visual Studio Projects/S3.vcproj
+++ b/Visual Studio Projects/S3.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/SAGE.vcproj b/Visual Studio Projects/SAGE.vcproj
index 771c22e..6bd1784 100644
--- a/Visual Studio Projects/SAGE.vcproj
+++ b/Visual Studio Projects/SAGE.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/SDS.vcproj b/Visual Studio Projects/SDS.vcproj
index d160a44..923e0ae 100644
--- a/Visual Studio Projects/SDS.vcproj
+++ b/Visual Studio Projects/SDS.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/SSEM.vcproj b/Visual Studio Projects/SSEM.vcproj
index 192e32b..9c53304 100644
--- a/Visual Studio Projects/SSEM.vcproj
+++ b/Visual Studio Projects/SSEM.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/Simh.sln b/Visual Studio Projects/Simh.sln
index f14d7ea..ab8bea5 100644
--- a/Visual Studio Projects/Simh.sln
+++ b/Visual Studio Projects/Simh.sln
@@ -244,10 +244,19 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "isys8024", "isys8024.vcproj
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "imds-225", "imds-225.vcproj", "{A66F0D85-174F-4AFE-A44E-7FAE3D3727BC}"
+ ProjectSection(ProjectDependencies) = postProject
+ {D40F3AF1-EEE7-4432-9807-2AD287B490F8} = {D40F3AF1-EEE7-4432-9807-2AD287B490F8}
+ EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ibmpc", "ibmpc.vcproj", "{76EF8599-7AB0-4C8D-997B-AAEEE724A5D0}"
+ ProjectSection(ProjectDependencies) = postProject
+ {D40F3AF1-EEE7-4432-9807-2AD287B490F8} = {D40F3AF1-EEE7-4432-9807-2AD287B490F8}
+ EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ibmpcxt", "ibmpcxt.vcproj", "{0026A4C2-655A-4C03-B6CA-B1EAF79FA4D1}"
+ ProjectSection(ProjectDependencies) = postProject
+ {D40F3AF1-EEE7-4432-9807-2AD287B490F8} = {D40F3AF1-EEE7-4432-9807-2AD287B490F8}
+ EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scelbi", "scelbi.vcproj", "{1E92CC4B-9ED5-4CD4-BD35-061F25126523}"
ProjectSection(ProjectDependencies) = postProject
@@ -260,6 +269,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "3B2", "3B2.vcproj", "{56178
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "I701", "I701.vcproj", "{F1F44607-FB9E-428C-AD8F-56F98699D121}"
+ ProjectSection(ProjectDependencies) = postProject
+ {D40F3AF1-EEE7-4432-9807-2AD287B490F8} = {D40F3AF1-EEE7-4432-9807-2AD287B490F8}
+ EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "I7090", "I7090.vcproj", "{33EE34FC-A12F-47FE-9FD6-8B74D08718C7}"
ProjectSection(ProjectDependencies) = postProject
@@ -286,6 +298,21 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "I7010", "I7010.vcproj", "{5
{D40F3AF1-EEE7-4432-9807-2AD287B490F8} = {D40F3AF1-EEE7-4432-9807-2AD287B490F8}
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UC15", "UC15.vcproj", "{B5E9D32E-53F9-4C9B-B037-5A2D34E370CF}"
+ ProjectSection(ProjectDependencies) = postProject
+ {D40F3AF1-EEE7-4432-9807-2AD287B490F8} = {D40F3AF1-EEE7-4432-9807-2AD287B490F8}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PDP10-KA", "PDP10-KA.vcproj", "{01F75DE5-8049-4C73-A325-B1F9964CE709}"
+ ProjectSection(ProjectDependencies) = postProject
+ {D40F3AF1-EEE7-4432-9807-2AD287B490F8} = {D40F3AF1-EEE7-4432-9807-2AD287B490F8}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PDP10-KI", "PDP10-KI.vcproj", "{0BA63EC5-BD4F-44FB-AE89-7DD2C84CB1D9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {D40F3AF1-EEE7-4432-9807-2AD287B490F8} = {D40F3AF1-EEE7-4432-9807-2AD287B490F8}
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -532,6 +559,18 @@ Global
{55A727F0-B5C8-48E8-9EF2-D5DAF679C520}.Debug|Win32.Build.0 = Debug|Win32
{55A727F0-B5C8-48E8-9EF2-D5DAF679C520}.Release|Win32.ActiveCfg = Release|Win32
{55A727F0-B5C8-48E8-9EF2-D5DAF679C520}.Release|Win32.Build.0 = Release|Win32
+ {B5E9D32E-53F9-4C9B-B037-5A2D34E370CF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B5E9D32E-53F9-4C9B-B037-5A2D34E370CF}.Debug|Win32.Build.0 = Debug|Win32
+ {B5E9D32E-53F9-4C9B-B037-5A2D34E370CF}.Release|Win32.ActiveCfg = Release|Win32
+ {B5E9D32E-53F9-4C9B-B037-5A2D34E370CF}.Release|Win32.Build.0 = Release|Win32
+ {01F75DE5-8049-4C73-A325-B1F9964CE709}.Debug|Win32.ActiveCfg = Debug|Win32
+ {01F75DE5-8049-4C73-A325-B1F9964CE709}.Debug|Win32.Build.0 = Debug|Win32
+ {01F75DE5-8049-4C73-A325-B1F9964CE709}.Release|Win32.ActiveCfg = Release|Win32
+ {01F75DE5-8049-4C73-A325-B1F9964CE709}.Release|Win32.Build.0 = Release|Win32
+ {0BA63EC5-BD4F-44FB-AE89-7DD2C84CB1D9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0BA63EC5-BD4F-44FB-AE89-7DD2C84CB1D9}.Debug|Win32.Build.0 = Debug|Win32
+ {0BA63EC5-BD4F-44FB-AE89-7DD2C84CB1D9}.Release|Win32.ActiveCfg = Release|Win32
+ {0BA63EC5-BD4F-44FB-AE89-7DD2C84CB1D9}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Visual Studio Projects/TX-0.vcproj b/Visual Studio Projects/TX-0.vcproj
index 80c1401..7d7fd80 100644
--- a/Visual Studio Projects/TX-0.vcproj
+++ b/Visual Studio Projects/TX-0.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/VAX.vcproj b/Visual Studio Projects/VAX.vcproj
index 3f6504d..8403f55 100644
--- a/Visual Studio Projects/VAX.vcproj
+++ b/Visual Studio Projects/VAX.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
@@ -252,7 +249,7 @@
>
@@ -262,7 +259,7 @@
diff --git a/Visual Studio Projects/VAX730.vcproj b/Visual Studio Projects/VAX730.vcproj
index 3136767..fc35ed2 100644
--- a/Visual Studio Projects/VAX730.vcproj
+++ b/Visual Studio Projects/VAX730.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
+ CharacterSet="0"
>
@@ -193,6 +195,10 @@
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
>
+
+
@@ -265,7 +271,7 @@
>
@@ -275,7 +281,7 @@
diff --git a/Visual Studio Projects/VAX750.vcproj b/Visual Studio Projects/VAX750.vcproj
index 47f90fa..5e32a5d 100644
--- a/Visual Studio Projects/VAX750.vcproj
+++ b/Visual Studio Projects/VAX750.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
+ CharacterSet="0"
>
@@ -193,6 +195,10 @@
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
>
+
+
@@ -273,7 +279,7 @@
>
@@ -283,7 +289,7 @@
diff --git a/Visual Studio Projects/VAX780.vcproj b/Visual Studio Projects/VAX780.vcproj
index 9c9b565..460e6c1 100644
--- a/Visual Studio Projects/VAX780.vcproj
+++ b/Visual Studio Projects/VAX780.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
@@ -194,6 +195,10 @@
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
>
+
+
@@ -278,7 +283,7 @@
>
@@ -288,7 +293,7 @@
diff --git a/Visual Studio Projects/VAX8600.vcproj b/Visual Studio Projects/VAX8600.vcproj
index 5e65c70..af45c2c 100644
--- a/Visual Studio Projects/VAX8600.vcproj
+++ b/Visual Studio Projects/VAX8600.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
@@ -194,6 +195,10 @@
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
>
+
+
@@ -278,7 +283,7 @@
>
@@ -288,7 +293,7 @@
diff --git a/Visual Studio Projects/alpha.vcproj b/Visual Studio Projects/alpha.vcproj
index db25417..fcf18b6 100644
--- a/Visual Studio Projects/alpha.vcproj
+++ b/Visual Studio Projects/alpha.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/git-hooks/0ReadMe_git-hooks.txt b/Visual Studio Projects/git-hooks/0ReadMe_git-hooks.txt
deleted file mode 100644
index d9126d7..0000000
--- a/Visual Studio Projects/git-hooks/0ReadMe_git-hooks.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-This dirctory contains a set of git hook scripts which are useful when
-working with this repository to make the git commit id available when
-building simulators to uniquely identify the inputs to that build.
-
-It is ONLY useful for folks who clone this as a repository and build
-in the working directory of that repository.
-
-Folks who download zip archives of the repository do not currently
-have the ability to get the commit id which the archive is a snapshot
-of. Work is being done to solve this issue for uses of the archive
-snapshots as well.
-
-To use these scripts automatically, copy these files to the .git/hooks
-directory of the current repository. This can be done with the
-following commands:
-
- $ cd Visual\ Studio\ Projects/git-hooks
- $ chmod +x post*
- $ cp post* ../../.git/hooks/
-
-
-
-Note: You ONLY need to copy these hook scripts once for a particular
- clone of the repository. Once these are installed they will
- survive as you pull subsequent revisions from the github repo.
-
- If you clone the repository to another platform, then you'll
- need to copy the hooks to the .git/hooks directory again.
diff --git a/Visual Studio Projects/git-hooks/post-checkout b/Visual Studio Projects/git-hooks/post-checkout
deleted file mode 100644
index 05588ba..0000000
--- a/Visual Studio Projects/git-hooks/post-checkout
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-#
-# A hook script that is called after a successful
-# checkout to record the commit-id in the working directory.
-git log -1 --pretty="%H" >.git-commit-id
diff --git a/Visual Studio Projects/git-hooks/post-commit b/Visual Studio Projects/git-hooks/post-commit
deleted file mode 100644
index 32d3e49..0000000
--- a/Visual Studio Projects/git-hooks/post-commit
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-#
-# A hook script that is called after a successful
-# commit is made to record the commit-id in the working directory.
-git log -1 --pretty="%H" >.git-commit-id
diff --git a/Visual Studio Projects/git-hooks/post-merge b/Visual Studio Projects/git-hooks/post-merge
deleted file mode 100644
index 9de878e..0000000
--- a/Visual Studio Projects/git-hooks/post-merge
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-#
-# A hook script that is called after a successful merge
-# to record the commit-id in the working directory.
-git log -1 --pretty="%H" >.git-commit-id
diff --git a/Visual Studio Projects/isys8010.vcproj b/Visual Studio Projects/isys8010.vcproj
index fddc6bd..1d2bd48 100644
--- a/Visual Studio Projects/isys8010.vcproj
+++ b/Visual Studio Projects/isys8010.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/isys8020.vcproj b/Visual Studio Projects/isys8020.vcproj
index d0bf169..ff8864a 100644
--- a/Visual Studio Projects/isys8020.vcproj
+++ b/Visual Studio Projects/isys8020.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/lgp.vcproj b/Visual Studio Projects/lgp.vcproj
index 21ea5e3..1529a1a 100644
--- a/Visual Studio Projects/lgp.vcproj
+++ b/Visual Studio Projects/lgp.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/rtVAX1000.vcproj b/Visual Studio Projects/rtVAX1000.vcproj
index d9918b0..4687d38 100644
--- a/Visual Studio Projects/rtVAX1000.vcproj
+++ b/Visual Studio Projects/rtVAX1000.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
@@ -248,7 +249,7 @@
>
@@ -258,7 +259,7 @@
diff --git a/Visual Studio Projects/sigma.vcproj b/Visual Studio Projects/sigma.vcproj
index d30dab7..119bec1 100644
--- a/Visual Studio Projects/sigma.vcproj
+++ b/Visual Studio Projects/sigma.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/swtp6800mp-a.vcproj b/Visual Studio Projects/swtp6800mp-a.vcproj
index cda3c82..dc9f36d 100644
--- a/Visual Studio Projects/swtp6800mp-a.vcproj
+++ b/Visual Studio Projects/swtp6800mp-a.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/Visual Studio Projects/swtp6800mp-a2.vcproj b/Visual Studio Projects/swtp6800mp-a2.vcproj
index 6150da7..674677a 100644
--- a/Visual Studio Projects/swtp6800mp-a2.vcproj
+++ b/Visual Studio Projects/swtp6800mp-a2.vcproj
@@ -21,13 +21,12 @@
OutputDirectory="..\BIN\NT\$(PlatformName)-$(ConfigurationName)"
IntermediateDirectory="..\BIN\NT\Project\simh\$(ProjectName)\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="0"
>
diff --git a/makefile b/makefile
index 17331a8..a0c965d 100644
--- a/makefile
+++ b/makefile
@@ -1,6 +1,7 @@
#
# This GNU make makefile has been tested on:
# Linux (x86 & Sparc & PPC)
+# Android (Termux)
# OS X
# Solaris (x86 & Sparc) (gcc and Sun C)
# OpenBSD
@@ -35,15 +36,25 @@
# If debugging is desired, then GNU make can be invoked with
# DEBUG=1 on the command line.
#
+# The default build will run per simulator tests if they are
+# available. If building without running tests is desired,
+# then GNU make should be invoked with TESTS=0 on the command
+# line.
+#
+# Default test execution will produce summary output. Detailed
+# test output can be produced if GNU make is invoked with
+# TEST_ARG=-v on the command line.
+#
# simh project support is provided for simulators that are built with
# dependent packages provided with the or by the operating system
-# distribution OR for platforms where that isn't directly available (OS X)
-# by packages from specific package management systems (MacPorts). Users
-# wanting to build simulators with locally build dependent packages or
-# packages provided by an unsupported package management system can
-# override where this procedure looks for include files and/or libraries.
-# Overrides can be specified by define exported environment variables or
-# GNU make command line arguments which specify INCLUDES and/or LIBRARIES.
+# distribution OR for platforms where that isn't directly available
+# (OS X) by packages from specific package management systems (MacPorts
+# or Homebrew). Users wanting to build simulators with locally build
+# dependent packages or packages provided by an unsupported package
+# management system can override where this procedure looks for include
+# files and/or libraries. Overrides can be specified by define exported
+# environment variables or GNU make command line arguments which specify
+# INCLUDES and/or LIBRARIES.
# Each of these, if specified, must be the complete list include directories
# or library directories that should be used with each element separated by
# colons. (i.e. INCLUDES=/usr/include/:/usr/local/include/:...)
@@ -86,6 +97,7 @@ ifeq (old,$(shell gmake --version /dev/null 2>&1 | grep 'GNU Make' | awk '{ if (
$(warning *** Warning *** fully process this makefile)
endif
BUILD_SINGLE := $(MAKECMDGOALS) $(BLANK_SUFFIX)
+BUILD_MULTIPLE_VERB = is
# building the pdp1, pdp11, tx-0, or any microvax simulator could use video support
ifneq (,$(or $(findstring XXpdp1XX,$(addsuffix XX,$(addprefix XX,$(MAKECMDGOALS)))),$(findstring pdp11,$(MAKECMDGOALS)),$(findstring tx-0,$(MAKECMDGOALS)),$(findstring microvax1,$(MAKECMDGOALS)),$(findstring microvax2,$(MAKECMDGOALS)),$(findstring microvax3900,$(MAKECMDGOALS)),$(findstring XXvaxXX,$(addsuffix XX,$(addprefix XX,$(MAKECMDGOALS))))))
VIDEO_USEFUL = true
@@ -100,15 +112,17 @@ ifneq (,$(findstring ka10,$(MAKECMDGOALS)))
VIDEO_USEFUL = true
endif
# building the pdp11, pdp10, or any vax simulator could use networking support
-ifneq (,$(or $(findstring pdp11,$(MAKECMDGOALS)),$(findstring pdp10,$(MAKECMDGOALS)),$(findstring vax,$(MAKECMDGOALS)),$(findstring pdp10-ka,$(MAKECMDGOALS)),$(findstring pdp10-ki,$(MAKECMDGOALS)),$(findstring all,$(MAKECMDGOALS))))
+ifneq (,$(or $(findstring pdp11,$(MAKECMDGOALS)),$(findstring pdp10,$(MAKECMDGOALS)),$(findstring vax,$(MAKECMDGOALS)),$(findstring all,$(MAKECMDGOALS))))
NETWORK_USEFUL = true
ifneq (,$(findstring all,$(MAKECMDGOALS)))
BUILD_MULTIPLE = s
+ BUILD_MULTIPLE_VERB = are
VIDEO_USEFUL = true
BESM6_BUILD = true
endif
ifneq (,$(word 2,$(MAKECMDGOALS)))
BUILD_MULTIPLE = s
+ BUILD_MULTIPLE_VERB = are
endif
else
ifeq ($(MAKECMDGOALS),)
@@ -116,6 +130,7 @@ else
NETWORK_USEFUL = true
VIDEO_USEFUL = true
BUILD_MULTIPLE = s
+ BUILD_MULTIPLE_VERB = are
BUILD_SINGLE := all $(BUILD_SINGLE)
BESM6_BUILD = true
endif
@@ -123,6 +138,12 @@ endif
find_exe = $(abspath $(strip $(firstword $(foreach dir,$(strip $(subst :, ,$(PATH))),$(wildcard $(dir)/$(1))))))
find_lib = $(abspath $(strip $(firstword $(foreach dir,$(strip $(LIBPATH)),$(wildcard $(dir)/lib$(1).$(LIBEXT))))))
find_include = $(abspath $(strip $(firstword $(foreach dir,$(strip $(INCPATH)),$(wildcard $(dir)/$(1).h)))))
+ifneq (0,$(TESTS))
+ find_test = $(abspath $(wildcard $(1)/tests/$(2)_test.ini))
+ TESTING_FEATURES = - Per simulator tests will be run
+else
+ TESTING_FEATURES = - Per simulator tests will be skipped
+endif
ifneq ($(findstring Windows,$(OS)),)
ifeq ($(findstring .exe,$(SHELL)),.exe)
# MinGW
@@ -130,7 +151,7 @@ ifneq ($(findstring Windows,$(OS)),)
else # Msys or cygwin
ifeq (MINGW,$(findstring MINGW,$(shell uname)))
$(info *** This makefile can not be used with the Msys bash shell)
- $(error *** Use build_mingw.bat $(MAKECMDGOALS) from a Windows command prompt)
+ $(error Use build_mingw.bat $(MAKECMDGOALS) from a Windows command prompt)
endif
endif
endif
@@ -196,25 +217,29 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
CC_STD = -std=c99
else
CPP_BUILD = 1
+ OS_CCDEFS += -Wno-deprecated
endif
endif
ifeq (git-repo,$(shell if $(TEST) -d ./.git; then echo git-repo; fi))
- ifeq (need-hooks,$(shell if $(TEST) ! -e ./.git/hooks/post-checkout; then echo need-hooks; fi))
- $(info *** Installing git hooks in local repository ***)
- GIT_HOOKS += $(shell /bin/cp './Visual Studio Projects/git-hooks/post-commit' ./.git/hooks/)
- GIT_HOOKS += $(shell /bin/cp './Visual Studio Projects/git-hooks/post-checkout' ./.git/hooks/)
- GIT_HOOKS += $(shell /bin/cp './Visual Studio Projects/git-hooks/post-merge' ./.git/hooks/)
- GIT_HOOKS += $(shell ./.git/hooks/post-checkout)
- ifneq (,$(strip $(GIT_HOOKS)))
- $(info *** Warning - Error installing git hooks *** $(GIT_HOOKS))
+ GIT_PATH=$(strip $(shell which git))
+ ifeq (,$(GIT_PATH))
+ $(error building using a git repository, but git is not available)
+ endif
+ ifeq (commit-id-exists,$(shell if $(TEST) -e .git-commit-id; then echo commit-id-exists; fi))
+ CURRENT_GIT_COMMIT_ID=$(strip $(shell grep 'SIM_GIT_COMMIT_ID' .git-commit-id | awk '{ print $$2 }'))
+ ACTUAL_GIT_COMMIT_ID=$(strip $(shell git log -1 --pretty="%H"))
+ ifneq ($(CURRENT_GIT_COMMIT_ID),$(ACTUAL_GIT_COMMIT_ID))
+ NEED_COMMIT_ID = need-commit-id
+ # make sure that the invalidly formatted .git-commit-id file wasn't generated
+ # by legacy git hooks which need to be removed.
+ $(shell rm -f .git/hooks/post-checkout .git/hooks/post-commit .git/hooks/post-merge)
endif
else
- ifneq (commit-id-exists,$(shell if $(TEST) -e .git-commit-id; then echo commit-id-exists; fi))
- GIT_HOOKS = $(shell ./.git/hooks/post-checkout)
- ifneq (,$(strip $(GIT_HOOKS)))
- $(info *** Warning - Error executing git hooks *** $(GIT_HOOKS))
- endif
- endif
+ NEED_COMMIT_ID = need-commit-id
+ endif
+ ifeq (need-commit-id,$(NEED_COMMIT_ID))
+ isodate=$(shell git log -1 --pretty="%ai"|sed -e 's/ /T/'|sed -e 's/ //')
+ $(shell git log -1 --pretty="SIM_GIT_COMMIT_ID %H%nSIM_GIT_COMMIT_TIME $(isodate)" >.git-commit-id)
endif
endif
LTO_EXCLUDE_VERSIONS =
@@ -225,9 +250,12 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
OS_CCDEFS += -DSIM_ASYNCH_IO
endif
OS_LDFLAGS = -lm
- else # Non-Android Builds
+ else # Non-Android (or Native Android) Builds
ifeq (,$(INCLUDES)$(LIBRARIES))
- INCPATH:=/usr/include
+ INCPATH:=$(shell LANG=C; $(GCC) -x c -v -E /dev/null 2>&1 | grep -A 10 '> search starts here' | grep '^ ' | tr -d '\n')
+ ifeq (,$(INCPATH))
+ INCPATH:=/usr/include
+ endif
LIBPATH:=/usr/lib
else
$(info *** Warning ***)
@@ -251,7 +279,7 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
endif
$(info *** Warning ***)
endif
- OS_CCDEFS = -D_GNU_SOURCE
+ OS_CCDEFS += -D_GNU_SOURCE
GCC_OPTIMIZERS_CMD = $(GCC) -v --help 2>&1
GCC_WARNINGS_CMD = $(GCC) -v --help 2>&1
LD_ELF = $(shell echo | $(GCC) -E -dM - | grep __ELF__)
@@ -279,8 +307,19 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
endif
else
ifeq (Linux,$(OSTYPE))
+ ifeq (Android,$(shell uname -o))
+ OS_CCDEFS += -D__ANDROID_API__=$(shell getprop ro.build.version.sdk) -DSIM_BUILD_OS=" On Android Version $(shell getprop ro.build.version.release)"
+ endif
ifneq (lib,$(findstring lib,$(UNSUPPORTED_BUILD)))
- LIBPATH := $(sort $(foreach lib,$(shell /sbin/ldconfig -p | grep ' => /' | sed 's/^.* => //'),$(dir $(lib))))
+ ifeq (Android,$(shell uname -o))
+ ifneq (,$(shell if $(TEST) -d /system/lib; then echo systemlib; fi))
+ LIBPATH += /system/lib
+ endif
+ LIBPATH += $(LD_LIBRARY_PATH)
+ endif
+ ifeq (ldconfig,$(shell if $(TEST) -e /sbin/ldconfig; then echo ldconfig; fi))
+ LIBPATH := $(sort $(foreach lib,$(shell /sbin/ldconfig -p | grep ' => /' | sed 's/^.* => //'),$(dir $(lib))))
+ endif
endif
LIBEXT = so
else
@@ -447,12 +486,12 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
endif
endif
endif
- # Find available RegEx library. Prefer libpcreposix.
- ifneq (,$(and $(call find_include,pcreposix),$(call find_include,pcre)))
- ifneq (,$(and $(call find_lib,pcreposix),$(call find_lib,pcre)))
- OS_CCDEFS += -DHAVE_PCREPOSIX_H
- OS_LDFLAGS += -lpcreposix -lpcre
- $(info using libpcreposix: $(call find_lib,pcreposix) $(call find_lib,pcre) $(call find_include,pcreposix) $(call find_include,pcre))
+ # Find available RegEx library. Prefer libpcreposix - except on OS X.
+ ifneq (,$(and $(call find_include,pcreposix),$(call find_include,pcre),$(subst Darwin,,$(OSTYPE))))
+ ifneq (,$(and $(call find_lib,pcreposix),$(call find_lib,pcre)))
+ OS_CCDEFS += -DHAVE_PCREPOSIX_H
+ OS_LDFLAGS += -lpcreposix -lpcre
+ $(info using libpcreposix: $(call find_lib,pcreposix) $(call find_lib,pcre) $(call find_include,pcreposix) $(call find_include,pcre))
ifeq ($(LD_SEARCH_NEEDED),$(call need_search,pcreposix))
OS_LDFLAGS += -L$(dir $(call find_lib,pcreposix))
endif
@@ -467,6 +506,24 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
$(info using regex: $(call find_include,regex))
endif
endif
+ # Find available ncurses library.
+ ifneq (,$(call find_include,ncurses))
+ ifneq (,$(call find_lib,ncurses))
+ OS_CURSES_DEFS += -DHAVE_NCURSES -lncurses
+ endif
+ endif
+ ifneq (,$(call find_include,semaphore))
+ ifneq (, $(shell grep sem_timedwait $(call find_include,semaphore)))
+ OS_CCDEFS += -DHAVE_SEMAPHORE
+ $(info using semaphore: $(call find_include,semaphore))
+ endif
+ endif
+ ifneq (,$(call find_include,sys/ioctl))
+ OS_CCDEFS += -DHAVE_SYS_IOCTL
+ endif
+ ifneq (,$(call find_include,linux/cdrom))
+ OS_CCDEFS += -DHAVE_LINUX_CDROM
+ endif
ifneq (,$(call find_include,dlfcn))
ifneq (,$(call find_lib,dl))
OS_CCDEFS += -DHAVE_DLOPEN=$(LIBEXT)
@@ -709,7 +766,7 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
else
INCPATH = $(INCPATHSAVE)
$(info *** Warning ***)
- $(info *** Warning *** $(BUILD_SINGLE)Simulator$(BUILD_MULTIPLE) are being built WITHOUT)
+ $(info *** Warning *** $(BUILD_SINGLE)Simulator$(BUILD_MULTIPLE) $(BUILD_MULTIPLE_VERB) being built WITHOUT)
$(info *** Warning *** libpcap networking support)
$(info *** Warning ***)
$(info *** Warning *** To build simulator(s) with libpcap networking support you)
@@ -750,7 +807,7 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
ifneq (,$(findstring Linux,$(OSTYPE))$(findstring Darwin,$(OSTYPE)))
ifneq (,$(findstring USE_NETWORK,$(NETWORK_CCDEFS))$(findstring USE_SHARED,$(NETWORK_CCDEFS)))
$(info *** Info ***)
- $(info *** Info *** $(BUILD_SINGLE)Simulator$(BUILD_MULTIPLE) are being built with)
+ $(info *** Info *** $(BUILD_SINGLE)Simulator$(BUILD_MULTIPLE) $(BUILD_MULTIPLE_VERB) being built with)
$(info *** Info *** minimal libpcap networking support)
$(info *** Info ***)
endif
@@ -813,7 +870,7 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
NETWORK_CCDEFS += -DUSE_NETWORK
NETWORK_FEATURES = - WITHOUT Local LAN networking support
$(info *** Warning ***)
- $(info *** Warning *** $(BUILD_SINGLE)Simulator$(BUILD_MULTIPLE) are being built WITHOUT LAN networking support)
+ $(info *** Warning *** $(BUILD_SINGLE)Simulator$(BUILD_MULTIPLE) $(BUILD_MULTIPLE_VERB) being built WITHOUT LAN networking support)
$(info *** Warning ***)
$(info *** Warning *** To build simulator(s) with networking support you should read)
$(info *** Warning *** 0readme_ethernet.txt and follow the instructions regarding the)
@@ -826,15 +883,34 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
MKDIRBIN = mkdir -p BIN
endif
ifeq (commit-id-exists,$(shell if $(TEST) -e .git-commit-id; then echo commit-id-exists; fi))
- GIT_COMMIT_ID=$(shell cat .git-commit-id)
+ GIT_COMMIT_ID=$(shell grep 'SIM_GIT_COMMIT_ID' .git-commit-id | awk '{ print $$2 }')
+ GIT_COMMIT_TIME=$(shell grep 'SIM_GIT_COMMIT_TIME' .git-commit-id | awk '{ print $$2 }')
else
ifeq (,$(shell grep 'define SIM_GIT_COMMIT_ID' sim_rev.h | grep 'Format:'))
GIT_COMMIT_ID=$(shell grep 'define SIM_GIT_COMMIT_ID' sim_rev.h | awk '{ print $$3 }')
+ GIT_COMMIT_TIME=$(shell grep 'define SIM_GIT_COMMIT_TIME' sim_rev.h | awk '{ print $$3 }')
else
ifeq (git-submodule,$(if $(shell cd .. ; git rev-parse --git-dir 2>/dev/null),git-submodule))
GIT_COMMIT_ID=$(shell cd .. ; git submodule status | grep "$(notdir $(realpath .))" | awk '{ print $$1 }')
+ GIT_COMMIT_TIME=$(shell git --git-dir=$(realpath .)/.git log $(GIT_COMMIT_ID) -1 --pretty="%aI")
else
- GIT_COMMIT_ID=undetermined-git-id
+ $(info *** Error ***)
+ $(info *** Error *** The simh git commit id can not be determined.)
+ $(info *** Error ***)
+ $(info *** Error *** There are ONLY two supported ways to acquire and build)
+ $(info *** Error *** the simh source code:)
+ $(info *** Error *** 1: directly with git via:)
+ $(info *** Error *** $$ git clone https://github.com/simh/simh)
+ $(info *** Error *** $$ cd simh)
+ $(info *** Error *** $$ make {simulator-name})
+ $(info *** Error *** OR)
+ $(info *** Error *** 2: download the source code zip archive from:)
+ $(info *** Error *** $$ wget(or via browser) https://github.com/simh/simh/archive/master.zip)
+ $(info *** Error *** $$ unzip master.zip)
+ $(info *** Error *** $$ cd simh-master)
+ $(info *** Error *** $$ make {simulator-name})
+ $(info *** Error ***)
+ $(error get simh source either with zip download or git clone)
endif
endif
endif
@@ -919,11 +995,13 @@ else
ifneq ($(USE_NETWORK),)
NETWORK_OPT += -DUSE_SHARED
endif
- ifneq (,$(shell if exist .git-commit-id type .git-commit-id))
- GIT_COMMIT_ID=$(shell if exist .git-commit-id type .git-commit-id)
+ ifneq (,$(shell if exist .git-commit-id echo git-commit-id))
+ GIT_COMMIT_ID=$(shell for /F "tokens=2" %%i in ("$(shell findstr /C:"SIM_GIT_COMMIT_ID" .git-commit-id)") do echo %%i)
+ GIT_COMMIT_TIME=$(shell for /F "tokens=2" %%i in ("$(shell findstr /C:"SIM_GIT_COMMIT_TIME" .git-commit-id)") do echo %%i)
else
ifeq (,$(shell findstr /C:"define SIM_GIT_COMMIT_ID" sim_rev.h | findstr Format))
GIT_COMMIT_ID=$(shell for /F "tokens=3" %%i in ("$(shell findstr /C:"define SIM_GIT_COMMIT_ID" sim_rev.h)") do echo %%i)
+ GIT_COMMIT_TIME=$(shell for /F "tokens=3" %%i in ("$(shell findstr /C:"define SIM_GIT_COMMIT_TIME" sim_rev.h)") do echo %%i)
endif
endif
ifneq (windows-build,$(shell if exist ..\windows-build\README.md echo windows-build))
@@ -978,6 +1056,9 @@ endif # Win32 (via MinGW)
ifneq (,$(GIT_COMMIT_ID))
CFLAGS_GIT = -DSIM_GIT_COMMIT_ID=$(GIT_COMMIT_ID)
endif
+ifneq (,$(GIT_COMMIT_TIME))
+ CFLAGS_GIT += -DSIM_GIT_COMMIT_TIME=$(GIT_COMMIT_TIME)
+endif
ifneq (,$(UNSUPPORTED_BUILD))
CFLAGS_GIT += -DSIM_BUILD=Unsupported=$(UNSUPPORTED_BUILD)
endif
@@ -986,17 +1067,16 @@ ifneq ($(DEBUG),)
CFLAGS_O = -O0
BUILD_FEATURES = - debugging support
else
- ifneq (clang,$(findstring clang,$(COMPILER_NAME)))
- CFLAGS_O = -O2
- ifeq (Darwin,$(OSTYPE))
- NO_LTO = 1
- endif
+ ifneq (,$(findstring clang,$(COMPILER_NAME))$(findstring LLVM,$(COMPILER_NAME)))
+ CFLAGS_O = -O2 -fno-strict-overflow
+ GCC_OPTIMIZERS_CMD = $(GCC) --help
+ NO_LTO = 1
else
NO_LTO = 1
ifeq (Darwin,$(OSTYPE))
- CFLAGS_O += -O4 -fno-strict-overflow -flto -fwhole-program
+ CFLAGS_O += -O4 -flto -fwhole-program
else
- CFLAGS_O := -O2 -fno-strict-overflow
+ CFLAGS_O := -O2
endif
endif
LDFLAGS_O =
@@ -1005,6 +1085,8 @@ else
ifeq (,$(GCC_OPTIMIZERS_CMD))
GCC_OPTIMIZERS_CMD = $(GCC) --help=optimizers
endif
+ endif
+ ifneq (,$(GCC_OPTIMIZERS_CMD))
GCC_OPTIMIZERS = $(shell $(GCC_OPTIMIZERS_CMD))
endif
ifneq (,$(findstring $(GCC_VERSION),$(LTO_EXCLUDE_VERSIONS)))
@@ -1058,9 +1140,13 @@ ifneq (clean,$(MAKECMDGOALS))
ifneq (,$(VIDEO_FEATURES))
$(info *** $(VIDEO_FEATURES).)
endif
+ ifneq (,$(TESTING_FEATURES))
+ $(info *** $(TESTING_FEATURES).)
+ endif
ifneq (,$(GIT_COMMIT_ID))
$(info ***)
$(info *** git commit id is $(GIT_COMMIT_ID).)
+ $(info *** git commit time is $(GIT_COMMIT_TIME).)
endif
$(info ***)
endif
@@ -1150,6 +1236,241 @@ KI10_LDFLAGS = -lusb-1.0
endif
+PDP1D = PDP1
+ifneq (,$(DISPLAY_OPT))
+ PDP1_DISPLAY_OPT = -DDISPLAY_TYPE=DIS_TYPE30 -DPIX_SCALE=RES_HALF
+endif
+PDP1 = ${PDP1D}/pdp1_lp.c ${PDP1D}/pdp1_cpu.c ${PDP1D}/pdp1_stddev.c \
+ ${PDP1D}/pdp1_sys.c ${PDP1D}/pdp1_dt.c ${PDP1D}/pdp1_drm.c \
+ ${PDP1D}/pdp1_clk.c ${PDP1D}/pdp1_dcs.c ${PDP1D}/pdp1_dpy.c ${DISPLAYL}
+PDP1_OPT = -I ${PDP1D} $(DISPLAY_OPT) $(PDP1_DISPLAY_OPT)
+
+
+NOVAD = NOVA
+NOVA = ${NOVAD}/nova_sys.c ${NOVAD}/nova_cpu.c ${NOVAD}/nova_dkp.c \
+ ${NOVAD}/nova_dsk.c ${NOVAD}/nova_lp.c ${NOVAD}/nova_mta.c \
+ ${NOVAD}/nova_plt.c ${NOVAD}/nova_pt.c ${NOVAD}/nova_clk.c \
+ ${NOVAD}/nova_tt.c ${NOVAD}/nova_tt1.c ${NOVAD}/nova_qty.c
+NOVA_OPT = -I ${NOVAD}
+
+
+ECLIPSE = ${NOVAD}/eclipse_cpu.c ${NOVAD}/eclipse_tt.c ${NOVAD}/nova_sys.c \
+ ${NOVAD}/nova_dkp.c ${NOVAD}/nova_dsk.c ${NOVAD}/nova_lp.c \
+ ${NOVAD}/nova_mta.c ${NOVAD}/nova_plt.c ${NOVAD}/nova_pt.c \
+ ${NOVAD}/nova_clk.c ${NOVAD}/nova_tt1.c ${NOVAD}/nova_qty.c
+ECLIPSE_OPT = -I ${NOVAD} -DECLIPSE
+
+
+PDP18BD = PDP18B
+PDP18B = ${PDP18BD}/pdp18b_dt.c ${PDP18BD}/pdp18b_drm.c ${PDP18BD}/pdp18b_cpu.c \
+ ${PDP18BD}/pdp18b_lp.c ${PDP18BD}/pdp18b_mt.c ${PDP18BD}/pdp18b_rf.c \
+ ${PDP18BD}/pdp18b_rp.c ${PDP18BD}/pdp18b_stddev.c ${PDP18BD}/pdp18b_sys.c \
+ ${PDP18BD}/pdp18b_rb.c ${PDP18BD}/pdp18b_tt1.c ${PDP18BD}/pdp18b_fpp.c \
+ ${PDP18BD}/pdp18b_g2tty.c ${PDP18BD}/pdp18b_dr15.c
+
+PDP4_OPT = -DPDP4 -I ${PDP18BD}
+PDP7_OPT = -DPDP7 -I ${PDP18BD}
+PDP9_OPT = -DPDP9 -I ${PDP18BD}
+PDP15_OPT = -DPDP15 -I ${PDP18BD}
+
+
+PDP11D = PDP11
+PDP11 = ${PDP11D}/pdp11_fp.c ${PDP11D}/pdp11_cpu.c ${PDP11D}/pdp11_dz.c \
+ ${PDP11D}/pdp11_cis.c ${PDP11D}/pdp11_lp.c ${PDP11D}/pdp11_rk.c \
+ ${PDP11D}/pdp11_rl.c ${PDP11D}/pdp11_rp.c ${PDP11D}/pdp11_rx.c \
+ ${PDP11D}/pdp11_stddev.c ${PDP11D}/pdp11_sys.c ${PDP11D}/pdp11_tc.c \
+ ${PDP11D}/pdp11_tm.c ${PDP11D}/pdp11_ts.c ${PDP11D}/pdp11_io.c \
+ ${PDP11D}/pdp11_rq.c ${PDP11D}/pdp11_tq.c ${PDP11D}/pdp11_pclk.c \
+ ${PDP11D}/pdp11_ry.c ${PDP11D}/pdp11_pt.c ${PDP11D}/pdp11_hk.c \
+ ${PDP11D}/pdp11_xq.c ${PDP11D}/pdp11_xu.c ${PDP11D}/pdp11_vh.c \
+ ${PDP11D}/pdp11_rh.c ${PDP11D}/pdp11_tu.c ${PDP11D}/pdp11_cpumod.c \
+ ${PDP11D}/pdp11_cr.c ${PDP11D}/pdp11_rf.c ${PDP11D}/pdp11_dl.c \
+ ${PDP11D}/pdp11_ta.c ${PDP11D}/pdp11_rc.c ${PDP11D}/pdp11_kg.c \
+ ${PDP11D}/pdp11_ke.c ${PDP11D}/pdp11_dc.c ${PDP11D}/pdp11_dmc.c \
+ ${PDP11D}/pdp11_kmc.c ${PDP11D}/pdp11_dup.c ${PDP11D}/pdp11_rs.c \
+ ${PDP11D}/pdp11_vt.c ${PDP11D}/pdp11_td.c ${PDP11D}/pdp11_io_lib.c \
+ ${PDP11D}/pdp11_rom.c ${PDP11D}/pdp11_ch.c $(DISPLAYL) $(DISPLAYVT)
+PDP11_OPT = -DVM_PDP11 -I ${PDP11D} ${NETWORK_OPT} $(DISPLAY_OPT)
+
+
+UC15D = PDP11
+UC15 = ${UC15D}/pdp11_cis.c ${UC15D}/pdp11_cpu.c \
+ ${UC15D}/pdp11_cpumod.c ${UC15D}/pdp11_cr.c \
+ ${UC15D}/pdp11_fp.c ${UC15D}/pdp11_io.c \
+ ${UC15D}/pdp11_io_lib.c ${UC15D}/pdp11_lp.c \
+ ${UC15D}/pdp11_rh.c ${UC15D}/pdp11_rk.c \
+ ${UC15D}/pdp11_stddev.c ${UC15D}/pdp11_sys.c \
+ ${UC15D}/pdp11_uc15.c
+UC15_OPT = -DVM_PDP11 -DUC15 -I ${UC15D} -I ${PDP18BD}
+
+
+VAXD = VAX
+VAX = ${VAXD}/vax_cpu.c ${VAXD}/vax_cpu1.c ${VAXD}/vax_fpa.c ${VAXD}/vax_io.c \
+ ${VAXD}/vax_cis.c ${VAXD}/vax_octa.c ${VAXD}/vax_cmode.c \
+ ${VAXD}/vax_mmu.c ${VAXD}/vax_stddev.c ${VAXD}/vax_sysdev.c \
+ ${VAXD}/vax_sys.c ${VAXD}/vax_syscm.c ${VAXD}/vax_syslist.c \
+ ${VAXD}/vax_vc.c ${VAXD}/vax_lk.c ${VAXD}/vax_vs.c ${VAXD}/vax_2681.c \
+ ${PDP11D}/pdp11_rl.c ${PDP11D}/pdp11_rq.c ${PDP11D}/pdp11_ts.c \
+ ${PDP11D}/pdp11_dz.c ${PDP11D}/pdp11_lp.c ${PDP11D}/pdp11_tq.c \
+ ${PDP11D}/pdp11_xq.c ${PDP11D}/pdp11_vh.c ${PDP11D}/pdp11_cr.c \
+ ${PDP11D}/pdp11_td.c ${PDP11D}/pdp11_io_lib.c
+VAX_OPT = -DVM_VAX -DUSE_INT64 -DUSE_ADDR64 -DUSE_SIM_VIDEO -I ${VAXD} -I ${PDP11D} ${NETWORK_OPT} ${VIDEO_CCDEFS} ${VIDEO_LDFLAGS}
+
+
+VAX610 = ${VAXD}/vax_cpu.c ${VAXD}/vax_cpu1.c ${VAXD}/vax_fpa.c \
+ ${VAXD}/vax_cis.c ${VAXD}/vax_octa.c ${VAXD}/vax_cmode.c \
+ ${VAXD}/vax_mmu.c ${VAXD}/vax_sys.c ${VAXD}/vax_syscm.c \
+ ${VAXD}/vax610_stddev.c ${VAXD}/vax610_sysdev.c ${VAXD}/vax610_io.c \
+ ${VAXD}/vax610_syslist.c ${VAXD}/vax610_mem.c ${VAXD}/vax_vc.c \
+ ${VAXD}/vax_lk.c ${VAXD}/vax_vs.c ${VAXD}/vax_2681.c \
+ ${PDP11D}/pdp11_rl.c ${PDP11D}/pdp11_rq.c ${PDP11D}/pdp11_ts.c \
+ ${PDP11D}/pdp11_dz.c ${PDP11D}/pdp11_lp.c ${PDP11D}/pdp11_tq.c \
+ ${PDP11D}/pdp11_xq.c ${PDP11D}/pdp11_vh.c ${PDP11D}/pdp11_cr.c \
+ ${PDP11D}/pdp11_td.c ${PDP11D}/pdp11_io_lib.c
+VAX610_OPT = -DVM_VAX -DVAX_610 -DUSE_INT64 -DUSE_ADDR64 -DUSE_SIM_VIDEO -I ${VAXD} -I ${PDP11D} ${NETWORK_OPT} ${VIDEO_CCDEFS} ${VIDEO_LDFLAGS}
+
+VAX630 = ${VAXD}/vax_cpu.c ${VAXD}/vax_cpu1.c ${VAXD}/vax_fpa.c \
+ ${VAXD}/vax_cis.c ${VAXD}/vax_octa.c ${VAXD}/vax_cmode.c \
+ ${VAXD}/vax_mmu.c ${VAXD}/vax_sys.c ${VAXD}/vax_syscm.c \
+ ${VAXD}/vax_watch.c ${VAXD}/vax630_stddev.c ${VAXD}/vax630_sysdev.c \
+ ${VAXD}/vax630_io.c ${VAXD}/vax630_syslist.c ${VAXD}/vax_vc.c \
+ ${VAXD}/vax_lk.c ${VAXD}/vax_vs.c ${VAXD}/vax_2681.c \
+ ${PDP11D}/pdp11_rl.c ${PDP11D}/pdp11_rq.c ${PDP11D}/pdp11_ts.c \
+ ${PDP11D}/pdp11_dz.c ${PDP11D}/pdp11_lp.c ${PDP11D}/pdp11_tq.c \
+ ${PDP11D}/pdp11_xq.c ${PDP11D}/pdp11_vh.c ${PDP11D}/pdp11_cr.c \
+ ${PDP11D}/pdp11_td.c ${PDP11D}/pdp11_io_lib.c
+VAX620_OPT = -DVM_VAX -DVAX_620 -DUSE_INT64 -DUSE_ADDR64 -I ${VAXD} -I ${PDP11D} ${NETWORK_OPT}
+VAX630_OPT = -DVM_VAX -DVAX_630 -DUSE_INT64 -DUSE_ADDR64 -DUSE_SIM_VIDEO -I ${VAXD} -I ${PDP11D} ${NETWORK_OPT} ${VIDEO_CCDEFS} ${VIDEO_LDFLAGS}
+
+
+VAX730 = ${VAXD}/vax_cpu.c ${VAXD}/vax_cpu1.c ${VAXD}/vax_fpa.c \
+ ${VAXD}/vax_cis.c ${VAXD}/vax_octa.c ${VAXD}/vax_cmode.c \
+ ${VAXD}/vax_mmu.c ${VAXD}/vax_sys.c ${VAXD}/vax_syscm.c \
+ ${VAXD}/vax730_stddev.c ${VAXD}/vax730_sys.c \
+ ${VAXD}/vax730_mem.c ${VAXD}/vax730_uba.c ${VAXD}/vax730_rb.c \
+ ${VAXD}/vax730_syslist.c \
+ ${PDP11D}/pdp11_rl.c ${PDP11D}/pdp11_rq.c ${PDP11D}/pdp11_ts.c \
+ ${PDP11D}/pdp11_dz.c ${PDP11D}/pdp11_lp.c ${PDP11D}/pdp11_tq.c \
+ ${PDP11D}/pdp11_xu.c ${PDP11D}/pdp11_ry.c ${PDP11D}/pdp11_cr.c \
+ ${PDP11D}/pdp11_hk.c ${PDP11D}/pdp11_vh.c ${PDP11D}/pdp11_dmc.c \
+ ${PDP11D}/pdp11_td.c ${PDP11D}/pdp11_tc.c ${PDP11D}/pdp11_rk.c \
+ ${PDP11D}/pdp11_io_lib.c ${PDP11D}/pdp11_ch.c
+VAX730_OPT = -DVM_VAX -DVAX_730 -DUSE_INT64 -DUSE_ADDR64 -I VAX -I ${PDP11D} ${NETWORK_OPT}
+
+
+VAX750 = ${VAXD}/vax_cpu.c ${VAXD}/vax_cpu1.c ${VAXD}/vax_fpa.c \
+ ${VAXD}/vax_cis.c ${VAXD}/vax_octa.c ${VAXD}/vax_cmode.c \
+ ${VAXD}/vax_mmu.c ${VAXD}/vax_sys.c ${VAXD}/vax_syscm.c \
+ ${VAXD}/vax750_stddev.c ${VAXD}/vax750_cmi.c \
+ ${VAXD}/vax750_mem.c ${VAXD}/vax750_uba.c ${VAXD}/vax7x0_mba.c \
+ ${VAXD}/vax750_syslist.c \
+ ${PDP11D}/pdp11_rl.c ${PDP11D}/pdp11_rq.c ${PDP11D}/pdp11_ts.c \
+ ${PDP11D}/pdp11_dz.c ${PDP11D}/pdp11_lp.c ${PDP11D}/pdp11_tq.c \
+ ${PDP11D}/pdp11_xu.c ${PDP11D}/pdp11_ry.c ${PDP11D}/pdp11_cr.c \
+ ${PDP11D}/pdp11_hk.c ${PDP11D}/pdp11_rp.c ${PDP11D}/pdp11_tu.c \
+ ${PDP11D}/pdp11_vh.c ${PDP11D}/pdp11_dmc.c ${PDP11D}/pdp11_dup.c \
+ ${PDP11D}/pdp11_td.c ${PDP11D}/pdp11_tc.c ${PDP11D}/pdp11_rk.c \
+ ${PDP11D}/pdp11_io_lib.c ${PDP11D}/pdp11_ch.c
+VAX750_OPT = -DVM_VAX -DVAX_750 -DUSE_INT64 -DUSE_ADDR64 -I VAX -I ${PDP11D} ${NETWORK_OPT}
+
+
+VAX780 = ${VAXD}/vax_cpu.c ${VAXD}/vax_cpu1.c ${VAXD}/vax_fpa.c \
+ ${VAXD}/vax_cis.c ${VAXD}/vax_octa.c ${VAXD}/vax_cmode.c \
+ ${VAXD}/vax_mmu.c ${VAXD}/vax_sys.c ${VAXD}/vax_syscm.c \
+ ${VAXD}/vax780_stddev.c ${VAXD}/vax780_sbi.c \
+ ${VAXD}/vax780_mem.c ${VAXD}/vax780_uba.c ${VAXD}/vax7x0_mba.c \
+ ${VAXD}/vax780_fload.c ${VAXD}/vax780_syslist.c \
+ ${PDP11D}/pdp11_rl.c ${PDP11D}/pdp11_rq.c ${PDP11D}/pdp11_ts.c \
+ ${PDP11D}/pdp11_dz.c ${PDP11D}/pdp11_lp.c ${PDP11D}/pdp11_tq.c \
+ ${PDP11D}/pdp11_xu.c ${PDP11D}/pdp11_ry.c ${PDP11D}/pdp11_cr.c \
+ ${PDP11D}/pdp11_rp.c ${PDP11D}/pdp11_tu.c ${PDP11D}/pdp11_hk.c \
+ ${PDP11D}/pdp11_vh.c ${PDP11D}/pdp11_dmc.c ${PDP11D}/pdp11_dup.c \
+ ${PDP11D}/pdp11_td.c ${PDP11D}/pdp11_tc.c ${PDP11D}/pdp11_rk.c \
+ ${PDP11D}/pdp11_io_lib.c ${PDP11D}/pdp11_ch.c
+VAX780_OPT = -DVM_VAX -DVAX_780 -DUSE_INT64 -DUSE_ADDR64 -I VAX -I ${PDP11D} ${NETWORK_OPT}
+
+
+VAX8600 = ${VAXD}/vax_cpu.c ${VAXD}/vax_cpu1.c ${VAXD}/vax_fpa.c \
+ ${VAXD}/vax_cis.c ${VAXD}/vax_octa.c ${VAXD}/vax_cmode.c \
+ ${VAXD}/vax_mmu.c ${VAXD}/vax_sys.c ${VAXD}/vax_syscm.c \
+ ${VAXD}/vax860_stddev.c ${VAXD}/vax860_sbia.c \
+ ${VAXD}/vax860_abus.c ${VAXD}/vax780_uba.c ${VAXD}/vax7x0_mba.c \
+ ${VAXD}/vax860_syslist.c \
+ ${PDP11D}/pdp11_rl.c ${PDP11D}/pdp11_rq.c ${PDP11D}/pdp11_ts.c \
+ ${PDP11D}/pdp11_dz.c ${PDP11D}/pdp11_lp.c ${PDP11D}/pdp11_tq.c \
+ ${PDP11D}/pdp11_xu.c ${PDP11D}/pdp11_ry.c ${PDP11D}/pdp11_cr.c \
+ ${PDP11D}/pdp11_rp.c ${PDP11D}/pdp11_tu.c ${PDP11D}/pdp11_hk.c \
+ ${PDP11D}/pdp11_vh.c ${PDP11D}/pdp11_dmc.c ${PDP11D}/pdp11_dup.c \
+ ${PDP11D}/pdp11_td.c ${PDP11D}/pdp11_tc.c ${PDP11D}/pdp11_rk.c \
+ ${PDP11D}/pdp11_io_lib.c ${PDP11D}/pdp11_ch.c
+VAX8600_OPT = -DVM_VAX -DVAX_860 -DUSE_INT64 -DUSE_ADDR64 -I VAX -I ${PDP11D} ${NETWORK_OPT}
+
+
+PDP10D = PDP10
+PDP10 = ${PDP10D}/pdp10_fe.c ${PDP11D}/pdp11_dz.c ${PDP10D}/pdp10_cpu.c \
+ ${PDP10D}/pdp10_ksio.c ${PDP10D}/pdp10_lp20.c ${PDP10D}/pdp10_mdfp.c \
+ ${PDP10D}/pdp10_pag.c ${PDP10D}/pdp10_rp.c ${PDP10D}/pdp10_sys.c \
+ ${PDP10D}/pdp10_tim.c ${PDP10D}/pdp10_tu.c ${PDP10D}/pdp10_xtnd.c \
+ ${PDP11D}/pdp11_pt.c ${PDP11D}/pdp11_ry.c ${PDP11D}/pdp11_cr.c \
+ ${PDP11D}/pdp11_dup.c ${PDP11D}/pdp11_dmc.c ${PDP11D}/pdp11_kmc.c \
+ ${PDP11D}/pdp11_xu.c ${PDP11D}/pdp11_ch.c
+PDP10_OPT = -DVM_PDP10 -DUSE_INT64 -I ${PDP10D} -I ${PDP11D} ${NETWORK_OPT}
+
+
+PDP8D = PDP8
+PDP8 = ${PDP8D}/pdp8_cpu.c ${PDP8D}/pdp8_clk.c ${PDP8D}/pdp8_df.c \
+ ${PDP8D}/pdp8_dt.c ${PDP8D}/pdp8_lp.c ${PDP8D}/pdp8_mt.c \
+ ${PDP8D}/pdp8_pt.c ${PDP8D}/pdp8_rf.c ${PDP8D}/pdp8_rk.c \
+ ${PDP8D}/pdp8_rx.c ${PDP8D}/pdp8_sys.c ${PDP8D}/pdp8_tt.c \
+ ${PDP8D}/pdp8_ttx.c ${PDP8D}/pdp8_rl.c ${PDP8D}/pdp8_tsc.c \
+ ${PDP8D}/pdp8_td.c ${PDP8D}/pdp8_ct.c ${PDP8D}/pdp8_fpp.c
+PDP8_OPT = -I ${PDP8D}
+
+
+H316D = H316
+H316 = ${H316D}/h316_stddev.c ${H316D}/h316_lp.c ${H316D}/h316_cpu.c \
+ ${H316D}/h316_sys.c ${H316D}/h316_mt.c ${H316D}/h316_fhd.c \
+ ${H316D}/h316_dp.c ${H316D}/h316_rtc.c ${H316D}/h316_imp.c \
+ ${H316D}/h316_hi.c ${H316D}/h316_mi.c ${H316D}/h316_udp.c
+H316_OPT = -I ${H316D} -D VM_IMPTIP
+
+
+HP2100D = HP2100
+HP2100 = ${HP2100D}/hp2100_stddev.c ${HP2100D}/hp2100_dp.c ${HP2100D}/hp2100_dq.c \
+ ${HP2100D}/hp2100_dr.c ${HP2100D}/hp2100_lps.c ${HP2100D}/hp2100_ms.c \
+ ${HP2100D}/hp2100_mt.c ${HP2100D}/hp2100_mux.c ${HP2100D}/hp2100_cpu.c \
+ ${HP2100D}/hp2100_fp.c ${HP2100D}/hp2100_sys.c ${HP2100D}/hp2100_lpt.c \
+ ${HP2100D}/hp2100_ipl.c ${HP2100D}/hp2100_ds.c ${HP2100D}/hp2100_cpu0.c \
+ ${HP2100D}/hp2100_cpu1.c ${HP2100D}/hp2100_cpu2.c ${HP2100D}/hp2100_cpu3.c \
+ ${HP2100D}/hp2100_cpu4.c ${HP2100D}/hp2100_cpu5.c ${HP2100D}/hp2100_cpu6.c \
+ ${HP2100D}/hp2100_cpu7.c ${HP2100D}/hp2100_fp1.c ${HP2100D}/hp2100_baci.c \
+ ${HP2100D}/hp2100_mpx.c ${HP2100D}/hp2100_pif.c ${HP2100D}/hp2100_di.c \
+ ${HP2100D}/hp2100_di_da.c ${HP2100D}/hp2100_disclib.c
+HP2100_OPT = -DHAVE_INT64 -I ${HP2100D}
+
+HP3000D = HP3000
+HP3000 = ${HP3000D}/hp_disclib.c ${HP3000D}/hp_tapelib.c ${HP3000D}/hp3000_atc.c \
+ ${HP3000D}/hp3000_clk.c ${HP3000D}/hp3000_cpu.c ${HP3000D}/hp3000_cpu_base.c \
+ ${HP3000D}/hp3000_cpu_fp.c ${HP3000D}/hp3000_cpu_cis.c ${HP3000D}/hp3000_ds.c \
+ ${HP3000D}/hp3000_iop.c ${HP3000D}/hp3000_lp.c ${HP3000D}/hp3000_mem.c \
+ ${HP3000D}/hp3000_mpx.c ${HP3000D}/hp3000_ms.c ${HP3000D}/hp3000_scmb.c \
+ ${HP3000D}/hp3000_sel.c ${HP3000D}/hp3000_sys.c
+HP3000_OPT = -I ${HP3000D}
+
+
+I1401D = I1401
+I1401 = ${I1401D}/i1401_lp.c ${I1401D}/i1401_cpu.c ${I1401D}/i1401_iq.c \
+ ${I1401D}/i1401_cd.c ${I1401D}/i1401_mt.c ${I1401D}/i1401_dp.c \
+ ${I1401D}/i1401_sys.c
+I1401_OPT = -I ${I1401D}
+
+
+I1620D = I1620
+I1620 = ${I1620D}/i1620_cd.c ${I1620D}/i1620_dp.c ${I1620D}/i1620_pt.c \
+ ${I1620D}/i1620_tty.c ${I1620D}/i1620_cpu.c ${I1620D}/i1620_lp.c \
+ ${I1620D}/i1620_fp.c ${I1620D}/i1620_sys.c
+I1620_OPT = -I ${I1620D}
+
I7000D = I7000
I7090 = ${I7000D}/i7090_cpu.c ${I7000D}/i7090_sys.c ${I7000D}/i7090_chan.c \
${I7000D}/i7090_cdr.c ${I7000D}/i7090_cdp.c ${I7000D}/i7090_lpr.c \
@@ -1196,6 +1517,209 @@ I701 = ${I7000D}/i701_cpu.c ${I7000D}/i701_sys.c ${I7000D}/i701_chan.c \
I701_OPT = -I $(I7000D) -DUSE_INT64 -DI701 -DUSE_SIM_CARD
+I7094D = I7094
+I7094 = ${I7094D}/i7094_cpu.c ${I7094D}/i7094_cpu1.c ${I7094D}/i7094_io.c \
+ ${I7094D}/i7094_cd.c ${I7094D}/i7094_clk.c ${I7094D}/i7094_com.c \
+ ${I7094D}/i7094_drm.c ${I7094D}/i7094_dsk.c ${I7094D}/i7094_sys.c \
+ ${I7094D}/i7094_lp.c ${I7094D}/i7094_mt.c ${I7094D}/i7094_binloader.c
+I7094_OPT = -DUSE_INT64 -I ${I7094D}
+
+
+I650D = I650
+I650 = ${I650D}/i650_cpu.c ${I650D}/i650_cdr.c ${I650D}/i650_cdp.c \
+ ${I650D}/i650_sys.c
+I650_OPT = -I ${I650D} -DUSE_INT64 -DUSE_SIM_CARD
+
+
+IBM1130D = Ibm1130
+IBM1130 = ${IBM1130D}/ibm1130_cpu.c ${IBM1130D}/ibm1130_cr.c \
+ ${IBM1130D}/ibm1130_disk.c ${IBM1130D}/ibm1130_stddev.c \
+ ${IBM1130D}/ibm1130_sys.c ${IBM1130D}/ibm1130_gdu.c \
+ ${IBM1130D}/ibm1130_gui.c ${IBM1130D}/ibm1130_prt.c \
+ ${IBM1130D}/ibm1130_fmt.c ${IBM1130D}/ibm1130_ptrp.c \
+ ${IBM1130D}/ibm1130_plot.c ${IBM1130D}/ibm1130_sca.c \
+ ${IBM1130D}/ibm1130_t2741.c
+IBM1130_OPT = -I ${IBM1130D}
+ifneq ($(WIN32),)
+IBM1130_OPT += -DGUI_SUPPORT -lgdi32
+endif
+
+
+ID16D = Interdata
+ID16 = ${ID16D}/id16_cpu.c ${ID16D}/id16_sys.c ${ID16D}/id_dp.c \
+ ${ID16D}/id_fd.c ${ID16D}/id_fp.c ${ID16D}/id_idc.c ${ID16D}/id_io.c \
+ ${ID16D}/id_lp.c ${ID16D}/id_mt.c ${ID16D}/id_pas.c ${ID16D}/id_pt.c \
+ ${ID16D}/id_tt.c ${ID16D}/id_uvc.c ${ID16D}/id16_dboot.c ${ID16D}/id_ttp.c
+ID16_OPT = -I ${ID16D}
+
+
+ID32D = Interdata
+ID32 = ${ID32D}/id32_cpu.c ${ID32D}/id32_sys.c ${ID32D}/id_dp.c \
+ ${ID32D}/id_fd.c ${ID32D}/id_fp.c ${ID32D}/id_idc.c ${ID32D}/id_io.c \
+ ${ID32D}/id_lp.c ${ID32D}/id_mt.c ${ID32D}/id_pas.c ${ID32D}/id_pt.c \
+ ${ID32D}/id_tt.c ${ID32D}/id_uvc.c ${ID32D}/id32_dboot.c ${ID32D}/id_ttp.c
+ID32_OPT = -I ${ID32D}
+
+
+S3D = S3
+S3 = ${S3D}/s3_cd.c ${S3D}/s3_cpu.c ${S3D}/s3_disk.c ${S3D}/s3_lp.c \
+ ${S3D}/s3_pkb.c ${S3D}/s3_sys.c
+S3_OPT = -I ${S3D}
+
+
+ALTAIRD = ALTAIR
+ALTAIR = ${ALTAIRD}/altair_sio.c ${ALTAIRD}/altair_cpu.c ${ALTAIRD}/altair_dsk.c \
+ ${ALTAIRD}/altair_sys.c
+ALTAIR_OPT = -I ${ALTAIRD}
+
+
+ALTAIRZ80D = AltairZ80
+ALTAIRZ80 = ${ALTAIRZ80D}/altairz80_cpu.c ${ALTAIRZ80D}/altairz80_cpu_nommu.c \
+ ${ALTAIRZ80D}/altairz80_dsk.c ${ALTAIRZ80D}/disasm.c \
+ ${ALTAIRZ80D}/altairz80_sio.c ${ALTAIRZ80D}/altairz80_sys.c \
+ ${ALTAIRZ80D}/altairz80_hdsk.c ${ALTAIRZ80D}/altairz80_net.c \
+ ${ALTAIRZ80D}/flashwriter2.c ${ALTAIRZ80D}/i86_decode.c \
+ ${ALTAIRZ80D}/i86_ops.c ${ALTAIRZ80D}/i86_prim_ops.c \
+ ${ALTAIRZ80D}/i8272.c ${ALTAIRZ80D}/insnsd.c ${ALTAIRZ80D}/altairz80_mhdsk.c \
+ ${ALTAIRZ80D}/mfdc.c ${ALTAIRZ80D}/n8vem.c ${ALTAIRZ80D}/vfdhd.c \
+ ${ALTAIRZ80D}/s100_disk1a.c ${ALTAIRZ80D}/s100_disk2.c ${ALTAIRZ80D}/s100_disk3.c \
+ ${ALTAIRZ80D}/s100_fif.c ${ALTAIRZ80D}/s100_mdriveh.c \
+ ${ALTAIRZ80D}/s100_mdsa.c \
+ ${ALTAIRZ80D}/s100_mdsad.c ${ALTAIRZ80D}/s100_selchan.c \
+ ${ALTAIRZ80D}/s100_ss1.c ${ALTAIRZ80D}/s100_64fdc.c \
+ ${ALTAIRZ80D}/s100_scp300f.c \
+ ${ALTAIRZ80D}/wd179x.c ${ALTAIRZ80D}/s100_hdc1001.c \
+ ${ALTAIRZ80D}/s100_if3.c ${ALTAIRZ80D}/s100_adcs6.c \
+ ${ALTAIRZ80D}/m68kcpu.c ${ALTAIRZ80D}/m68kdasm.c \
+ ${ALTAIRZ80D}/m68kopac.c ${ALTAIRZ80D}/m68kopdm.c \
+ ${ALTAIRZ80D}/m68kopnz.c ${ALTAIRZ80D}/m68kops.c ${ALTAIRZ80D}/m68ksim.c
+ALTAIRZ80_OPT = -I ${ALTAIRZ80D} -DUSE_SIM_IMD
+
+
+GRID = GRI
+GRI = ${GRID}/gri_cpu.c ${GRID}/gri_stddev.c ${GRID}/gri_sys.c
+GRI_OPT = -I ${GRID}
+
+
+LGPD = LGP
+LGP = ${LGPD}/lgp_cpu.c ${LGPD}/lgp_stddev.c ${LGPD}/lgp_sys.c
+LGP_OPT = -I ${LGPD}
+
+
+SDSD = SDS
+SDS = ${SDSD}/sds_cpu.c ${SDSD}/sds_drm.c ${SDSD}/sds_dsk.c ${SDSD}/sds_io.c \
+ ${SDSD}/sds_lp.c ${SDSD}/sds_mt.c ${SDSD}/sds_mux.c ${SDSD}/sds_rad.c \
+ ${SDSD}/sds_stddev.c ${SDSD}/sds_sys.c
+SDS_OPT = -I ${SDSD}
+
+
+SWTP6800D = swtp6800/swtp6800
+SWTP6800C = swtp6800/common
+SWTP6800MP-A = ${SWTP6800C}/mp-a.c ${SWTP6800C}/m6800.c ${SWTP6800C}/m6810.c \
+ ${SWTP6800C}/bootrom.c ${SWTP6800C}/dc-4.c ${SWTP6800C}/mp-s.c ${SWTP6800D}/mp-a_sys.c \
+ ${SWTP6800C}/mp-b2.c ${SWTP6800C}/mp-8m.c
+SWTP6800MP-A2 = ${SWTP6800C}/mp-a2.c ${SWTP6800C}/m6800.c ${SWTP6800C}/m6810.c \
+ ${SWTP6800C}/bootrom.c ${SWTP6800C}/dc-4.c ${SWTP6800C}/mp-s.c ${SWTP6800D}/mp-a2_sys.c \
+ ${SWTP6800C}/mp-b2.c ${SWTP6800C}/mp-8m.c ${SWTP6800C}/i2716.c
+SWTP6800_OPT = -I ${SWTP6800D}
+
+
+ISYS8010D = Intel-Systems/isys8010
+ISYS8010C = Intel-Systems/common
+ISYS8010 = ${ISYS8010C}/i8080.c ${ISYS8010D}/isys8010_sys.c \
+ ${ISYS8010C}/i8251.c ${ISYS8010C}/i8255.c \
+ ${ISYS8010C}/ieprom.c ${ISYS8010C}/iram8.c \
+ ${ISYS8010C}/multibus.c ${ISYS8010D}/isbc8010.c \
+ ${ISYS8010C}/isbc064.c ${ISYS8010C}/isbc202.c \
+ ${ISYS8010C}/isbc201.c ${ISYS8010C}/zx200a.c
+ISYS8010_OPT = -I ${ISYS8010D}
+
+
+ISYS8020D = Intel-Systems/isys8020
+ISYS8020C = Intel-Systems/common
+ISYS8020 = ${ISYS8020C}/i8080.c ${ISYS8020D}/isys8020_sys.c \
+ ${ISYS8020C}/i8251.c ${ISYS8020C}/i8255.c \
+ ${ISYS8020C}/ieprom.c ${ISYS8020C}/iram8.c \
+ ${ISYS8020C}/multibus.c ${ISYS8020D}/isbc8020.c \
+ ${ISYS8020C}/isbc064.c ${ISYS8020C}/i8259.c \
+ ${ISYS8010C}/isbc202.c ${ISYS8010C}/isbc201.c \
+ ${ISYS8010C}/zx200a.c
+ISYS8020_OPT = -I ${ISYS8020D}
+
+
+ISYS8024D = Intel-Systems/isys8024
+ISYS8024C = Intel-Systems/common
+ISYS8024 = ${ISYS8024C}/i8080.c ${ISYS8024D}/isys8024_sys.c \
+ ${ISYS8024C}/i8251.c ${ISYS8024C}/i8253.c \
+ ${ISYS8024C}/i8255.c ${ISYS8024C}/i8259.c \
+ ${ISYS8024C}/ieprom.c ${ISYS8024C}/iram8.c \
+ ${ISYS8024C}/multibus.c ${ISYS8024D}/isbc8024.c \
+ ${ISYS8024C}/isbc064.c ${ISYS8024C}/isbc208.c \
+ ${ISYS8010C}/isbc202.c ${ISYS8010C}/isbc201.c \
+ ${ISYS8010C}/zx200a.c
+ISYS8024_OPT = -I ${ISYS8024D}
+
+
+ISYS8030D = Intel-Systems/isys8030
+ISYS8030C = Intel-Systems/common
+ISYS8030 = ${ISYS8030C}/i8080.c ${ISYS8030D}/isys8030_sys.c \
+ ${ISYS8030C}/i8251.c ${ISYS8030C}/i8255.c \
+ ${ISYS8030C}/i8259.c ${ISYS8030C}/i8253.c \
+ ${ISYS8030C}/ieprom.c ${ISYS8030C}/iram8.c \
+ ${ISYS8030C}/multibus.c ${ISYS8030D}/isbc8030.c \
+ ${ISYS8010C}/isbc202.c ${ISYS8010C}/isbc201.c \
+ ${ISYS8030C}/isbc064.c ${ISYS8010C}/zx200a.c
+ISYS8030_OPT = -I ${ISYS8030D}
+
+
+IMDS-225D = Intel-Systems/imds-225
+IMDS-225C = Intel-Systems/common
+IMDS-225 = ${IMDS-225C}/i8080.c ${IMDS-225D}/imds-225_sys.c \
+ ${IMDS-225C}/i8251.c ${IMDS-225C}/i8255.c \
+ ${IMDS-225C}/i8259.c ${IMDS-225C}/i8253.c \
+ ${IMDS-225C}/ieprom.c ${IMDS-225C}/iram8.c \
+ ${IMDS-225C}/ipcmultibus.c ${IMDS-225D}/ipc.c \
+ ${IMDS-225C}/ipc-cont.c ${IMDS-225C}/ioc-cont.c \
+ ${IMDS-225C}/isbc202.c ${IMDS-225C}/isbc201.c \
+ ${IMDS-225C}/zx200a.c
+IMDS-225_OPT = -I ${IMDS-225D}
+
+
+IBMPCD = Intel-Systems/ibmpc
+IBMPCC = Intel-Systems/common
+IBMPC = ${IBMPCC}/i8255.c ${IBMPCD}/ibmpc.c \
+ ${IBMPCC}/i8088.c ${IBMPCD}/ibmpc_sys.c \
+ ${IBMPCC}/i8253.c ${IBMPCC}/i8259.c \
+ ${IBMPCC}/pceprom.c ${IBMPCC}/pcram8.c \
+ ${IBMPCC}/i8237.c ${IBMPCC}/pcbus.c
+IBMPC_OPT = -I ${IBMPCD}
+
+
+IBMPCXTD = Intel-Systems/ibmpcxt
+IBMPCXTC = Intel-Systems/common
+IBMPCXT = ${IBMPCXTC}/i8088.c ${IBMPCXTD}/ibmpcxt_sys.c \
+ ${IBMPCXTC}/i8253.c ${IBMPCXTC}/i8259.c \
+ ${IBMPCXTC}/i8255.c ${IBMPCXTD}/ibmpcxt.c \
+ ${IBMPCXTC}/pceprom.c ${IBMPCXTC}/pcram8.c \
+ ${IBMPCXTC}/pcbus.c ${IBMPCXTC}/i8237.c
+IBMPCXT_OPT = -I ${IBMPCXTD}
+
+
+SCELBID = Intel-Systems/scelbi
+SCELBIC = Intel-Systems/common
+SCELBI = ${SCELBIC}/i8008.c ${SCELBID}/scelbi_sys.c ${SCELBID}/scelbi_io.c
+SCELBI_OPT = -I ${SCELBID}
+
+
+TX0D = TX-0
+TX0 = ${TX0D}/tx0_cpu.c ${TX0D}/tx0_dpy.c ${TX0D}/tx0_stddev.c \
+ ${TX0D}/tx0_sys.c ${TX0D}/tx0_sys_orig.c ${DISPLAYL}
+TX0_OPT = -I ${TX0D} $(DISPLAY_OPT)
+
+
+SSEMD = SSEM
+SSEM = ${SSEMD}/ssem_cpu.c ${SSEMD}/ssem_sys.c
+SSEM_OPT = -I ${SSEMD}
B5500D = B5500
B5500 = ${B5500D}/b5500_cpu.c ${B5500D}/b5500_io.c ${B5500D}/b5500_sys.c \
@@ -1203,11 +1727,132 @@ B5500 = ${B5500D}/b5500_cpu.c ${B5500D}/b5500_io.c ${B5500D}/b5500_sys.c \
${B5500D}/b5500_dr.c ${B5500D}/b5500_dtc.c
B5500_OPT = -I.. -DUSE_INT64 -DB5500 -DUSE_SIM_CARD
+BESM6D = BESM6
+BESM6 = ${BESM6D}/besm6_cpu.c ${BESM6D}/besm6_sys.c ${BESM6D}/besm6_mmu.c \
+ ${BESM6D}/besm6_arith.c ${BESM6D}/besm6_disk.c ${BESM6D}/besm6_drum.c \
+ ${BESM6D}/besm6_tty.c ${BESM6D}/besm6_panel.c ${BESM6D}/besm6_printer.c \
+ ${BESM6D}/besm6_punch.c ${BESM6D}/besm6_punchcard.c
+
+ifneq (,$(BESM6_BUILD))
+ ifneq (,$(and ${SDLX_CONFIG},${VIDEO_LDFLAGS}, $(or $(and $(call find_include,SDL2/SDL_ttf),$(call find_lib,SDL2_ttf)), $(and $(call find_include,SDL/SDL_ttf),$(call find_lib,SDL_ttf)))))
+ FONTPATH += /usr/share/fonts /Library/Fonts /usr/lib/jvm /System/Library/Frameworks/JavaVM.framework/Versions C:/Windows/Fonts
+ FONTPATH := $(dir $(foreach dir,$(strip $(FONTPATH)),$(wildcard $(dir)/.)))
+ FONTNAME += DejaVuSans.ttf LucidaSansRegular.ttf FreeSans.ttf AppleGothic.ttf tahoma.ttf
+ $(info font paths are: $(FONTPATH))
+ $(info font names are: $(FONTNAME))
+ find_fontfile = $(strip $(firstword $(foreach dir,$(strip $(FONTPATH)),$(wildcard $(dir)/$(1))$(wildcard $(dir)/*/$(1))$(wildcard $(dir)/*/*/$(1))$(wildcard $(dir)/*/*/*/$(1)))))
+ find_font = $(abspath $(strip $(firstword $(foreach font,$(strip $(FONTNAME)),$(call find_fontfile,$(font))))))
+ ifneq (,$(call find_font))
+ FONTFILE=$(call find_font)
+ else
+ $(info ***)
+ $(info *** No font file available, BESM-6 video panel disabled.)
+ $(info ***)
+ $(info *** To enable the panel display please specify one of:)
+ $(info *** a font path with FONTPATH=path)
+ $(info *** a font name with FONTNAME=fontname.ttf)
+ $(info *** a font file with FONTFILE=path/fontname.ttf)
+ $(info ***)
+ endif
+ endif
+ ifeq (,$(and ${VIDEO_LDFLAGS}, ${FONTFILE}, $(BESM6_BUILD)))
+ $(info *** No SDL ttf support available. BESM-6 video panel disabled.)
+ $(info ***)
+ ifeq (Darwin,$(OSTYPE))
+ $(info *** Info *** Install the MacPorts libSDL2-ttf development package to provide this)
+ $(info *** Info *** functionality for your OS X system:)
+ $(info *** Info *** # port install libsdl2-ttf-dev)
+ ifeq (/usr/local/bin/brew,$(shell which brew))
+ $(info *** Info ***)
+ $(info *** Info *** OR)
+ $(info *** Info ***)
+ $(info *** Info *** Install the HomeBrew sdl2_ttf package to provide this)
+ $(info *** Info *** functionality for your OS X system:)
+ $(info *** Info *** $$ brew install sdl2_ttf)
+ endif
+ else
+ ifneq (,$(and $(findstring Linux,$(OSTYPE)),$(call find_exe,apt-get)))
+ $(info *** Info *** Install the development components of libSDL-ttf or libSDL2-ttf)
+ $(info *** Info *** packaged for your Linux operating system distribution:)
+ $(info *** Info *** $$ sudo apt-get install libsdl2-ttf-dev)
+ $(info *** Info *** or)
+ $(info *** Info *** $$ sudo apt-get install libsdl-ttf-dev)
+ else
+ $(info *** Info *** Install the development components of libSDL-ttf packaged by your)
+ $(info *** Info *** operating system distribution and rebuild your simulator to)
+ $(info *** Info *** enable this extra functionality.)
+ endif
+ endif
+ BESM6_OPT = -I ${BESM6D} -DUSE_INT64
+ else ifneq (,$(and $(findstring sdl2,${VIDEO_LDFLAGS}),$(call find_include,SDL2/SDL_ttf),$(call find_lib,SDL2_ttf)))
+ $(info using libSDL2_ttf: $(call find_lib,SDL2_ttf) $(call find_include,SDL2/SDL_ttf))
+ $(info ***)
+ BESM6_OPT = -I ${BESM6D} -DFONTFILE=${FONTFILE} -DUSE_INT64 ${VIDEO_CCDEFS} ${VIDEO_LDFLAGS} -lSDL2_ttf
+ else ifneq (,$(and $(call find_include,SDL/SDL_ttf),$(call find_lib,SDL_ttf)))
+ $(info using libSDL_ttf: $(call find_lib,SDL_ttf) $(call find_include,SDL/SDL_ttf))
+ $(info ***)
+ BESM6_OPT = -I ${BESM6D} -DFONTFILE=${FONTFILE} -DUSE_INT64 ${VIDEO_CCDEFS} ${VIDEO_LDFLAGS} -lSDL_ttf
+ else
+ BESM6_OPT = -I ${BESM6D} -DUSE_INT64
+ endif
+endif
###
### Experimental simulators
###
+CDC1700D = CDC1700
+CDC1700 = ${CDC1700D}/cdc1700_cpu.c ${CDC1700D}/cdc1700_dis.c \
+ ${CDC1700D}/cdc1700_io.c ${CDC1700D}/cdc1700_sys.c \
+ ${CDC1700D}/cdc1700_dev1.c ${CDC1700D}/cdc1700_mt.c \
+ ${CDC1700D}/cdc1700_dc.c ${CDC1700D}/cdc1700_iofw.c \
+ ${CDC1700D}/cdc1700_lp.c ${CDC1700D}/cdc1700_dp.c \
+ ${CDC1700D}/cdc1700_cd.c ${CDC1700D}/cdc1700_sym.c \
+ ${CDC1700D}/cdc1700_rtc.c ${CDC1700D}/cdc1700_drm.c \
+ ${CDC1700D}/cdc1700_msos5.c
+CDC1700_OPT = -I ${CDC1700D}
+
+###
+### Unsupported/Incomplete simulators
+###
+
+SIGMAD = sigma
+SIGMA = ${SIGMAD}/sigma_cpu.c ${SIGMAD}/sigma_sys.c ${SIGMAD}/sigma_cis.c \
+ ${SIGMAD}/sigma_coc.c ${SIGMAD}/sigma_dk.c ${SIGMAD}/sigma_dp.c \
+ ${SIGMAD}/sigma_fp.c ${SIGMAD}/sigma_io.c ${SIGMAD}/sigma_lp.c \
+ ${SIGMAD}/sigma_map.c ${SIGMAD}/sigma_mt.c ${SIGMAD}/sigma_pt.c \
+ ${SIGMAD}/sigma_rad.c ${SIGMAD}/sigma_rtc.c ${SIGMAD}/sigma_tt.c
+SIGMA_OPT = -I ${SIGMAD}
+
+ALPHAD = alpha
+ALPHA = ${ALPHAD}/alpha_500au_syslist.c ${ALPHAD}/alpha_cpu.c \
+ ${ALPHAD}/alpha_ev5_cons.c ${ALPHAD}/alpha_ev5_pal.c \
+ ${ALPHAD}/alpha_ev5_tlb.c ${ALPHAD}/alpha_fpi.c \
+ ${ALPHAD}/alpha_fpv.c ${ALPHAD}/alpha_io.c \
+ ${ALPHAD}/alpha_mmu.c ${ALPHAD}/alpha_sys.c
+ALPHA_OPT = -I ${ALPHAD} -DUSE_ADDR64 -DUSE_INT64
+
+SAGED = SAGE
+SAGE = ${SAGED}/sage_cpu.c ${SAGED}/sage_sys.c ${SAGED}/sage_stddev.c \
+ ${SAGED}/sage_cons.c ${SAGED}/sage_fd.c ${SAGED}/sage_lp.c \
+ ${SAGED}/m68k_cpu.c ${SAGED}/m68k_mem.c ${SAGED}/m68k_scp.c \
+ ${SAGED}/m68k_parse.tab.c ${SAGED}/m68k_sys.c \
+ ${SAGED}/i8251.c ${SAGED}/i8253.c ${SAGED}/i8255.c ${SAGED}/i8259.c ${SAGED}/i8272.c
+SAGE_OPT = -I ${SAGED} -DHAVE_INT64 -DUSE_SIM_IMD
+
+PDQ3D = PDQ-3
+PDQ3 = ${PDQ3D}/pdq3_cpu.c ${PDQ3D}/pdq3_sys.c ${PDQ3D}/pdq3_stddev.c \
+ ${PDQ3D}/pdq3_mem.c ${PDQ3D}/pdq3_debug.c ${PDQ3D}/pdq3_fdc.c
+PDQ3_OPT = -I ${PDQ3D} -DUSE_SIM_IMD
+
+ATT3B2D = 3B2
+ATT3B2 = ${ATT3B2D}/3b2_cpu.c ${ATT3B2D}/3b2_mmu.c \
+ ${ATT3B2D}/3b2_iu.c ${ATT3B2D}/3b2_if.c \
+ ${ATT3B2D}/3b2_id.c ${ATT3B2D}/3b2_dmac.c \
+ ${ATT3B2D}/3b2_sys.c ${ATT3B2D}/3b2_io.c \
+ ${ATT3B2D}/3b2_ports.c ${ATT3B2D}/3b2_ctc.c \
+ ${ATT3B2D}/3b2_sysdev.c
+ATT3B2_OPT = -I ${ATT3B2D} -DUSE_INT64 -DUSE_ADDR64
#
# Build everything (not the unsupported/incomplete or experimental simulators)
#
@@ -1248,6 +1893,68 @@ endif
#
# Individual builds
#
+pdp1 : ${BIN}pdp1${EXE}
+
+${BIN}pdp1${EXE} : ${PDP1} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${PDP1} ${SIM} ${PDP1_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${PDP1D},pdp1))
+ $@ $(call find_test,${PDP1D},pdp1) $(TEST_ARG)
+endif
+
+pdp4 : ${BIN}pdp4${EXE}
+
+${BIN}pdp4${EXE} : ${PDP18B} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${PDP18B} ${SIM} ${PDP4_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${PDP18BD},pdp4))
+ $@ $(call find_test,${PDP18BD},pdp4) $(TEST_ARG)
+endif
+
+pdp7 : ${BIN}pdp7${EXE}
+
+${BIN}pdp7${EXE} : ${PDP18B} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${PDP18B} ${SIM} ${PDP7_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${PDP18BD},pdp7))
+ $@ $(call find_test,${PDP18BD},pdp7) $(TEST_ARG)
+endif
+
+pdp8 : ${BIN}pdp8${EXE}
+
+${BIN}pdp8${EXE} : ${PDP8} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${PDP8} ${SIM} ${PDP8_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${PDP8D},pdp8))
+ $@ $(call find_test,${PDP8D},pdp8) $(TEST_ARG)
+endif
+
+pdp9 : ${BIN}pdp9${EXE}
+
+${BIN}pdp9${EXE} : ${PDP18B} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${PDP18B} ${SIM} ${PDP9_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${PDP18BD},pdp9))
+ $@ $(call find_test,${PDP18BD},pdp9) $(TEST_ARG)
+endif
+
+pdp15 : ${BIN}pdp15${EXE}
+
+${BIN}pdp15${EXE} : ${PDP18B} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${PDP18B} ${SIM} ${PDP15_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${PDP18BD},pdp15))
+ $@ $(call find_test,${PDP18BD},pdp15) $(TEST_ARG)
+endif
+
+pdp10 : ${BIN}pdp10${EXE}
+
+${BIN}pdp10${EXE} : ${PDP10} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${PDP10} ${SIM} ${PDP10_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${PDP10D},pdp10))
+ $@ $(call find_test,${PDP10D},pdp10) $(TEST_ARG)
+endif
ka10 : pdp10-ka
@@ -1261,6 +1968,9 @@ ifeq ($(WIN32),)
else
copy $(@D)\pdp10-ka${EXE} $(@D)\ka10${EXE}
endif
+ifneq (,$(call find_test,${PDP10D},ka10))
+ $@ $(call find_test,${PDP10D},ka10) $(TEST_ARG)
+endif
ki10 : pdp10-ki
@@ -1274,62 +1984,542 @@ ifeq ($(WIN32),)
else
copy $(@D)\pdp10-ki${EXE} $(@D)\ki10${EXE}
endif
+ifneq (,$(call find_test,${PDP10D},ki10))
+ $@ $(call find_test,${PDP10D},ki10) $(TEST_ARG)
+endif
-b5500 : $(BIN)b5500$(EXE)
+pdp11 : ${BIN}BuildROMs${EXE} ${BIN}pdp11${EXE}
-${BIN}b5500${EXE} : ${B5500} ${SIM}
+${BIN}pdp11${EXE} : ${PDP11} ${SIM}
${MKDIRBIN}
- ${CC} ${B5500} ${SIM} ${B5500_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ ${CC} ${PDP11} ${SIM} ${PDP11_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${PDP11D},pdp11))
+ $@ $(call find_test,${PDP11D},pdp11) $(TEST_ARG)
+endif
+uc15 : ${BIN}uc15${EXE}
-i7090 : $(BIN)i7090$(EXE)
-
-${BIN}i7090${EXE} : ${I7090} ${SIM}
+${BIN}uc15${EXE} : ${UC15} ${SIM}
${MKDIRBIN}
- ${CC} ${I7090} ${SIM} ${I7090_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ ${CC} ${UC15} ${SIM} ${UC15_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${PDP11D},uc15))
+ $@ $(call find_test,${PDP11D},uc15) $(TEST_ARG)
+endif
-i7080 : $(BIN)i7080$(EXE)
+vax : microvax3900
-${BIN}i7080${EXE} : ${I7080} ${SIM}
+microvax3900 : ${BIN}BuildROMs${EXE} ${BIN}microvax3900${EXE}
+
+${BIN}microvax3900${EXE} : ${VAX} ${SIM} ${BUILD_ROMS}
${MKDIRBIN}
- ${CC} ${I7080} ${SIM} ${I7080_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ ${CC} ${VAX} ${SIM} ${VAX_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifeq ($(WIN32),)
+ cp ${BIN}microvax3900${EXE} ${BIN}vax${EXE}
+else
+ copy $(@D)\microvax3900${EXE} $(@D)\vax${EXE}
+endif
+ifneq (,$(call find_test,$(VAXD),vax-diag))
+ $@ $(call find_test,$(VAXD),vax-diag) $(TEST_ARG)
+endif
-i7070 : $(BIN)i7070$(EXE)
+microvax1 : ${BIN}BuildROMs${EXE} ${BIN}microvax1${EXE}
-${BIN}i7070${EXE} : ${I7070} ${SIM}
+${BIN}microvax1${EXE} : ${VAX610} ${SIM} ${BUILD_ROMS}
${MKDIRBIN}
- ${CC} ${I7070} ${SIM} ${I7070_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ ${CC} ${VAX610} ${SIM} ${VAX610_OPT} -o $@ ${LDFLAGS}
+ifneq (,$(call find_test,$(VAXD),vax-diag))
+ $@ $(call find_test,$(VAXD),vax-diag) $(TEST_ARG)
+endif
-i7010 : $(BIN)i7010$(EXE)
+rtvax1000 : ${BIN}BuildROMs${EXE} ${BIN}rtvax1000${EXE}
-${BIN}i7010${EXE} : ${I7010} ${SIM}
+${BIN}rtvax1000${EXE} : ${VAX630} ${SIM} ${BUILD_ROMS}
${MKDIRBIN}
- ${CC} ${I7010} ${SIM} ${I7010_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ ${CC} ${VAX630} ${SIM} ${VAX620_OPT} -o $@ ${LDFLAGS}
+ifneq (,$(call find_test,$(VAXD),vax-diag))
+ $@ $(call find_test,$(VAXD),vax-diag) $(TEST_ARG)
+endif
-i704 : $(BIN)i704$(EXE)
+microvax2 : ${BIN}BuildROMs${EXE} ${BIN}microvax2${EXE}
-${BIN}i704${EXE} : ${I704} ${SIM}
+${BIN}microvax2${EXE} : ${VAX630} ${SIM} ${BUILD_ROMS}
${MKDIRBIN}
- ${CC} ${I704} ${SIM} ${I704_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ ${CC} ${VAX630} ${SIM} ${VAX630_OPT} -o $@ ${LDFLAGS}
+ifneq (,$(call find_test,$(VAXD),vax-diag))
+ $@ $(call find_test,$(VAXD),vax-diag) $(TEST_ARG)
+endif
-i701 : $(BIN)i701$(EXE)
+vax730 : ${BIN}BuildROMs${EXE} ${BIN}vax730${EXE}
-${BIN}i701${EXE} : ${I701} ${SIM}
+${BIN}vax730${EXE} : ${VAX730} ${SIM} ${BUILD_ROMS}
${MKDIRBIN}
- ${CC} ${I701} ${SIM} ${I701_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ ${CC} ${VAX730} ${SIM} ${VAX730_OPT} -o $@ ${LDFLAGS}
+ifneq (,$(call find_test,$(VAXD),vax-diag))
+ $@ $(call find_test,$(VAXD),vax-diag) $(TEST_ARG)
+endif
+
+vax750 : ${BIN}BuildROMs${EXE} ${BIN}vax750${EXE}
+
+${BIN}vax750${EXE} : ${VAX750} ${SIM} ${BUILD_ROMS}
+ ${MKDIRBIN}
+ ${CC} ${VAX750} ${SIM} ${VAX750_OPT} -o $@ ${LDFLAGS}
+ifneq (,$(call find_test,$(VAXD),vax-diag))
+ $@ $(call find_test,$(VAXD),vax-diag) $(TEST_ARG)
+endif
+
+vax780 : ${BIN}BuildROMs${EXE} ${BIN}vax780${EXE}
+
+${BIN}vax780${EXE} : ${VAX780} ${SIM} ${BUILD_ROMS}
+ ${MKDIRBIN}
+ ${CC} ${VAX780} ${SIM} ${VAX780_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,$(VAXD),vax-diag))
+ $@ $(call find_test,$(VAXD),vax-diag) $(TEST_ARG)
+endif
+
+vax8600 : ${BIN}BuildROMs${EXE} ${BIN}vax8600${EXE}
+
+${BIN}vax8600${EXE} : ${VAX8600} ${SIM} ${BUILD_ROMS}
+ ${MKDIRBIN}
+ ${CC} ${VAX8600} ${SIM} ${VAX8600_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,$(VAXD),vax-diag))
+ $@ $(call find_test,$(VAXD),vax-diag) $(TEST_ARG)
+endif
+
+nova : ${BIN}nova${EXE}
+
+${BIN}nova${EXE} : ${NOVA} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${NOVA} ${SIM} ${NOVA_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${NOVAD},nova))
+ $@ $(call find_test,${NOVAD},nova) $(TEST_ARG)
+endif
+
+eclipse : ${BIN}eclipse${EXE}
+
+${BIN}eclipse${EXE} : ${ECLIPSE} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${ECLIPSE} ${SIM} ${ECLIPSE_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${NOVAD},eclipse))
+ $@ $(call find_test,${NOVAD},eclipse) $(TEST_ARG)
+endif
+
+h316 : ${BIN}h316${EXE}
+
+${BIN}h316${EXE} : ${H316} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${H316} ${SIM} ${H316_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${H316D},h316))
+ $@ $(call find_test,${H316D},h316) $(TEST_ARG)
+endif
+
+hp2100 : ${BIN}hp2100${EXE}
+
+${BIN}hp2100${EXE} : ${HP2100} ${SIM}
+ifneq (1,$(CPP_BUILD)$(CPP_FORCE))
+ ${MKDIRBIN}
+ ${CC} ${HP2100} ${SIM} ${HP2100_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${HP2100D},hp2100))
+ $@ $(call find_test,${HP2100D},hp2100) $(TEST_ARG)
+endif
+else
+ $(info hp2100 can't be built using C++)
+endif
+
+hp3000 : ${BIN}hp3000${EXE}
+
+${BIN}hp3000${EXE} : ${HP3000} ${SIM}
+ifneq (1,$(CPP_BUILD)$(CPP_FORCE))
+ ${MKDIRBIN}
+ ${CC} ${HP3000} ${SIM} ${HP3000_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${HP3000D},hp3000))
+ $@ $(call find_test,${HP3000D},hp3000) $(TEST_ARG)
+endif
+else
+ $(info hp3000 can't be built using C++)
+endif
+
+i1401 : ${BIN}i1401${EXE}
+
+${BIN}i1401${EXE} : ${I1401} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${I1401} ${SIM} ${I1401_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${I1401D},i1401))
+ $@ $(call find_test,${I1401D},i1401) $(TEST_ARG)
+endif
+
+i1620 : ${BIN}i1620${EXE}
+
+${BIN}i1620${EXE} : ${I1620} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${I1620} ${SIM} ${I1620_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${I1620D},i1620))
+ $@ $(call find_test,${I1620D},i1620) $(TEST_ARG)
+endif
+
+i7094 : ${BIN}i7094${EXE}
+
+${BIN}i7094${EXE} : ${I7094} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${I7094} ${SIM} ${I7094_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${I7094D},i7094))
+ $@ $(call find_test,${I7094D},i7094) $(TEST_ARG)
+endif
+
+ibm1130 : ${BIN}ibm1130${EXE}
+
+${BIN}ibm1130${EXE} : ${IBM1130}
+ifneq (1,$(CPP_BUILD)$(CPP_FORCE))
+ ${MKDIRBIN}
+ifneq ($(WIN32),)
+ windres ${IBM1130D}/ibm1130.rc $(BIN)ibm1130.o
+ ${CC} ${IBM1130} ${SIM} ${IBM1130_OPT} $(BIN)ibm1130.o $(CC_OUTSPEC) ${LDFLAGS}
+ del BIN\ibm1130.o
+else
+ ${CC} ${IBM1130} ${SIM} ${IBM1130_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${IBM1130D},ibm1130))
+ $@ $(call find_test,${IBM1130D},ibm1130) $(TEST_ARG)
+endif
+endif
+else
+ $(info ibm1130 can't be built using C++)
+endif
ibm360: $(BIN)ibm360$(EXE)
${BIN}ibm360${EXE}: ${IBM360} ${SIM}
${MKDIRBIN}
${CC} ${IBM360} ${SIM} ${IBM360_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${IBM360D},ibm360))
+ $@ $(call find_test,${IBM360D},ibm360) $(TEST_ARG)
+endif
icl1900: $(BIN)icl1900$(EXE)
${BIN}icl1900${EXE}: ${ICL1900} ${SIM}
${MKDIRBIN}
${CC} ${ICL1900} ${SIM} ${ICL1900_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${ICL1900D},icl1900))
+ $@ $(call find_test,${ICL1900D},icl1900) $(TEST_ARG)
+endif
+s3 : ${BIN}s3${EXE}
+
+${BIN}s3${EXE} : ${S3} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${S3} ${SIM} ${S3_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${S3D},s3))
+ $@ $(call find_test,${S3D},s3) $(TEST_ARG)
+endif
+
+altair : ${BIN}altair${EXE}
+
+${BIN}altair${EXE} : ${ALTAIR} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${ALTAIR} ${SIM} ${ALTAIR_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${ALTAIRD},altair))
+ $@ $(call find_test,${ALTAIRD},altair) $(TEST_ARG)
+endif
+
+altairz80 : ${BIN}altairz80${EXE}
+
+${BIN}altairz80${EXE} : ${ALTAIRZ80} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${ALTAIRZ80} ${SIM} ${ALTAIRZ80_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${ALTAIRZ80D},altairz80))
+ $@ $(call find_test,${ALTAIRZ80D},altairz80) $(TEST_ARG)
+endif
+
+gri : ${BIN}gri${EXE}
+
+${BIN}gri${EXE} : ${GRI} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${GRI} ${SIM} ${GRI_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${GRID},gri))
+ $@ $(call find_test,${GRID},gri) $(TEST_ARG)
+endif
+
+lgp : ${BIN}lgp${EXE}
+
+${BIN}lgp${EXE} : ${LGP} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${LGP} ${SIM} ${LGP_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${LGPD},lgp))
+ $@ $(call find_test,${LGPD},lgp) $(TEST_ARG)
+endif
+
+id16 : ${BIN}id16${EXE}
+
+${BIN}id16${EXE} : ${ID16} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${ID16} ${SIM} ${ID16_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${ID32D},id16))
+ $@ $(call find_test,${ID32D},id16) $(TEST_ARG)
+endif
+
+id32 : ${BIN}id32${EXE}
+
+${BIN}id32${EXE} : ${ID32} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${ID32} ${SIM} ${ID32_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${ID32D},id32))
+ $@ $(call find_test,${ID32D},id32) $(TEST_ARG)
+endif
+
+sds : ${BIN}sds${EXE}
+
+${BIN}sds${EXE} : ${SDS} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${SDS} ${SIM} ${SDS_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${SDSD},sds))
+ $@ $(call find_test,${SDSD},sds) $(TEST_ARG)
+endif
+
+swtp6800mp-a : ${BIN}BuildROMs${EXE} ${BIN}swtp6800mp-a${EXE}
+
+${BIN}swtp6800mp-a${EXE} : ${SWTP6800MP-A} ${SIM} ${BUILD_ROMS}
+ ${MKDIRBIN}
+ ${CC} ${SWTP6800MP-A} ${SIM} ${SWTP6800_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${SWTP6800D},swtp6800mp-a))
+ $@ $(call find_test,${SWTP6800D},swtp6800mp-a) $(TEST_ARG)
+endif
+
+swtp6800mp-a2 : ${BIN}BuildROMs${EXE} ${BIN}swtp6800mp-a2${EXE}
+
+${BIN}swtp6800mp-a2${EXE} : ${SWTP6800MP-A2} ${SIM} ${BUILD_ROMS}
+ ${MKDIRBIN}
+ ${CC} ${SWTP6800MP-A2} ${SIM} ${SWTP6800_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${SWTP6800D},swtp6800mp-a2))
+ $@ $(call find_test,${SWTP6800D},swtp6800mp-a2) $(TEST_ARG)
+endif
+
+isys8010: ${BIN}isys8010${EXE}
+
+${BIN}isys8010${EXE} : ${ISYS8010} ${SIM} ${BUILD_ROMS}
+ ${MKDIRBIN}
+ ${CC} ${ISYS8010} ${SIM} ${ISYS8010_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${ISYS8010D},isys8010))
+ $@ $(call find_test,${ISYS8010D},isys8010) $(TEST_ARG)
+endif
+
+isys8020: ${BIN}isys8020${EXE}
+
+${BIN}isys8020${EXE} : ${ISYS8020} ${SIM} ${BUILD_ROMS}
+ ${MKDIRBIN}
+ ${CC} ${ISYS8020} ${SIM} ${ISYS8020_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${ISYS8020D},isys8020))
+ $@ $(call find_test,${ISYS8020D},isys8020) $(TEST_ARG)
+endif
+
+isys8024: ${BIN}isys8024${EXE}
+
+${BIN}isys8024${EXE} : ${ISYS8024} ${SIM} ${BUILD_ROMS}
+ ${MKDIRBIN}
+ ${CC} ${ISYS8024} ${SIM} ${ISYS8024_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${ISYS8024D},isys8024))
+ $@ $(call find_test,${ISYS8024D},isys8024) $(TEST_ARG)
+endif
+
+isys8030: ${BIN}isys8030${EXE}
+
+${BIN}isys8030${EXE} : ${ISYS8030} ${SIM} ${BUILD_ROMS}
+ ${MKDIRBIN}
+ ${CC} ${ISYS8030} ${SIM} ${ISYS8030_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${ISYS8030D},isys8030))
+ $@ $(call find_test,${ISYS8030D},isys8030) $(TEST_ARG)
+endif
+
+imds-225: ${BIN}imds-225${EXE}
+
+${BIN}imds-225${EXE} : ${IMDS-225} ${SIM} ${BUILD_ROMS}
+ ${MKDIRBIN}
+ ${CC} ${IMDS-225} ${SIM} ${IMDS-225_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${IMDS-225D},imds-225))
+ $@ $(call find_test,${IMDS-225D},imds-225) $(TEST_ARG)
+endif
+
+ibmpc: ${BIN}ibmpc${EXE}
+
+${BIN}ibmpc${EXE} : ${IBMPC} ${SIM} ${BUILD_ROMS}
+ ${MKDIRBIN}
+ ${CC} ${IBMPC} ${SIM} ${IBMPC_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${IBMPCD},ibmpc))
+ $@ $(call find_test,${IBMPCD},ibmpc) $(TEST_ARG)
+endif
+
+ibmpcxt: ${BIN}ibmpcxt${EXE}
+
+${BIN}ibmpcxt${EXE} : ${IBMPCXT} ${SIM} ${BUILD_ROMS}
+ ${MKDIRBIN}
+ ${CC} ${IBMPCXT} ${SIM} ${IBMPCXT_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${IBMPCXTD},ibmpcxt))
+ $@ $(call find_test,${IBMPCXTD},ibmpcxt) $(TEST_ARG)
+endif
+
+scelbi: ${BIN}scelbi${EXE}
+
+${BIN}scelbi${EXE} : ${SCELBI} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${SCELBI} ${SIM} ${SCELBI_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${SCELBID},scelbi))
+ $@ $(call find_test,${SCELBID},scelbi) $(TEST_ARG)
+endif
+
+tx-0 : ${BIN}tx-0${EXE}
+
+${BIN}tx-0${EXE} : ${TX0} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${TX0} ${SIM} ${TX0_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${TX0D},tx-0))
+ $@ $(call find_test,${TX0D},tx-0) $(TEST_ARG)
+endif
+
+ssem : ${BIN}ssem${EXE}
+
+${BIN}ssem${EXE} : ${SSEM} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${SSEM} ${SIM} ${SSEM_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${SSEMD},ssem))
+ $@ $(call find_test,${SSEMD},ssem) $(TEST_ARG)
+endif
+
+cdc1700 : ${BIN}cdc1700${EXE}
+
+${BIN}cdc1700${EXE} : ${CDC1700} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${CDC1700} ${SIM} ${CDC1700_OPT} ${CC_OUTSPEC} ${LDFLAGS}
+ifneq (,$(call find_test,${CDC1700D},cdc1700))
+ $@ $(call find_test,${CDC1700D},cdc1700) $(TEST_ARG)
+endif
+
+besm6 : ${BIN}besm6${EXE}
+
+${BIN}besm6${EXE} : ${BESM6} ${SIM}
+ifneq (1,$(CPP_BUILD)$(CPP_FORCE))
+ ${MKDIRBIN}
+ ${CC} ${BESM6} ${SIM} ${BESM6_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${BESM6D},besm6))
+ $@ $(call find_test,${BESM6D},besm6) $(TEST_ARG)
+endif
+else
+ $(info besm6 can't be built using C++)
+endif
+
+sigma : ${BIN}sigma${EXE}
+
+${BIN}sigma${EXE} : ${SIGMA} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${SIGMA} ${SIM} ${SIGMA_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${SIGMAD},sigma))
+ $@ $(call find_test,${SIGMAD},sigma) $(TEST_ARG)
+endif
+
+alpha : ${BIN}alpha${EXE}
+
+${BIN}alpha${EXE} : ${ALPHA} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${ALPHA} ${SIM} ${ALPHA_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${ALPHAD},alpha))
+ $@ $(call find_test,${ALPHAD},alpha) $(TEST_ARG)
+endif
+
+sage : ${BIN}sage${EXE}
+
+${BIN}sage${EXE} : ${SAGE} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${SAGE} ${SIM} ${SAGE_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${SAGED},sage))
+ $@ $(call find_test,${SAGED},sage) $(TEST_ARG)
+endif
+
+pdq3 : ${BIN}pdq3${EXE}
+
+${BIN}pdq3${EXE} : ${PDQ3} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${PDQ3} ${SIM} ${PDQ3_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${PDQ3D},pdq3))
+ $@ $(call find_test,${PDQ3D},pdq3) $(TEST_ARG)
+endif
+
+b5500 : $(BIN)b5500$(EXE)
+
+${BIN}b5500${EXE} : ${B5500} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${B5500} ${SIM} ${B5500_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${B5500D},b5500))
+ $@ $(call find_test,${B5500D},b5500) $(TEST_ARG)
+endif
+
+3b2 : ${BIN}BuildROMs${EXE} $(BIN)3b2$(EXE)
+
+${BIN}3b2${EXE} : ${ATT3B2} ${SIM} ${BUILD_ROMS}
+ ${MKDIRBIN}
+ ${CC} ${ATT3B2} ${SIM} ${ATT3B2_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${ATT3B2D},3b2))
+ $@ $(call find_test,${ATT3B2D},3b2) $(TEST_ARG)
+endif
+
+i7090 : $(BIN)i7090$(EXE)
+
+${BIN}i7090${EXE} : ${I7090} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${I7090} ${SIM} ${I7090_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${I7000D},i7090))
+ $@ $(call find_test,${I7000D},i7090) $(TEST_ARG)
+endif
+
+i7080 : $(BIN)i7080$(EXE)
+
+${BIN}i7080${EXE} : ${I7080} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${I7080} ${SIM} ${I7080_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${I7080D},i7080))
+ $@ $(call find_test,${I7080D},i7080) $(TEST_ARG)
+endif
+
+i7070 : $(BIN)i7070$(EXE)
+
+${BIN}i7070${EXE} : ${I7070} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${I7070} ${SIM} ${I7070_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${I7070D},i7070))
+ $@ $(call find_test,${I7070D},i7070) $(TEST_ARG)
+endif
+
+i7010 : $(BIN)i7010$(EXE)
+
+${BIN}i7010${EXE} : ${I7010} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${I7010} ${SIM} ${I7010_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${I7010D},i7010))
+ $@ $(call find_test,${I7010D},i7010) $(TEST_ARG)
+endif
+
+i704 : $(BIN)i704$(EXE)
+
+${BIN}i704${EXE} : ${I704} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${I704} ${SIM} ${I704_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${I704D},i704))
+ $@ $(call find_test,${I704D},i704) $(TEST_ARG)
+endif
+
+i701 : $(BIN)i701$(EXE)
+
+${BIN}i701${EXE} : ${I701} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${I701} ${SIM} ${I701_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${I701D},i701))
+ $@ $(call find_test,${I701D},i701) $(TEST_ARG)
+endif
+
+i650 : $(BIN)i650$(EXE)
+
+${BIN}i650${EXE} : ${I650} ${SIM}
+ ${MKDIRBIN}
+ ${CC} ${I650} ${SIM} ${I650_OPT} $(CC_OUTSPEC) ${LDFLAGS}
+ifneq (,$(call find_test,${I650D},i650))
+ $@ $(call find_test,${I650D},i650) $(TEST_ARG)
+endif
# Front Panel API Demo/Test program
@@ -1337,5 +2527,5 @@ frontpaneltest : ${BIN}frontpaneltest${EXE}
${BIN}frontpaneltest${EXE} : frontpanel/FrontPanelTest.c sim_sock.c sim_frontpanel.c
${MKDIRBIN}
- ${CC} frontpanel/FrontPanelTest.c sim_sock.c sim_frontpanel.c $(CC_OUTSPEC) ${LDFLAGS}
+ ${CC} frontpanel/FrontPanelTest.c sim_sock.c sim_frontpanel.c $(CC_OUTSPEC) ${LDFLAGS} $(OS_CURSES_DEFS)