diff --git a/Makefile.am b/Makefile.am
index 16a88f01..b87e65e5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -64,6 +64,10 @@ EXTRA_DIST += Mkfiles/vc/genmacro/genmacro.vcproj
EXTRA_DIST += Mkfiles/vc/genmacro/run.bat
EXTRA_DIST += Mkfiles/vc/genmodule/genmodule.vcproj
EXTRA_DIST += Mkfiles/vc/genmodule/run.bat
+EXTRA_DIST += Mkfiles/vc/genstring/genstring.vcproj
+EXTRA_DIST += Mkfiles/vc/genstring/run.bat
+EXTRA_DIST += Mkfiles/vc/genversion/genversion.vcproj
+EXTRA_DIST += Mkfiles/vc/genversion/run.bat
EXTRA_DIST += Mkfiles/vc/libyasm/libyasm.vcproj
EXTRA_DIST += Mkfiles/vc/modules/modules.vcproj
EXTRA_DIST += Mkfiles/vc/re2c/re2c.vcproj
@@ -80,6 +84,10 @@ EXTRA_DIST += Mkfiles/vc8/genmacro/genmacro.vcproj
EXTRA_DIST += Mkfiles/vc8/genmacro/run.bat
EXTRA_DIST += Mkfiles/vc8/genmodule/genmodule.vcproj
EXTRA_DIST += Mkfiles/vc8/genmodule/run.bat
+EXTRA_DIST += Mkfiles/vc8/genstring/genstring.vcproj
+EXTRA_DIST += Mkfiles/vc8/genstring/run.bat
+EXTRA_DIST += Mkfiles/vc8/genversion/genversion.vcproj
+EXTRA_DIST += Mkfiles/vc8/genversion/run.bat
EXTRA_DIST += Mkfiles/vc8/libyasm/libyasm.vcproj
EXTRA_DIST += Mkfiles/vc8/modules/modules.vcproj
EXTRA_DIST += Mkfiles/vc8/re2c/re2c.vcproj
diff --git a/Mkfiles/Makefile.dj b/Mkfiles/Makefile.dj
index 421bc692..ebb57028 100644
--- a/Mkfiles/Makefile.dj
+++ b/Mkfiles/Makefile.dj
@@ -134,14 +134,28 @@ YASM_OBJS= \
$(LIBYASM_OBJS) \
$(MODULES_OBJS)
+genstring: genstring.c
+ $(BUILDCC) -o $@ $<
+
+license.c: COPYING genstring
+ ./genstring license_msg $@ COPYING
+
+frontends/yasm/yasm.c: license.c
+
genmacro: modules/preprocs/nasm/genmacro.c
$(BUILDCC) -o $@ $<
-nasm-macros.c: modules/preprocs/nasm/standard.mac genmacro
- ./genmacro modules/preprocs/nasm/standard.mac
+nasm-macros.c: modules/preprocs/nasm/standard.mac version.mac genmacro
+ ./genmacro modules/preprocs/nasm/standard.mac version.mac
modules/preprocs/nasm/nasm-pp.c: nasm-macros.c
+genversion: modules/preprocs/nasm/genversion.c
+ $(BUILDCC) -o $@ $<
+
+version.mac: genversion
+ ./genversion $@
+
genmodule: libyasm/genmodule.c
$(BUILDCC) -o $@ $<
diff --git a/Mkfiles/Makefile.flat b/Mkfiles/Makefile.flat
index 7e34bd24..6b357ef7 100644
--- a/Mkfiles/Makefile.flat
+++ b/Mkfiles/Makefile.flat
@@ -137,14 +137,28 @@ YASM_OBJS= \
$(LIBYASM_OBJS) \
$(MODULES_OBJS)
+genstring: genstring.c
+ $(BUILDCC) -o $@ $<
+
+license.c: COPYING genstring
+ ./genstring license_msg $@ COPYING
+
+frontends/yasm/yasm.c: license.c
+
genmacro: modules/preprocs/nasm/genmacro.c
$(BUILDCC) -o $@ $<
-nasm-macros.c: modules/preprocs/nasm/standard.mac genmacro
- ./genmacro modules/preprocs/nasm/standard.mac
+nasm-macros.c: modules/preprocs/nasm/standard.mac version.mac genmacro
+ ./genmacro modules/preprocs/nasm/standard.mac version.mac
modules/preprocs/nasm/nasm-pp.c: nasm-macros.c
+genversion: modules/preprocs/nasm/genversion.c
+ $(BUILDCC) -o $@ $<
+
+version.mac: genversion
+ ./genversion $@
+
genmodule: libyasm/genmodule.c
$(BUILDCC) -o $@ $<
diff --git a/Mkfiles/vc/genmacro/run.bat b/Mkfiles/vc/genmacro/run.bat
index 83e80ab8..f3323e72 100644
--- a/Mkfiles/vc/genmacro/run.bat
+++ b/Mkfiles/vc/genmacro/run.bat
@@ -1,2 +1,2 @@
cd ..\..\..
-%1 modules\preprocs\nasm\standard.mac
+%1 modules\preprocs\nasm\standard.mac version.mac
diff --git a/Mkfiles/vc/genstring/genstring.vcproj b/Mkfiles/vc/genstring/genstring.vcproj
new file mode 100644
index 00000000..cc1ba413
--- /dev/null
+++ b/Mkfiles/vc/genstring/genstring.vcproj
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Mkfiles/vc/genstring/run.bat b/Mkfiles/vc/genstring/run.bat
new file mode 100644
index 00000000..5864b1dc
--- /dev/null
+++ b/Mkfiles/vc/genstring/run.bat
@@ -0,0 +1,2 @@
+cd ..\..\..
+%1 license_msg license.c COPYING
diff --git a/Mkfiles/vc/genversion/genversion.vcproj b/Mkfiles/vc/genversion/genversion.vcproj
new file mode 100644
index 00000000..35d1fb87
--- /dev/null
+++ b/Mkfiles/vc/genversion/genversion.vcproj
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Mkfiles/vc/genversion/run.bat b/Mkfiles/vc/genversion/run.bat
new file mode 100644
index 00000000..30edf8f1
--- /dev/null
+++ b/Mkfiles/vc/genversion/run.bat
@@ -0,0 +1,2 @@
+cd ..\..\..
+%1 version.mac
diff --git a/Mkfiles/vc/yasm.sln b/Mkfiles/vc/yasm.sln
index e496f2da..8921a59d 100644
--- a/Mkfiles/vc/yasm.sln
+++ b/Mkfiles/vc/yasm.sln
@@ -16,9 +16,15 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yasm", "yasm.vcproj", "{34E
ProjectSection(ProjectDependencies) = postProject
{29FE7874-1256-4AD6-B889-68E399DC9608} = {29FE7874-1256-4AD6-B889-68E399DC9608}
{D715A3D4-EFAA-442E-AD8B-5B4FF64E1DD6} = {D715A3D4-EFAA-442E-AD8B-5B4FF64E1DD6}
+ {021CEB0A-F721-4F59-B349-9CEEAF244459} = {021CEB0A-F721-4F59-B349-9CEEAF244459}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genmacro", "genmacro\genmacro.vcproj", "{225700A5-07B8-434E-AD61-555278BF6733}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B545983B-8EE0-4A7B-A67A-E749EEAE62A2} = {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genversion", "genversion\genversion.vcproj", "{B545983B-8EE0-4A7B-A67A-E749EEAE62A2}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
@@ -34,6 +40,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genmodule", "genmodule\genm
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genstring", "genstring\genstring.vcproj", "{021CEB0A-F721-4F59-B349-9CEEAF244459}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
@@ -56,6 +66,10 @@ Global
{225700A5-07B8-434E-AD61-555278BF6733}.Debug.Build.0 = Debug|Win32
{225700A5-07B8-434E-AD61-555278BF6733}.Release.ActiveCfg = Release|Win32
{225700A5-07B8-434E-AD61-555278BF6733}.Release.Build.0 = Release|Win32
+ {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Debug.ActiveCfg = Debug|Win32
+ {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Debug.Build.0 = Debug|Win32
+ {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Release.ActiveCfg = Release|Win32
+ {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Release.Build.0 = Release|Win32
{3C58BE13-50A3-4583-984D-D8902B3D7713}.Debug.ActiveCfg = Debug|Win32
{3C58BE13-50A3-4583-984D-D8902B3D7713}.Debug.Build.0 = Debug|Win32
{3C58BE13-50A3-4583-984D-D8902B3D7713}.Release.ActiveCfg = Release|Win32
@@ -68,6 +82,10 @@ Global
{F0E8B707-00C5-4FF2-B8EF-7C39817132A0}.Debug.Build.0 = Debug|Win32
{F0E8B707-00C5-4FF2-B8EF-7C39817132A0}.Release.ActiveCfg = Release|Win32
{F0E8B707-00C5-4FF2-B8EF-7C39817132A0}.Release.Build.0 = Release|Win32
+ {021CEB0A-F721-4F59-B349-9CEEAF244459}.Debug.ActiveCfg = Debug|Win32
+ {021CEB0A-F721-4F59-B349-9CEEAF244459}.Debug.Build.0 = Debug|Win32
+ {021CEB0A-F721-4F59-B349-9CEEAF244459}.Release.ActiveCfg = Release|Win32
+ {021CEB0A-F721-4F59-B349-9CEEAF244459}.Release.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
diff --git a/Mkfiles/vc8/genmacro/run.bat b/Mkfiles/vc8/genmacro/run.bat
index 83e80ab8..f3323e72 100644
--- a/Mkfiles/vc8/genmacro/run.bat
+++ b/Mkfiles/vc8/genmacro/run.bat
@@ -1,2 +1,2 @@
cd ..\..\..
-%1 modules\preprocs\nasm\standard.mac
+%1 modules\preprocs\nasm\standard.mac version.mac
diff --git a/Mkfiles/vc8/genstring/genstring.vcproj b/Mkfiles/vc8/genstring/genstring.vcproj
new file mode 100644
index 00000000..7722dfd2
--- /dev/null
+++ b/Mkfiles/vc8/genstring/genstring.vcproj
@@ -0,0 +1,199 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Mkfiles/vc8/genstring/run.bat b/Mkfiles/vc8/genstring/run.bat
new file mode 100644
index 00000000..5864b1dc
--- /dev/null
+++ b/Mkfiles/vc8/genstring/run.bat
@@ -0,0 +1,2 @@
+cd ..\..\..
+%1 license_msg license.c COPYING
diff --git a/Mkfiles/vc8/genversion/genversion.vcproj b/Mkfiles/vc8/genversion/genversion.vcproj
new file mode 100644
index 00000000..a14cd5e7
--- /dev/null
+++ b/Mkfiles/vc8/genversion/genversion.vcproj
@@ -0,0 +1,199 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Mkfiles/vc8/genversion/run.bat b/Mkfiles/vc8/genversion/run.bat
new file mode 100644
index 00000000..30edf8f1
--- /dev/null
+++ b/Mkfiles/vc8/genversion/run.bat
@@ -0,0 +1,2 @@
+cd ..\..\..
+%1 version.mac
diff --git a/Mkfiles/vc8/yasm.sln b/Mkfiles/vc8/yasm.sln
index 274cf5bd..3d14dcd4 100644
--- a/Mkfiles/vc8/yasm.sln
+++ b/Mkfiles/vc8/yasm.sln
@@ -17,9 +17,15 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yasm", "yasm.vcproj", "{34E
ProjectSection(ProjectDependencies) = postProject
{29FE7874-1256-4AD6-B889-68E399DC9608} = {29FE7874-1256-4AD6-B889-68E399DC9608}
{D715A3D4-EFAA-442E-AD8B-5B4FF64E1DD6} = {D715A3D4-EFAA-442E-AD8B-5B4FF64E1DD6}
+ {021CEB0A-F721-4F59-B349-9CEEAF244459} = {021CEB0A-F721-4F59-B349-9CEEAF244459}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genmacro", "genmacro\genmacro.vcproj", "{225700A5-07B8-434E-AD61-555278BF6733}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B545983B-8EE0-4A7B-A67A-E749EEAE62A2} = {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genversion", "genversion\genversion.vcproj", "{B545983B-8EE0-4A7B-A67A-E749EEAE62A2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "re2c", "re2c\re2c.vcproj", "{3C58BE13-50A3-4583-984D-D8902B3D7713}"
EndProject
@@ -27,6 +33,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gap", "gap\gap.vcproj", "{5
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genmodule", "genmodule\genmodule.vcproj", "{F0E8B707-00C5-4FF2-B8EF-7C39817132A0}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genstring", "genstring\genstring.vcproj", "{021CEB0A-F721-4F59-B349-9CEEAF244459}"
+EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{825AC694-358C-4D8D-92DE-33A2691978CE}"
ProjectSection(SolutionItems) = preProject
readme.vc8.txt = readme.vc8.txt
@@ -72,6 +80,14 @@ Global
{225700A5-07B8-434E-AD61-555278BF6733}.Release|Win32.Build.0 = Release|Win32
{225700A5-07B8-434E-AD61-555278BF6733}.Release|x64.ActiveCfg = Release|Win32
{225700A5-07B8-434E-AD61-555278BF6733}.Release|x64.Build.0 = Release|Win32
+ {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Debug|Win32.Build.0 = Debug|Win32
+ {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Debug|x64.ActiveCfg = Debug|Win32
+ {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Debug|x64.Build.0 = Debug|Win32
+ {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Release|Win32.ActiveCfg = Release|Win32
+ {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Release|Win32.Build.0 = Release|Win32
+ {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Release|x64.ActiveCfg = Release|Win32
+ {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Release|x64.Build.0 = Release|Win32
{3C58BE13-50A3-4583-984D-D8902B3D7713}.Debug|Win32.ActiveCfg = Debug|Win32
{3C58BE13-50A3-4583-984D-D8902B3D7713}.Debug|Win32.Build.0 = Debug|Win32
{3C58BE13-50A3-4583-984D-D8902B3D7713}.Debug|x64.ActiveCfg = Debug|Win32
@@ -96,6 +112,14 @@ Global
{F0E8B707-00C5-4FF2-B8EF-7C39817132A0}.Release|Win32.Build.0 = Release|Win32
{F0E8B707-00C5-4FF2-B8EF-7C39817132A0}.Release|x64.ActiveCfg = Release|Win32
{F0E8B707-00C5-4FF2-B8EF-7C39817132A0}.Release|x64.Build.0 = Release|Win32
+ {021CEB0A-F721-4F59-B349-9CEEAF244459}.Debug|Win32.ActiveCfg = Debug|Win32
+ {021CEB0A-F721-4F59-B349-9CEEAF244459}.Debug|Win32.Build.0 = Debug|Win32
+ {021CEB0A-F721-4F59-B349-9CEEAF244459}.Debug|x64.ActiveCfg = Debug|Win32
+ {021CEB0A-F721-4F59-B349-9CEEAF244459}.Debug|x64.Build.0 = Debug|Win32
+ {021CEB0A-F721-4F59-B349-9CEEAF244459}.Release|Win32.ActiveCfg = Release|Win32
+ {021CEB0A-F721-4F59-B349-9CEEAF244459}.Release|Win32.Build.0 = Release|Win32
+ {021CEB0A-F721-4F59-B349-9CEEAF244459}.Release|x64.ActiveCfg = Release|Win32
+ {021CEB0A-F721-4F59-B349-9CEEAF244459}.Release|x64.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE