From 8e5a132e13587cab84441f232e602df23c7fa5b9 Mon Sep 17 00:00:00 2001 From: Dimitar Trendafilov Date: Thu, 15 Nov 2018 09:41:29 +0200 Subject: Split spasm to lib and executable - added solution folders --- JSImpl/solution/JSImpl.sln | 67 +++++++---- JSImpl/solution/JSImpl.vcxproj | 2 + JSImpl/solution/JSLib.vcxproj | 14 ++- JSImpl/solution/JSLib.vcxproj.filters | 20 ++-- JSImpl/solution/Makefile | 36 +++--- JSImpl/solution/genie.lua | 35 +++--- JSImpl/test/Test.make | 8 +- JSImpl/test/Test.vcxproj | 11 +- JSImpl/test/genie.lua | 63 +++++----- JSImpl/test/gmock.vcxproj | 14 ++- JSImpl/test/gmock.vcxproj.filters | 22 ++-- JSImpl/test/gtest.vcxproj | 12 +- JSImpl/test/gtest.vcxproj.filters | 16 +-- JSImpl/test/gtest_main.vcxproj | 2 + spasm/solution/genie.lua | 15 ++- spasm/solution/spasm.make | 44 +------ spasm/solution/spasm.vcxproj | 19 ++- spasm/solution/spasm.vcxproj.filters | 18 --- spasm/solution/spasm_lib.make | 196 +++++++++++++++++++++++++++++++ spasm/solution/spasm_lib.vcxproj | 131 +++++++++++++++++++++ spasm/solution/spasm_lib.vcxproj.filters | 31 +++++ spasm/solution/sprt.vcxproj | 2 + spasm/solution/sprun.vcxproj | 2 + 23 files changed, 573 insertions(+), 207 deletions(-) create mode 100644 spasm/solution/spasm_lib.make create mode 100644 spasm/solution/spasm_lib.vcxproj create mode 100644 spasm/solution/spasm_lib.vcxproj.filters diff --git a/JSImpl/solution/JSImpl.sln b/JSImpl/solution/JSImpl.sln index 9915cf9..17799fc 100644 --- a/JSImpl/solution/JSImpl.sln +++ b/JSImpl/solution/JSImpl.sln @@ -1,15 +1,33 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Spasm", "Spasm", "{9892E17D-8434-0C54-6DEF-1FA8593093A4}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "gtest", "gtest", "{1BAF0A7D-0751-3553-F00B-49A7DC4CBCA3}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "JSImpl", "JSImpl", "{C30B5025-2FEB-CEC0-3803-5A97A4613522}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sprun", "..\..\spasm\solution\sprun.vcxproj", "{FD605F10-6975-87C1-32F7-2A219ECA83F2}" + ProjectSection(ProjectDependencies) = postProject + {AE0A9E7C-9A41-9F0D-432E-85102F441B0F} = {AE0A9E7C-9A41-9F0D-432E-85102F441B0F} + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Test", "..\test\Test.vcxproj", "{45DC8C7C-3113-8E0D-DAFF-7310C6150A0F}" ProjectSection(ProjectDependencies) = postProject {AE0A9E7C-9A41-9F0D-432E-85102F441B0F} = {AE0A9E7C-9A41-9F0D-432E-85102F441B0F} + {3F16CDE1-AB80-8158-F4BE-32FE60685FAD} = {3F16CDE1-AB80-8158-F4BE-32FE60685FAD} {19EA680D-85FE-90BE-4E80-341EBA538DEF} = {19EA680D-85FE-90BE-4E80-341EBA538DEF} {EC34880F-5849-B0C0-21CB-53208D9EACF1} = {EC34880F-5849-B0C0-21CB-53208D9EACF1} {B686840F-229B-ACC0-EB1C-502057F0A8F1} = {B686840F-229B-ACC0-EB1C-502057F0A8F1} {30B03E7E-1C68-80CB-856F-592771461BBC} = {30B03E7E-1C68-80CB-856F-592771461BBC} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest", "..\test\gtest.vcxproj", "{EC34880F-5849-B0C0-21CB-53208D9EACF1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gmock", "..\test\gmock.vcxproj", "{B686840F-229B-ACC0-EB1C-502057F0A8F1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_main", "..\test\gtest_main.vcxproj", "{30B03E7E-1C68-80CB-856F-592771461BBC}" +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSLib", "JSLib.vcxproj", "{19EA680D-85FE-90BE-4E80-341EBA538DEF}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSImpl", "JSImpl.vcxproj", "{549B84BA-403D-AF90-29F8-C2E4153936E1}" @@ -17,19 +35,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSImpl", "JSImpl.vcxproj", {19EA680D-85FE-90BE-4E80-341EBA538DEF} = {19EA680D-85FE-90BE-4E80-341EBA538DEF} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest", "..\test\gtest.vcxproj", "{EC34880F-5849-B0C0-21CB-53208D9EACF1}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gmock", "..\test\gmock.vcxproj", "{B686840F-229B-ACC0-EB1C-502057F0A8F1}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_main", "..\test\gtest_main.vcxproj", "{30B03E7E-1C68-80CB-856F-592771461BBC}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sprt", "..\..\spasm\solution\sprt.vcxproj", "{AE0A9E7C-9A41-9F0D-432E-85102F441B0F}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spasm", "..\..\spasm\solution\spasm.vcxproj", "{69185F10-D52C-87C1-9EAE-2A210A8283F2}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spasm_lib", "..\..\spasm\solution\spasm_lib.vcxproj", "{3F16CDE1-AB80-8158-F4BE-32FE60685FAD}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sprun", "..\..\spasm\solution\sprun.vcxproj", "{FD605F10-6975-87C1-32F7-2A219ECA83F2}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spasm", "..\..\spasm\solution\spasm.vcxproj", "{69185F10-D52C-87C1-9EAE-2A210A8283F2}" ProjectSection(ProjectDependencies) = postProject - {AE0A9E7C-9A41-9F0D-432E-85102F441B0F} = {AE0A9E7C-9A41-9F0D-432E-85102F441B0F} + {3F16CDE1-AB80-8158-F4BE-32FE60685FAD} = {3F16CDE1-AB80-8158-F4BE-32FE60685FAD} EndProjectSection EndProject Global @@ -38,18 +50,14 @@ Global Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FD605F10-6975-87C1-32F7-2A219ECA83F2}.Debug|x64.ActiveCfg = Debug|x64 + {FD605F10-6975-87C1-32F7-2A219ECA83F2}.Debug|x64.Build.0 = Debug|x64 + {FD605F10-6975-87C1-32F7-2A219ECA83F2}.Release|x64.ActiveCfg = Release|x64 + {FD605F10-6975-87C1-32F7-2A219ECA83F2}.Release|x64.Build.0 = Release|x64 {45DC8C7C-3113-8E0D-DAFF-7310C6150A0F}.Debug|x64.ActiveCfg = Debug|x64 {45DC8C7C-3113-8E0D-DAFF-7310C6150A0F}.Debug|x64.Build.0 = Debug|x64 {45DC8C7C-3113-8E0D-DAFF-7310C6150A0F}.Release|x64.ActiveCfg = Release|x64 {45DC8C7C-3113-8E0D-DAFF-7310C6150A0F}.Release|x64.Build.0 = Release|x64 - {19EA680D-85FE-90BE-4E80-341EBA538DEF}.Debug|x64.ActiveCfg = Debug|x64 - {19EA680D-85FE-90BE-4E80-341EBA538DEF}.Debug|x64.Build.0 = Debug|x64 - {19EA680D-85FE-90BE-4E80-341EBA538DEF}.Release|x64.ActiveCfg = Release|x64 - {19EA680D-85FE-90BE-4E80-341EBA538DEF}.Release|x64.Build.0 = Release|x64 - {549B84BA-403D-AF90-29F8-C2E4153936E1}.Debug|x64.ActiveCfg = Debug|x64 - {549B84BA-403D-AF90-29F8-C2E4153936E1}.Debug|x64.Build.0 = Debug|x64 - {549B84BA-403D-AF90-29F8-C2E4153936E1}.Release|x64.ActiveCfg = Release|x64 - {549B84BA-403D-AF90-29F8-C2E4153936E1}.Release|x64.Build.0 = Release|x64 {EC34880F-5849-B0C0-21CB-53208D9EACF1}.Debug|x64.ActiveCfg = Debug|x64 {EC34880F-5849-B0C0-21CB-53208D9EACF1}.Debug|x64.Build.0 = Debug|x64 {EC34880F-5849-B0C0-21CB-53208D9EACF1}.Release|x64.ActiveCfg = Release|x64 @@ -62,22 +70,39 @@ Global {30B03E7E-1C68-80CB-856F-592771461BBC}.Debug|x64.Build.0 = Debug|x64 {30B03E7E-1C68-80CB-856F-592771461BBC}.Release|x64.ActiveCfg = Release|x64 {30B03E7E-1C68-80CB-856F-592771461BBC}.Release|x64.Build.0 = Release|x64 + {19EA680D-85FE-90BE-4E80-341EBA538DEF}.Debug|x64.ActiveCfg = Debug|x64 + {19EA680D-85FE-90BE-4E80-341EBA538DEF}.Debug|x64.Build.0 = Debug|x64 + {19EA680D-85FE-90BE-4E80-341EBA538DEF}.Release|x64.ActiveCfg = Release|x64 + {19EA680D-85FE-90BE-4E80-341EBA538DEF}.Release|x64.Build.0 = Release|x64 + {549B84BA-403D-AF90-29F8-C2E4153936E1}.Debug|x64.ActiveCfg = Debug|x64 + {549B84BA-403D-AF90-29F8-C2E4153936E1}.Debug|x64.Build.0 = Debug|x64 + {549B84BA-403D-AF90-29F8-C2E4153936E1}.Release|x64.ActiveCfg = Release|x64 + {549B84BA-403D-AF90-29F8-C2E4153936E1}.Release|x64.Build.0 = Release|x64 {AE0A9E7C-9A41-9F0D-432E-85102F441B0F}.Debug|x64.ActiveCfg = Debug|x64 {AE0A9E7C-9A41-9F0D-432E-85102F441B0F}.Debug|x64.Build.0 = Debug|x64 {AE0A9E7C-9A41-9F0D-432E-85102F441B0F}.Release|x64.ActiveCfg = Release|x64 {AE0A9E7C-9A41-9F0D-432E-85102F441B0F}.Release|x64.Build.0 = Release|x64 + {3F16CDE1-AB80-8158-F4BE-32FE60685FAD}.Debug|x64.ActiveCfg = Debug|x64 + {3F16CDE1-AB80-8158-F4BE-32FE60685FAD}.Debug|x64.Build.0 = Debug|x64 + {3F16CDE1-AB80-8158-F4BE-32FE60685FAD}.Release|x64.ActiveCfg = Release|x64 + {3F16CDE1-AB80-8158-F4BE-32FE60685FAD}.Release|x64.Build.0 = Release|x64 {69185F10-D52C-87C1-9EAE-2A210A8283F2}.Debug|x64.ActiveCfg = Debug|x64 {69185F10-D52C-87C1-9EAE-2A210A8283F2}.Debug|x64.Build.0 = Debug|x64 {69185F10-D52C-87C1-9EAE-2A210A8283F2}.Release|x64.ActiveCfg = Release|x64 {69185F10-D52C-87C1-9EAE-2A210A8283F2}.Release|x64.Build.0 = Release|x64 - {FD605F10-6975-87C1-32F7-2A219ECA83F2}.Debug|x64.ActiveCfg = Debug|x64 - {FD605F10-6975-87C1-32F7-2A219ECA83F2}.Debug|x64.Build.0 = Debug|x64 - {FD605F10-6975-87C1-32F7-2A219ECA83F2}.Release|x64.ActiveCfg = Release|x64 - {FD605F10-6975-87C1-32F7-2A219ECA83F2}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution + {FD605F10-6975-87C1-32F7-2A219ECA83F2} = {9892E17D-8434-0C54-6DEF-1FA8593093A4} + {EC34880F-5849-B0C0-21CB-53208D9EACF1} = {1BAF0A7D-0751-3553-F00B-49A7DC4CBCA3} + {B686840F-229B-ACC0-EB1C-502057F0A8F1} = {1BAF0A7D-0751-3553-F00B-49A7DC4CBCA3} + {30B03E7E-1C68-80CB-856F-592771461BBC} = {1BAF0A7D-0751-3553-F00B-49A7DC4CBCA3} + {19EA680D-85FE-90BE-4E80-341EBA538DEF} = {C30B5025-2FEB-CEC0-3803-5A97A4613522} + {549B84BA-403D-AF90-29F8-C2E4153936E1} = {C30B5025-2FEB-CEC0-3803-5A97A4613522} + {AE0A9E7C-9A41-9F0D-432E-85102F441B0F} = {9892E17D-8434-0C54-6DEF-1FA8593093A4} + {3F16CDE1-AB80-8158-F4BE-32FE60685FAD} = {9892E17D-8434-0C54-6DEF-1FA8593093A4} + {69185F10-D52C-87C1-9EAE-2A210A8283F2} = {9892E17D-8434-0C54-6DEF-1FA8593093A4} EndGlobalSection EndGlobal diff --git a/JSImpl/solution/JSImpl.vcxproj b/JSImpl/solution/JSImpl.vcxproj index 8b58a96..0aa8deb 100644 --- a/JSImpl/solution/JSImpl.vcxproj +++ b/JSImpl/solution/JSImpl.vcxproj @@ -21,11 +21,13 @@ Application true v140 + x64 Application false v140 + x64 diff --git a/JSImpl/solution/JSLib.vcxproj b/JSImpl/solution/JSLib.vcxproj index bb5c860..1d0f63a 100644 --- a/JSImpl/solution/JSLib.vcxproj +++ b/JSImpl/solution/JSLib.vcxproj @@ -21,11 +21,13 @@ StaticLibrary true v140 + x64 StaticLibrary false v140 + x64 @@ -111,23 +113,23 @@ + + + - - - - - + + - + diff --git a/JSImpl/solution/JSLib.vcxproj.filters b/JSImpl/solution/JSLib.vcxproj.filters index a5801c7..afcbbb9 100644 --- a/JSImpl/solution/JSLib.vcxproj.filters +++ b/JSImpl/solution/JSLib.vcxproj.filters @@ -9,25 +9,25 @@ src - + src - + src - + src - + src - + src - + src - + src @@ -35,16 +35,16 @@ - + src - + src src - + src diff --git a/JSImpl/solution/Makefile b/JSImpl/solution/Makefile index b920fc7..00cafb3 100644 --- a/JSImpl/solution/Makefile +++ b/JSImpl/solution/Makefile @@ -6,21 +6,13 @@ ifndef config endif export config -PROJECTS := JSImpl JSLib Test gmock gtest gtest_main spasm sprt sprun +PROJECTS := JSImpl JSLib Test gmock gtest gtest_main spasm spasm_lib sprt sprun .PHONY: all clean help $(PROJECTS) all: $(PROJECTS) -JSLib: - @echo "==== Building JSLib ($(config)) ====" - @${MAKE} --no-print-directory -C . -f JSLib.make - -JSImpl: JSLib - @echo "==== Building JSImpl ($(config)) ====" - @${MAKE} --no-print-directory -C . -f JSImpl.make - -Test: sprt JSLib gtest gmock gtest_main +Test: sprt spasm_lib JSLib gtest gmock gtest_main @echo "==== Building Test ($(config)) ====" @${MAKE} --no-print-directory -C ../test -f Test.make @@ -36,11 +28,23 @@ gtest_main: @echo "==== Building gtest_main ($(config)) ====" @${MAKE} --no-print-directory -C ../test -f gtest_main.make +JSLib: + @echo "==== Building JSLib ($(config)) ====" + @${MAKE} --no-print-directory -C . -f JSLib.make + +JSImpl: JSLib + @echo "==== Building JSImpl ($(config)) ====" + @${MAKE} --no-print-directory -C . -f JSImpl.make + sprt: @echo "==== Building sprt ($(config)) ====" @${MAKE} --no-print-directory -C ../../spasm/solution -f sprt.make -spasm: +spasm_lib: + @echo "==== Building spasm_lib ($(config)) ====" + @${MAKE} --no-print-directory -C ../../spasm/solution -f spasm_lib.make + +spasm: spasm_lib @echo "==== Building spasm ($(config)) ====" @${MAKE} --no-print-directory -C ../../spasm/solution -f spasm.make @@ -49,13 +53,14 @@ sprun: sprt @${MAKE} --no-print-directory -C ../../spasm/solution -f sprun.make clean: - @${MAKE} --no-print-directory -C . -f JSLib.make clean - @${MAKE} --no-print-directory -C . -f JSImpl.make clean @${MAKE} --no-print-directory -C ../test -f Test.make clean @${MAKE} --no-print-directory -C ../test -f gtest.make clean @${MAKE} --no-print-directory -C ../test -f gmock.make clean @${MAKE} --no-print-directory -C ../test -f gtest_main.make clean + @${MAKE} --no-print-directory -C . -f JSLib.make clean + @${MAKE} --no-print-directory -C . -f JSImpl.make clean @${MAKE} --no-print-directory -C ../../spasm/solution -f sprt.make clean + @${MAKE} --no-print-directory -C ../../spasm/solution -f spasm_lib.make clean @${MAKE} --no-print-directory -C ../../spasm/solution -f spasm.make clean @${MAKE} --no-print-directory -C ../../spasm/solution -f sprun.make clean @@ -69,13 +74,14 @@ help: @echo "TARGETS:" @echo " all (default)" @echo " clean" - @echo " JSLib" - @echo " JSImpl" @echo " Test" @echo " gtest" @echo " gmock" @echo " gtest_main" + @echo " JSLib" + @echo " JSImpl" @echo " sprt" + @echo " spasm_lib" @echo " spasm" @echo " sprun" @echo "" diff --git a/JSImpl/solution/genie.lua b/JSImpl/solution/genie.lua index 28a8515..aa5889d 100644 --- a/JSImpl/solution/genie.lua +++ b/JSImpl/solution/genie.lua @@ -24,21 +24,24 @@ solution 'JSImpl' objdir(root .. 'obj/Release') configuration '*' - project 'JSLib' - kind 'StaticLib' - language 'C++' - uuid(os.uuid('JSLib')) - files '../src/*.cpp' - removefiles '../src/main.cpp' - files '../src/*.h' - - project 'JSImpl' - kind 'ConsoleApp' - language 'C++' - uuid(os.uuid('JSImpl')) - files '../src/main.cpp' - links 'JSLib' - include '../test' - include '../../spasm/solution/' startproject 'Test' + + group 'JSImpl' + project 'JSLib' + kind 'StaticLib' + language 'C++' + uuid(os.uuid('JSLib')) + files '../src/*.cpp' + removefiles '../src/main.cpp' + files '../src/*.h' + + project 'JSImpl' + kind 'ConsoleApp' + language 'C++' + uuid(os.uuid('JSImpl')) + files '../src/main.cpp' + links 'JSLib' + + group 'Spasm' + include '../../spasm/solution/' diff --git a/JSImpl/test/Test.make b/JSImpl/test/Test.make index 4540d2d..e1a6ad4 100644 --- a/JSImpl/test/Test.make +++ b/JSImpl/test/Test.make @@ -47,7 +47,7 @@ ifeq ($(config),debug64) TARGETDIR = ../build/bin/Debug TARGET = $(TARGETDIR)/Test DEFINES += -D_SCL_SECURE_NO_WARNINGS - INCLUDES += -I"googletest/googletest/include" -I"googletest/googlemock/include" -I".." -I"../../spasm/src" + INCLUDES += -I"googletest/googletest/include" -I"googletest/googlemock/include" -I".." -I"../../spasm/src" -I"../../spasm/src/asm" ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -m64 ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -m64 @@ -56,7 +56,7 @@ ifeq ($(config),debug64) ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -m64 -std=c++14 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -L"../build/bin/Debug" -L"." -m64 - LDDEPS += ../build/bin/Debug/libsprt.a ../build/bin/Debug/libJSLib.a ../build/bin/Debug/libgtest.a ../build/bin/Debug/libgmock.a ../build/bin/Debug/libgtest_main.a + LDDEPS += ../build/bin/Debug/libsprt.a ../build/bin/Debug/libspasm_lib.a ../build/bin/Debug/libJSLib.a ../build/bin/Debug/libgtest.a ../build/bin/Debug/libgmock.a ../build/bin/Debug/libgtest_main.a LIBS += $(LDDEPS) -lpthread EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) @@ -80,7 +80,7 @@ ifeq ($(config),release64) TARGETDIR = ../build/bin/Release TARGET = $(TARGETDIR)/Test DEFINES += -D_SCL_SECURE_NO_WARNINGS - INCLUDES += -I"googletest/googletest/include" -I"googletest/googlemock/include" -I".." -I"../../spasm/src" + INCLUDES += -I"googletest/googletest/include" -I"googletest/googlemock/include" -I".." -I"../../spasm/src" -I"../../spasm/src/asm" ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -m64 ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -m64 @@ -89,7 +89,7 @@ ifeq ($(config),release64) ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -m64 -std=c++14 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -L"../build/bin/Release" -L"." -m64 - LDDEPS += ../build/bin/Release/libsprt.a ../build/bin/Release/libJSLib.a ../build/bin/Release/libgtest.a ../build/bin/Release/libgmock.a ../build/bin/Release/libgtest_main.a + LDDEPS += ../build/bin/Release/libsprt.a ../build/bin/Release/libspasm_lib.a ../build/bin/Release/libJSLib.a ../build/bin/Release/libgtest.a ../build/bin/Release/libgmock.a ../build/bin/Release/libgtest_main.a LIBS += $(LDDEPS) -lpthread EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) diff --git a/JSImpl/test/Test.vcxproj b/JSImpl/test/Test.vcxproj index 3a7058a..c099f1c 100644 --- a/JSImpl/test/Test.vcxproj +++ b/JSImpl/test/Test.vcxproj @@ -57,7 +57,7 @@ %(AdditionalOptions) Disabled - googletest\googletest\include;googletest\googlemock\include;..;..\..\spasm\src;%(AdditionalIncludeDirectories) + googletest\googletest\include;googletest\googlemock\include;..;..\..\spasm\src;..\..\spasm\src\asm;%(AdditionalIncludeDirectories) _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false EnableFastChecks @@ -72,7 +72,7 @@ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - googletest\googletest\include;googletest\googlemock\include;..;..\..\spasm\src;%(AdditionalIncludeDirectories) + googletest\googletest\include;googletest\googlemock\include;..;..\..\spasm\src;..\..\spasm\src\asm;%(AdditionalIncludeDirectories) Console @@ -87,7 +87,7 @@ %(AdditionalOptions) MaxSpeed - googletest\googletest\include;googletest\googlemock\include;..;..\..\spasm\src;%(AdditionalIncludeDirectories) + googletest\googletest\include;googletest\googlemock\include;..;..\..\spasm\src;..\..\spasm\src\asm;%(AdditionalIncludeDirectories) _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false true @@ -102,7 +102,7 @@ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - googletest\googletest\include;googletest\googlemock\include;..;..\..\spasm\src;%(AdditionalIncludeDirectories) + googletest\googletest\include;googletest\googlemock\include;..;..\..\spasm\src;..\..\spasm\src\asm;%(AdditionalIncludeDirectories) Console @@ -129,6 +129,9 @@ {AE0A9E7C-9A41-9F0D-432E-85102F441B0F} + + {3F16CDE1-AB80-8158-F4BE-32FE60685FAD} + {19EA680D-85FE-90BE-4E80-341EBA538DEF} diff --git a/JSImpl/test/genie.lua b/JSImpl/test/genie.lua index ba0f0c2..c3cd1d6 100644 --- a/JSImpl/test/genie.lua +++ b/JSImpl/test/genie.lua @@ -10,9 +10,11 @@ project 'Test' 'googletest/googlemock/include', '..', '../../spasm/src', + '../../spasm/src/asm', } links { 'sprt', + 'spasm_lib', 'JSLib', 'gtest', 'gmock', @@ -22,35 +24,36 @@ project 'Test' links 'pthread' configuration '*' -project 'gtest' - kind 'StaticLib' - language 'C++' - uuid(os.uuid('gtest')) - files 'googletest/googletest/src/gtest-all.cc' - files 'googletest/googletest/include/gtest/*.h' - includedirs { - 'googletest/googletest', - 'googletest/googletest/include', - } +group 'gtest' + project 'gtest' + kind 'StaticLib' + language 'C++' + uuid(os.uuid('gtest')) + files 'googletest/googletest/src/gtest-all.cc' + files 'googletest/googletest/include/gtest/*.h' + includedirs { + 'googletest/googletest', + 'googletest/googletest/include', + } -project 'gmock' - kind 'StaticLib' - language 'C++' - uuid(os.uuid('gmock')) - files 'googletest/googlemock/src/gmock-all.cc' - files 'googletest/googlemock/include/gmock/*.h' - includedirs { - 'googletest/googlemock', - 'googletest/googlemock/include', - 'googletest/googletest/include', - } + project 'gmock' + kind 'StaticLib' + language 'C++' + uuid(os.uuid('gmock')) + files 'googletest/googlemock/src/gmock-all.cc' + files 'googletest/googlemock/include/gmock/*.h' + includedirs { + 'googletest/googlemock', + 'googletest/googlemock/include', + 'googletest/googletest/include', + } -project 'gtest_main' - kind 'StaticLib' - language 'C++' - uuid(os.uuid('gtest_main')) - files 'googletest/googletest/src/gtest_main.cc' - includedirs { - 'googletest/googletest', - 'googletest/googletest/include', - } + project 'gtest_main' + kind 'StaticLib' + language 'C++' + uuid(os.uuid('gtest_main')) + files 'googletest/googletest/src/gtest_main.cc' + includedirs { + 'googletest/googletest', + 'googletest/googletest/include', + } diff --git a/JSImpl/test/gmock.vcxproj b/JSImpl/test/gmock.vcxproj index 8fbaa69..f4e2bec 100644 --- a/JSImpl/test/gmock.vcxproj +++ b/JSImpl/test/gmock.vcxproj @@ -21,11 +21,13 @@ StaticLibrary true v140 + x64 StaticLibrary false v140 + x64 @@ -114,17 +116,17 @@ - - - + - - + - + + + + diff --git a/JSImpl/test/gmock.vcxproj.filters b/JSImpl/test/gmock.vcxproj.filters index 01914f2..7ecdd12 100644 --- a/JSImpl/test/gmock.vcxproj.filters +++ b/JSImpl/test/gmock.vcxproj.filters @@ -18,37 +18,37 @@ - + googletest\googlemock\include\gmock - + googletest\googlemock\include\gmock - + googletest\googlemock\include\gmock - + googletest\googlemock\include\gmock - + googletest\googlemock\include\gmock - + googletest\googlemock\include\gmock - + googletest\googlemock\include\gmock - + googletest\googlemock\include\gmock - + googletest\googlemock\include\gmock - + googletest\googlemock\include\gmock - + googletest\googlemock\include\gmock diff --git a/JSImpl/test/gtest.vcxproj b/JSImpl/test/gtest.vcxproj index 623e8f5..7adfade 100644 --- a/JSImpl/test/gtest.vcxproj +++ b/JSImpl/test/gtest.vcxproj @@ -21,11 +21,13 @@ StaticLibrary true v140 + x64 StaticLibrary false v140 + x64 @@ -114,16 +116,16 @@ - + - - - + + - + + diff --git a/JSImpl/test/gtest.vcxproj.filters b/JSImpl/test/gtest.vcxproj.filters index 780060b..3a35c75 100644 --- a/JSImpl/test/gtest.vcxproj.filters +++ b/JSImpl/test/gtest.vcxproj.filters @@ -18,7 +18,7 @@ - + googletest\googletest\include\gtest @@ -27,25 +27,25 @@ googletest\googletest\include\gtest - - googletest\googletest\include\gtest - googletest\googletest\include\gtest - + googletest\googletest\include\gtest - + googletest\googletest\include\gtest - + googletest\googletest\include\gtest googletest\googletest\include\gtest - + + googletest\googletest\include\gtest + + googletest\googletest\include\gtest diff --git a/JSImpl/test/gtest_main.vcxproj b/JSImpl/test/gtest_main.vcxproj index 997d941..2ce7ce4 100644 --- a/JSImpl/test/gtest_main.vcxproj +++ b/JSImpl/test/gtest_main.vcxproj @@ -21,11 +21,13 @@ StaticLibrary true v140 + x64 StaticLibrary false v140 + x64 diff --git a/spasm/solution/genie.lua b/spasm/solution/genie.lua index b310ad0..d1fb495 100644 --- a/spasm/solution/genie.lua +++ b/spasm/solution/genie.lua @@ -34,11 +34,24 @@ end removefiles '../src/main.cpp' files '../src/*.h' + project 'spasm_lib' + kind 'StaticLib' + language 'C++' + uuid(os.uuid('spasm_lib')) + files '../src/asm/*.cpp' + removefiles { + '../src/asm/main.cpp', + '../src/asm/lexdump.cpp', + '../src/asm/lexdump3.cpp', + } + files '../src/asm/*.h' + project 'spasm' kind 'ConsoleApp' language 'C++' uuid(os.uuid('spasm')) - files '../src/asm/*.cpp' + links 'spasm_lib' + files '../src/asm/main.cpp' removefiles { '../src/asm/lexdump.cpp', '../src/asm/lexdump3.cpp', diff --git a/spasm/solution/spasm.make b/spasm/solution/spasm.make index f2aa890..6c081cc 100644 --- a/spasm/solution/spasm.make +++ b/spasm/solution/spasm.make @@ -54,20 +54,14 @@ ifeq ($(config),debug64) ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -m64 ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -m64 -std=c++14 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) - ALL_LDFLAGS += $(LDFLAGS) -m64 - LDDEPS += + ALL_LDFLAGS += $(LDFLAGS) -L"../../JSImpl/build/bin/Debug" -m64 + LDDEPS += ../../JSImpl/build/bin/Debug/libspasm_lib.a LIBS += $(LDDEPS) EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(CXX) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) OBJECTS := \ - $(OBJDIR)/src/asm/assembler.o \ - $(OBJDIR)/src/asm/bytecode.o \ - $(OBJDIR)/src/asm/lexer.o \ $(OBJDIR)/src/asm/main.o \ - $(OBJDIR)/src/asm/symbol.o \ - $(OBJDIR)/src/asm/token.o \ - $(OBJDIR)/src/asm/tokenizer.o \ define PREBUILDCMDS endef @@ -89,20 +83,14 @@ ifeq ($(config),release64) ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -m64 ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -m64 -std=c++14 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) - ALL_LDFLAGS += $(LDFLAGS) -m64 - LDDEPS += + ALL_LDFLAGS += $(LDFLAGS) -L"../../JSImpl/build/bin/Release" -m64 + LDDEPS += ../../JSImpl/build/bin/Release/libspasm_lib.a LIBS += $(LDDEPS) EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(CXX) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) OBJECTS := \ - $(OBJDIR)/src/asm/assembler.o \ - $(OBJDIR)/src/asm/bytecode.o \ - $(OBJDIR)/src/asm/lexer.o \ $(OBJDIR)/src/asm/main.o \ - $(OBJDIR)/src/asm/symbol.o \ - $(OBJDIR)/src/asm/token.o \ - $(OBJDIR)/src/asm/tokenizer.o \ define PREBUILDCMDS endef @@ -162,34 +150,10 @@ $(GCH_OBJC): $(PCH) $(MAKEFILE) | $(OBJDIR) $(SILENT) $(CXX) $(ALL_OBJCPPFLAGS) -x objective-c++-header $(DEFINES) $(INCLUDES) -o "$@" -c "$<" endif -$(OBJDIR)/src/asm/assembler.o: ../src/asm/assembler.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src/asm - @echo $(notdir $<) - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" - -$(OBJDIR)/src/asm/bytecode.o: ../src/asm/bytecode.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src/asm - @echo $(notdir $<) - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" - -$(OBJDIR)/src/asm/lexer.o: ../src/asm/lexer.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src/asm - @echo $(notdir $<) - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" - $(OBJDIR)/src/asm/main.o: ../src/asm/main.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src/asm @echo $(notdir $<) $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" -$(OBJDIR)/src/asm/symbol.o: ../src/asm/symbol.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src/asm - @echo $(notdir $<) - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" - -$(OBJDIR)/src/asm/token.o: ../src/asm/token.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src/asm - @echo $(notdir $<) - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" - -$(OBJDIR)/src/asm/tokenizer.o: ../src/asm/tokenizer.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src/asm - @echo $(notdir $<) - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" - -include $(OBJECTS:%.o=%.d) ifneq (,$(PCH)) -include $(OBJDIR)/$(notdir $(PCH)).d diff --git a/spasm/solution/spasm.vcxproj b/spasm/solution/spasm.vcxproj index e39730e..b0b5718 100644 --- a/spasm/solution/spasm.vcxproj +++ b/spasm/solution/spasm.vcxproj @@ -21,11 +21,13 @@ Application true v140 + x64 Application false v140 + x64 @@ -110,20 +112,13 @@ - - - - - - - - - - - - + + + + {3F16CDE1-AB80-8158-F4BE-32FE60685FAD} + diff --git a/spasm/solution/spasm.vcxproj.filters b/spasm/solution/spasm.vcxproj.filters index 30cc8cb..a9d3fb8 100644 --- a/spasm/solution/spasm.vcxproj.filters +++ b/spasm/solution/spasm.vcxproj.filters @@ -9,26 +9,8 @@ - - src\asm - - - src\asm - - - src\asm - - - src\asm - - - src\asm - src\asm - - src\asm - diff --git a/spasm/solution/spasm_lib.make b/spasm/solution/spasm_lib.make new file mode 100644 index 0000000..94b4322 --- /dev/null +++ b/spasm/solution/spasm_lib.make @@ -0,0 +1,196 @@ +# GNU Make project makefile autogenerated by GENie +ifndef config + config=debug64 +endif + +ifndef verbose + SILENT = @ +endif + +SHELLTYPE := msdos +ifeq (,$(ComSpec)$(COMSPEC)) + SHELLTYPE := posix +endif +ifeq (/bin,$(findstring /bin,$(SHELL))) + SHELLTYPE := posix +endif +ifeq (/bin,$(findstring /bin,$(MAKESHELL))) + SHELLTYPE := posix +endif + +ifeq (posix,$(SHELLTYPE)) + MKDIR = $(SILENT) mkdir -p "$(1)" + COPY = $(SILENT) cp -fR "$(1)" "$(2)" + RM = $(SILENT) rm -f "$(1)" +else + MKDIR = $(SILENT) mkdir "$(subst /,\\,$(1))" 2> nul || exit 0 + COPY = $(SILENT) copy /Y "$(subst /,\\,$(1))" "$(subst /,\\,$(2))" + RM = $(SILENT) del /F "$(subst /,\\,$(1))" 2> nul || exit 0 +endif + +CC = gcc +CXX = g++ +AR = ar + +ifndef RESCOMP + ifdef WINDRES + RESCOMP = $(WINDRES) + else + RESCOMP = windres + endif +endif + +MAKEFILE = spasm_lib.make + +ifeq ($(config),debug64) + OBJDIR = ../../JSImpl/build/obj/Debug/x64/Debug/spasm_lib + TARGETDIR = ../../JSImpl/build/bin/Debug + TARGET = $(TARGETDIR)/libspasm_lib.a + DEFINES += -D_SCL_SECURE_NO_WARNINGS + ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -m64 + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -m64 + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -m64 -std=c++14 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -m64 + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -m64 -std=c++14 + ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) + ALL_LDFLAGS += $(LDFLAGS) -m64 + LDDEPS += + LIBS += $(LDDEPS) + EXTERNAL_LIBS += + LINKOBJS = $(OBJECTS) + LINKCMD = $(AR) -rcs $(TARGET) + OBJECTS := \ + $(OBJDIR)/src/asm/assembler.o \ + $(OBJDIR)/src/asm/bytecode.o \ + $(OBJDIR)/src/asm/lexer.o \ + $(OBJDIR)/src/asm/symbol.o \ + $(OBJDIR)/src/asm/token.o \ + $(OBJDIR)/src/asm/tokenizer.o \ + + define PREBUILDCMDS + endef + define PRELINKCMDS + endef + define POSTBUILDCMDS + endef +endif + +ifeq ($(config),release64) + OBJDIR = ../../JSImpl/build/obj/Release/x64/Release/spasm_lib + TARGETDIR = ../../JSImpl/build/bin/Release + TARGET = $(TARGETDIR)/libspasm_lib.a + DEFINES += -D_SCL_SECURE_NO_WARNINGS + ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -m64 + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -m64 + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -m64 -std=c++14 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -m64 + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -m64 -std=c++14 + ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) + ALL_LDFLAGS += $(LDFLAGS) -m64 + LDDEPS += + LIBS += $(LDDEPS) + EXTERNAL_LIBS += + LINKOBJS = $(OBJECTS) + LINKCMD = $(AR) -rcs $(TARGET) + OBJECTS := \ + $(OBJDIR)/src/asm/assembler.o \ + $(OBJDIR)/src/asm/bytecode.o \ + $(OBJDIR)/src/asm/lexer.o \ + $(OBJDIR)/src/asm/symbol.o \ + $(OBJDIR)/src/asm/token.o \ + $(OBJDIR)/src/asm/tokenizer.o \ + + define PREBUILDCMDS + endef + define PRELINKCMDS + endef + define POSTBUILDCMDS + endef +endif + +OBJDIRS := \ + $(OBJDIR) \ + $(OBJDIR)/src/asm \ + +RESOURCES := \ + +.PHONY: clean prebuild prelink + +all: $(OBJDIRS) $(TARGETDIR) prebuild prelink $(TARGET) + @: + +$(TARGET): $(GCH) $(OBJECTS) $(LDDEPS) $(EXTERNAL_LIBS) $(RESOURCES) | $(TARGETDIR) $(OBJDIRS) + @echo Archiving spasm_lib +ifeq (posix,$(SHELLTYPE)) + $(SILENT) rm -f $(TARGET) +else + $(SILENT) if exist $(subst /,\\,$(TARGET)) del $(subst /,\\,$(TARGET)) +endif + $(SILENT) $(LINKCMD) $(LINKOBJS) + $(POSTBUILDCMDS) + +$(TARGETDIR): + @echo Creating $(TARGETDIR) + -$(call MKDIR,$(TARGETDIR)) + +$(OBJDIRS): + @echo Creating $(@) + -$(call MKDIR,$@) + +clean: + @echo Cleaning spasm_lib +ifeq (posix,$(SHELLTYPE)) + $(SILENT) rm -f $(TARGET) + $(SILENT) rm -rf $(OBJDIR) +else + $(SILENT) if exist $(subst /,\\,$(TARGET)) del $(subst /,\\,$(TARGET)) + $(SILENT) if exist $(subst /,\\,$(OBJDIR)) rmdir /s /q $(subst /,\\,$(OBJDIR)) +endif + +prebuild: + $(PREBUILDCMDS) + +prelink: + $(PRELINKCMDS) + +ifneq (,$(PCH)) +$(GCH): $(PCH) $(MAKEFILE) | $(OBJDIR) + @echo $(notdir $<) + $(SILENT) $(CXX) $(ALL_CXXFLAGS) -x c++-header $(DEFINES) $(INCLUDES) -o "$@" -c "$<" + +$(GCH_OBJC): $(PCH) $(MAKEFILE) | $(OBJDIR) + @echo $(notdir $<) + $(SILENT) $(CXX) $(ALL_OBJCPPFLAGS) -x objective-c++-header $(DEFINES) $(INCLUDES) -o "$@" -c "$<" +endif + +$(OBJDIR)/src/asm/assembler.o: ../src/asm/assembler.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src/asm + @echo $(notdir $<) + $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" + +$(OBJDIR)/src/asm/bytecode.o: ../src/asm/bytecode.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src/asm + @echo $(notdir $<) + $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" + +$(OBJDIR)/src/asm/lexer.o: ../src/asm/lexer.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src/asm + @echo $(notdir $<) + $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" + +$(OBJDIR)/src/asm/symbol.o: ../src/asm/symbol.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src/asm + @echo $(notdir $<) + $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" + +$(OBJDIR)/src/asm/token.o: ../src/asm/token.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src/asm + @echo $(notdir $<) + $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" + +$(OBJDIR)/src/asm/tokenizer.o: ../src/asm/tokenizer.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src/asm + @echo $(notdir $<) + $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" + +-include $(OBJECTS:%.o=%.d) +ifneq (,$(PCH)) + -include $(OBJDIR)/$(notdir $(PCH)).d + -include $(OBJDIR)/$(notdir $(PCH))_objc.d +endif diff --git a/spasm/solution/spasm_lib.vcxproj b/spasm/solution/spasm_lib.vcxproj new file mode 100644 index 0000000..bf3908e --- /dev/null +++ b/spasm/solution/spasm_lib.vcxproj @@ -0,0 +1,131 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {3F16CDE1-AB80-8158-F4BE-32FE60685FAD} + spasm_lib + 8.1 + Win32Proj + + + + StaticLibrary + true + v140 + x64 + + + StaticLibrary + false + v140 + x64 + + + + + + + + + + + + + ..\..\JSImpl\build\bin\Debug\ + ..\..\JSImpl\build\obj\Debug\x64\Debug\spasm_lib\ + spasm_lib + .lib + + + ..\..\JSImpl\build\bin\Release\ + ..\..\JSImpl\build\obj\Release\x64\Release\spasm_lib\ + spasm_lib + .lib + + + + %(AdditionalOptions) + Disabled + _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + true + + Level4 + true + EditAndContinue + $(OutDir)spasm_lib.pdb + + + _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + + + $(OutDir)spasm_lib.lib + MachineX64 + + + Windows + true + $(OutDir)spasm_lib.pdb + + + + + %(AdditionalOptions) + MaxSpeed + _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + true + MultiThreadedDLL + true + true + + Level4 + true + ProgramDatabase + $(OutDir)spasm_lib.pdb + + + _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + + + $(OutDir)spasm_lib.lib + MachineX64 + + + Windows + true + $(OutDir)spasm_lib.pdb + true + true + + + + + + + + + + + + + + + + + + + + diff --git a/spasm/solution/spasm_lib.vcxproj.filters b/spasm/solution/spasm_lib.vcxproj.filters new file mode 100644 index 0000000..6415708 --- /dev/null +++ b/spasm/solution/spasm_lib.vcxproj.filters @@ -0,0 +1,31 @@ + + + + + {2DAB880B-99B4-887C-2230-9F7C8E38947C} + + + {6A9848A9-D677-C744-DF8F-521B4BEE2DA6} + + + + + src\asm + + + src\asm + + + src\asm + + + src\asm + + + src\asm + + + src\asm + + + diff --git a/spasm/solution/sprt.vcxproj b/spasm/solution/sprt.vcxproj index 2698c10..bd7f6c0 100644 --- a/spasm/solution/sprt.vcxproj +++ b/spasm/solution/sprt.vcxproj @@ -21,11 +21,13 @@ StaticLibrary true v140 + x64 StaticLibrary false v140 + x64 diff --git a/spasm/solution/sprun.vcxproj b/spasm/solution/sprun.vcxproj index ea923b4..ee6678e 100644 --- a/spasm/solution/sprun.vcxproj +++ b/spasm/solution/sprun.vcxproj @@ -21,11 +21,13 @@ Application true v140 + x64 Application false v140 + x64 -- cgit v1.3.1-23-gd82d