From 262b9f45b79516eb5608773b124245f9e9e1427c Mon Sep 17 00:00:00 2001 From: Dimitar Trendafilov Date: Sun, 4 Oct 2020 08:41:48 +0300 Subject: Generate projects with 32-bit support --- JSImpl/solution/JSImpl.make | 86 +++++++++++++++- JSImpl/solution/JSImpl.sln | 52 +++++++++- JSImpl/solution/JSImpl.vcxproj | 129 ++++++++++++++++++++++-- JSImpl/solution/JSImpl.vcxproj.filters | 2 +- JSImpl/solution/JSLib.make | 104 ++++++++++++++++++- JSImpl/solution/JSLib.vcxproj | 176 ++++++++++++++++++++++++++------- JSImpl/solution/JSLib.vcxproj.filters | 38 +++---- JSImpl/solution/Makefile | 4 +- 8 files changed, 519 insertions(+), 72 deletions(-) (limited to 'JSImpl/solution') diff --git a/JSImpl/solution/JSImpl.make b/JSImpl/solution/JSImpl.make index 47c1963..f79241f 100644 --- a/JSImpl/solution/JSImpl.make +++ b/JSImpl/solution/JSImpl.make @@ -1,6 +1,6 @@ # GNU Make project makefile autogenerated by GENie ifndef config - config=debug64 + config=debug endif ifndef verbose @@ -42,6 +42,70 @@ endif MAKEFILE = JSImpl.make +ifeq ($(config),debug) + OBJDIR = ../build/obj/Debug/Debug/JSImpl + TARGETDIR = ../build/bin/Debug + TARGET = $(TARGETDIR)/JSImpl + 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 + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -std=c++14 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -std=c++14 + ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) + ALL_LDFLAGS += $(LDFLAGS) -L"../build/bin/Debug" + LIBDEPS += ../build/bin/Debug/libJSLib.a + LDDEPS += ../build/bin/Debug/libJSLib.a + LDRESP = + LIBS += $(LDDEPS) + EXTERNAL_LIBS += + LINKOBJS = $(OBJECTS) + LINKCMD = $(CXX) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) + OBJRESP = + OBJECTS := \ + $(OBJDIR)/src/main.o \ + + define PREBUILDCMDS + endef + define PRELINKCMDS + endef + define POSTBUILDCMDS + endef +endif + +ifeq ($(config),release) + OBJDIR = ../build/obj/Release/Release/JSImpl + TARGETDIR = ../build/bin/Release + TARGET = $(TARGETDIR)/JSImpl + 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 + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -std=c++14 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -std=c++14 + ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) + ALL_LDFLAGS += $(LDFLAGS) -L"../build/bin/Release" + LIBDEPS += ../build/bin/Release/libJSLib.a + LDDEPS += ../build/bin/Release/libJSLib.a + LDRESP = + LIBS += $(LDDEPS) + EXTERNAL_LIBS += + LINKOBJS = $(OBJECTS) + LINKCMD = $(CXX) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) + OBJRESP = + OBJECTS := \ + $(OBJDIR)/src/main.o \ + + define PREBUILDCMDS + endef + define PRELINKCMDS + endef + define POSTBUILDCMDS + endef +endif + ifeq ($(config),debug64) OBJDIR = ../build/obj/Debug/x64/Debug/JSImpl TARGETDIR = ../build/bin/Debug @@ -55,11 +119,14 @@ 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" -m64 + LIBDEPS += ../build/bin/Debug/libJSLib.a LDDEPS += ../build/bin/Debug/libJSLib.a + LDRESP = LIBS += $(LDDEPS) EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(CXX) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) + OBJRESP = OBJECTS := \ $(OBJDIR)/src/main.o \ @@ -84,11 +151,14 @@ 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" -m64 + LIBDEPS += ../build/bin/Release/libJSLib.a LDDEPS += ../build/bin/Release/libJSLib.a + LDRESP = LIBS += $(LDDEPS) EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(CXX) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) + OBJRESP = OBJECTS := \ $(OBJDIR)/src/main.o \ @@ -111,7 +181,7 @@ RESOURCES := \ all: $(OBJDIRS) $(TARGETDIR) prebuild prelink $(TARGET) @: -$(TARGET): $(GCH) $(OBJECTS) $(LDDEPS) $(EXTERNAL_LIBS) $(RESOURCES) | $(TARGETDIR) $(OBJDIRS) +$(TARGET): $(GCH) $(OBJECTS) $(LIBDEPS) $(EXTERNAL_LIBS) $(RESOURCES) $(OBJRESP) $(LDRESP) | $(TARGETDIR) $(OBJDIRS) @echo Linking JSImpl $(SILENT) $(LINKCMD) $(POSTBUILDCMDS) @@ -150,6 +220,18 @@ $(GCH_OBJC): $(PCH) $(MAKEFILE) | $(OBJDIR) $(SILENT) $(CXX) $(ALL_OBJCPPFLAGS) -x objective-c++-header $(DEFINES) $(INCLUDES) -o "$@" -c "$<" endif +ifneq (,$(OBJRESP)) +$(OBJRESP): $(OBJECTS) | $(TARGETDIR) $(OBJDIRS) + $(SILENT) echo $^ + $(SILENT) echo $^ > $@ +endif + +ifneq (,$(LDRESP)) +$(LDRESP): $(LDDEPS) | $(TARGETDIR) $(OBJDIRS) + $(SILENT) echo $^ + $(SILENT) echo $^ > $@ +endif + $(OBJDIR)/src/main.o: ../src/main.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src @echo $(notdir $<) $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" diff --git a/JSImpl/solution/JSImpl.sln b/JSImpl/solution/JSImpl.sln index 17799fc..bb2638e 100644 --- a/JSImpl/solution/JSImpl.sln +++ b/JSImpl/solution/JSImpl.sln @@ -1,6 +1,6 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 +# Visual Studio Version 16 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}" @@ -14,12 +14,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sprun", "..\..\spasm\soluti 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} + {3F16CDE1-AB80-8158-F4BE-32FE60685FAD} = {3F16CDE1-AB80-8158-F4BE-32FE60685FAD} + {AE0A9E7C-9A41-9F0D-432E-85102F441B0F} = {AE0A9E7C-9A41-9F0D-432E-85102F441B0F} + {B686840F-229B-ACC0-EB1C-502057F0A8F1} = {B686840F-229B-ACC0-EB1C-502057F0A8F1} + {EC34880F-5849-B0C0-21CB-53208D9EACF1} = {EC34880F-5849-B0C0-21CB-53208D9EACF1} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest", "..\test\gtest.vcxproj", "{EC34880F-5849-B0C0-21CB-53208D9EACF1}" @@ -46,48 +46,90 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spasm", "..\..\spasm\soluti EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FD605F10-6975-87C1-32F7-2A219ECA83F2}.Debug|Win32.ActiveCfg = Debug|Win32 + {FD605F10-6975-87C1-32F7-2A219ECA83F2}.Debug|Win32.Build.0 = Debug|Win32 {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|Win32.ActiveCfg = Release|Win32 + {FD605F10-6975-87C1-32F7-2A219ECA83F2}.Release|Win32.Build.0 = Release|Win32 {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|Win32.ActiveCfg = Debug|Win32 + {45DC8C7C-3113-8E0D-DAFF-7310C6150A0F}.Debug|Win32.Build.0 = Debug|Win32 {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|Win32.ActiveCfg = Release|Win32 + {45DC8C7C-3113-8E0D-DAFF-7310C6150A0F}.Release|Win32.Build.0 = Release|Win32 {45DC8C7C-3113-8E0D-DAFF-7310C6150A0F}.Release|x64.ActiveCfg = Release|x64 {45DC8C7C-3113-8E0D-DAFF-7310C6150A0F}.Release|x64.Build.0 = Release|x64 + {EC34880F-5849-B0C0-21CB-53208D9EACF1}.Debug|Win32.ActiveCfg = Debug|Win32 + {EC34880F-5849-B0C0-21CB-53208D9EACF1}.Debug|Win32.Build.0 = Debug|Win32 {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|Win32.ActiveCfg = Release|Win32 + {EC34880F-5849-B0C0-21CB-53208D9EACF1}.Release|Win32.Build.0 = Release|Win32 {EC34880F-5849-B0C0-21CB-53208D9EACF1}.Release|x64.ActiveCfg = Release|x64 {EC34880F-5849-B0C0-21CB-53208D9EACF1}.Release|x64.Build.0 = Release|x64 + {B686840F-229B-ACC0-EB1C-502057F0A8F1}.Debug|Win32.ActiveCfg = Debug|Win32 + {B686840F-229B-ACC0-EB1C-502057F0A8F1}.Debug|Win32.Build.0 = Debug|Win32 {B686840F-229B-ACC0-EB1C-502057F0A8F1}.Debug|x64.ActiveCfg = Debug|x64 {B686840F-229B-ACC0-EB1C-502057F0A8F1}.Debug|x64.Build.0 = Debug|x64 + {B686840F-229B-ACC0-EB1C-502057F0A8F1}.Release|Win32.ActiveCfg = Release|Win32 + {B686840F-229B-ACC0-EB1C-502057F0A8F1}.Release|Win32.Build.0 = Release|Win32 {B686840F-229B-ACC0-EB1C-502057F0A8F1}.Release|x64.ActiveCfg = Release|x64 {B686840F-229B-ACC0-EB1C-502057F0A8F1}.Release|x64.Build.0 = Release|x64 + {30B03E7E-1C68-80CB-856F-592771461BBC}.Debug|Win32.ActiveCfg = Debug|Win32 + {30B03E7E-1C68-80CB-856F-592771461BBC}.Debug|Win32.Build.0 = Debug|Win32 {30B03E7E-1C68-80CB-856F-592771461BBC}.Debug|x64.ActiveCfg = Debug|x64 {30B03E7E-1C68-80CB-856F-592771461BBC}.Debug|x64.Build.0 = Debug|x64 + {30B03E7E-1C68-80CB-856F-592771461BBC}.Release|Win32.ActiveCfg = Release|Win32 + {30B03E7E-1C68-80CB-856F-592771461BBC}.Release|Win32.Build.0 = Release|Win32 {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|Win32.ActiveCfg = Debug|Win32 + {19EA680D-85FE-90BE-4E80-341EBA538DEF}.Debug|Win32.Build.0 = Debug|Win32 {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|Win32.ActiveCfg = Release|Win32 + {19EA680D-85FE-90BE-4E80-341EBA538DEF}.Release|Win32.Build.0 = Release|Win32 {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|Win32.ActiveCfg = Debug|Win32 + {549B84BA-403D-AF90-29F8-C2E4153936E1}.Debug|Win32.Build.0 = Debug|Win32 {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|Win32.ActiveCfg = Release|Win32 + {549B84BA-403D-AF90-29F8-C2E4153936E1}.Release|Win32.Build.0 = Release|Win32 {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|Win32.ActiveCfg = Debug|Win32 + {AE0A9E7C-9A41-9F0D-432E-85102F441B0F}.Debug|Win32.Build.0 = Debug|Win32 {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|Win32.ActiveCfg = Release|Win32 + {AE0A9E7C-9A41-9F0D-432E-85102F441B0F}.Release|Win32.Build.0 = Release|Win32 {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|Win32.ActiveCfg = Debug|Win32 + {3F16CDE1-AB80-8158-F4BE-32FE60685FAD}.Debug|Win32.Build.0 = Debug|Win32 {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|Win32.ActiveCfg = Release|Win32 + {3F16CDE1-AB80-8158-F4BE-32FE60685FAD}.Release|Win32.Build.0 = Release|Win32 {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|Win32.ActiveCfg = Debug|Win32 + {69185F10-D52C-87C1-9EAE-2A210A8283F2}.Debug|Win32.Build.0 = Debug|Win32 {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|Win32.ActiveCfg = Release|Win32 + {69185F10-D52C-87C1-9EAE-2A210A8283F2}.Release|Win32.Build.0 = Release|Win32 {69185F10-D52C-87C1-9EAE-2A210A8283F2}.Release|x64.ActiveCfg = Release|x64 {69185F10-D52C-87C1-9EAE-2A210A8283F2}.Release|x64.Build.0 = Release|x64 EndGlobalSection diff --git a/JSImpl/solution/JSImpl.vcxproj b/JSImpl/solution/JSImpl.vcxproj index 0aa8deb..8db08cc 100644 --- a/JSImpl/solution/JSImpl.vcxproj +++ b/JSImpl/solution/JSImpl.vcxproj @@ -1,10 +1,18 @@ - + + + Debug + Win32 + Debug x64 + + Release + Win32 + Release x64 @@ -13,32 +21,62 @@ {549B84BA-403D-AF90-29F8-C2E4153936E1} JSImpl - 8.1 + 10.0 + 10.0.10240.0 Win32Proj + + 16.0 + Application + true + v142 + true + + 16.0 Application true - v140 - x64 + v142 + true + + + 16.0 + Application + false + v142 + true + 16.0 Application false - v140 - x64 + v142 + true + + + + + + + + ..\build\bin\Debug\ + ..\build\obj\Debug\Debug\JSImpl\ + JSImpl + .exe + true + ..\build\bin\Debug\ ..\build\obj\Debug\x64\Debug\JSImpl\ @@ -46,6 +84,13 @@ .exe true + + ..\build\bin\Release\ + ..\build\obj\Release\Release\JSImpl\ + JSImpl + .exe + false + ..\build\bin\Release\ ..\build\obj\Release\x64\Release\JSImpl\ @@ -53,21 +98,53 @@ .exe false - + %(AdditionalOptions) Disabled _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false + true EnableFastChecks MultiThreadedDebugDLL + true + + Level4 + true + stdcpp14 + EditAndContinue + $(IntDir)JSImpl.compile.pdb + Caret + + + _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + + + Console + true + $(OutDir)JSImpl.pdb + ;%(AdditionalLibraryDirectories) + $(OutDir)JSImpl.exe + mainCRTStartup + + + + + %(AdditionalOptions) + Disabled + _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false true + EnableFastChecks + MultiThreadedDebugDLL true Level4 true + stdcpp14 EditAndContinue $(IntDir)JSImpl.compile.pdb + Caret _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) @@ -76,26 +153,61 @@ Console true $(OutDir)JSImpl.pdb + ;%(AdditionalLibraryDirectories) $(OutDir)JSImpl.exe mainCRTStartup MachineX64 - + %(AdditionalOptions) MaxSpeed _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false true + true MultiThreadedDLL + true + + Level4 + true + stdcpp14 + ProgramDatabase + $(IntDir)JSImpl.compile.pdb + Caret + + + _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + + + Console + true + $(OutDir)JSImpl.pdb + true + true + ;%(AdditionalLibraryDirectories) + $(OutDir)JSImpl.exe + mainCRTStartup + + + + + %(AdditionalOptions) + MaxSpeed + _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + true true + MultiThreadedDLL true Level4 true + stdcpp14 ProgramDatabase $(IntDir)JSImpl.compile.pdb + Caret _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) @@ -106,6 +218,7 @@ $(OutDir)JSImpl.pdb true true + ;%(AdditionalLibraryDirectories) $(OutDir)JSImpl.exe mainCRTStartup MachineX64 diff --git a/JSImpl/solution/JSImpl.vcxproj.filters b/JSImpl/solution/JSImpl.vcxproj.filters index daeea8c..a140a04 100644 --- a/JSImpl/solution/JSImpl.vcxproj.filters +++ b/JSImpl/solution/JSImpl.vcxproj.filters @@ -1,5 +1,5 @@ - + {2DAB880B-99B4-887C-2230-9F7C8E38947C} diff --git a/JSImpl/solution/JSLib.make b/JSImpl/solution/JSLib.make index dd5157d..9770cb0 100644 --- a/JSImpl/solution/JSLib.make +++ b/JSImpl/solution/JSLib.make @@ -1,6 +1,6 @@ # GNU Make project makefile autogenerated by GENie ifndef config - config=debug64 + config=debug endif ifndef verbose @@ -42,6 +42,82 @@ endif MAKEFILE = JSLib.make +ifeq ($(config),debug) + OBJDIR = ../build/obj/Debug/Debug/JSLib + TARGETDIR = ../build/bin/Debug + TARGET = $(TARGETDIR)/libJSLib.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 + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -std=c++14 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -std=c++14 + ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) + ALL_LDFLAGS += $(LDFLAGS) + LIBDEPS += + LDDEPS += + LDRESP = + LIBS += $(LDDEPS) + EXTERNAL_LIBS += + LINKOBJS = $(OBJECTS) + LINKCMD = $(AR) -rcs $(TARGET) + OBJRESP = + OBJECTS := \ + $(OBJDIR)/src/ASTInterpreter.o \ + $(OBJDIR)/src/ASTPrinter.o \ + $(OBJDIR)/src/ByteCodeGenerator.o \ + $(OBJDIR)/src/Expression.o \ + $(OBJDIR)/src/JSONParser.o \ + $(OBJDIR)/src/Lexer.o \ + $(OBJDIR)/src/Parser.o \ + + define PREBUILDCMDS + endef + define PRELINKCMDS + endef + define POSTBUILDCMDS + endef +endif + +ifeq ($(config),release) + OBJDIR = ../build/obj/Release/Release/JSLib + TARGETDIR = ../build/bin/Release + TARGET = $(TARGETDIR)/libJSLib.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 + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -std=c++14 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -std=c++14 + ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) + ALL_LDFLAGS += $(LDFLAGS) + LIBDEPS += + LDDEPS += + LDRESP = + LIBS += $(LDDEPS) + EXTERNAL_LIBS += + LINKOBJS = $(OBJECTS) + LINKCMD = $(AR) -rcs $(TARGET) + OBJRESP = + OBJECTS := \ + $(OBJDIR)/src/ASTInterpreter.o \ + $(OBJDIR)/src/ASTPrinter.o \ + $(OBJDIR)/src/ByteCodeGenerator.o \ + $(OBJDIR)/src/Expression.o \ + $(OBJDIR)/src/JSONParser.o \ + $(OBJDIR)/src/Lexer.o \ + $(OBJDIR)/src/Parser.o \ + + define PREBUILDCMDS + endef + define PRELINKCMDS + endef + define POSTBUILDCMDS + endef +endif + ifeq ($(config),debug64) OBJDIR = ../build/obj/Debug/x64/Debug/JSLib TARGETDIR = ../build/bin/Debug @@ -55,16 +131,20 @@ 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) -m64 + LIBDEPS += LDDEPS += + LDRESP = LIBS += $(LDDEPS) EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(AR) -rcs $(TARGET) + OBJRESP = OBJECTS := \ $(OBJDIR)/src/ASTInterpreter.o \ $(OBJDIR)/src/ASTPrinter.o \ $(OBJDIR)/src/ByteCodeGenerator.o \ $(OBJDIR)/src/Expression.o \ + $(OBJDIR)/src/JSONParser.o \ $(OBJDIR)/src/Lexer.o \ $(OBJDIR)/src/Parser.o \ @@ -89,16 +169,20 @@ 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) -m64 + LIBDEPS += LDDEPS += + LDRESP = LIBS += $(LDDEPS) EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(AR) -rcs $(TARGET) + OBJRESP = OBJECTS := \ $(OBJDIR)/src/ASTInterpreter.o \ $(OBJDIR)/src/ASTPrinter.o \ $(OBJDIR)/src/ByteCodeGenerator.o \ $(OBJDIR)/src/Expression.o \ + $(OBJDIR)/src/JSONParser.o \ $(OBJDIR)/src/Lexer.o \ $(OBJDIR)/src/Parser.o \ @@ -121,7 +205,7 @@ RESOURCES := \ all: $(OBJDIRS) $(TARGETDIR) prebuild prelink $(TARGET) @: -$(TARGET): $(GCH) $(OBJECTS) $(LDDEPS) $(EXTERNAL_LIBS) $(RESOURCES) | $(TARGETDIR) $(OBJDIRS) +$(TARGET): $(GCH) $(OBJECTS) $(LIBDEPS) $(EXTERNAL_LIBS) $(RESOURCES) $(OBJRESP) $(LDRESP) | $(TARGETDIR) $(OBJDIRS) @echo Archiving JSLib ifeq (posix,$(SHELLTYPE)) $(SILENT) rm -f $(TARGET) @@ -165,6 +249,18 @@ $(GCH_OBJC): $(PCH) $(MAKEFILE) | $(OBJDIR) $(SILENT) $(CXX) $(ALL_OBJCPPFLAGS) -x objective-c++-header $(DEFINES) $(INCLUDES) -o "$@" -c "$<" endif +ifneq (,$(OBJRESP)) +$(OBJRESP): $(OBJECTS) | $(TARGETDIR) $(OBJDIRS) + $(SILENT) echo $^ + $(SILENT) echo $^ > $@ +endif + +ifneq (,$(LDRESP)) +$(LDRESP): $(LDDEPS) | $(TARGETDIR) $(OBJDIRS) + $(SILENT) echo $^ + $(SILENT) echo $^ > $@ +endif + $(OBJDIR)/src/ASTInterpreter.o: ../src/ASTInterpreter.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src @echo $(notdir $<) $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" @@ -181,6 +277,10 @@ $(OBJDIR)/src/Expression.o: ../src/Expression.cpp $(GCH) $(MAKEFILE) | $(OBJDIR) @echo $(notdir $<) $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" +$(OBJDIR)/src/JSONParser.o: ../src/JSONParser.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src + @echo $(notdir $<) + $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" + $(OBJDIR)/src/Lexer.o: ../src/Lexer.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src @echo $(notdir $<) $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" diff --git a/JSImpl/solution/JSLib.vcxproj b/JSImpl/solution/JSLib.vcxproj index 054b726..67600b0 100644 --- a/JSImpl/solution/JSLib.vcxproj +++ b/JSImpl/solution/JSLib.vcxproj @@ -1,10 +1,18 @@ - + + + Debug + Win32 + Debug x64 + + Release + Win32 + Release x64 @@ -13,98 +21,197 @@ {19EA680D-85FE-90BE-4E80-341EBA538DEF} JSLib - 8.1 + 10.0 + 10.0.10240.0 Win32Proj + + 16.0 + StaticLibrary + true + v142 + true + + 16.0 StaticLibrary true - v140 - x64 + v142 + true + + + 16.0 + StaticLibrary + false + v142 + true + 16.0 StaticLibrary false - v140 - x64 + v142 + true + + + + + + + + ..\build\bin\Debug\ + ..\build\obj\Debug\Debug\JSLib\ + JSLib + .lib + ..\build\bin\Debug\ ..\build\obj\Debug\x64\Debug\JSLib\ JSLib .lib + + ..\build\bin\Release\ + ..\build\obj\Release\Release\JSLib\ + JSLib + .lib + ..\build\bin\Release\ ..\build\obj\Release\x64\Release\JSLib\ JSLib .lib - + %(AdditionalOptions) Disabled _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false + true EnableFastChecks MultiThreadedDebugDLL + true + + Level4 + true + stdcpp14 + EditAndContinue + $(OutDir)JSLib.pdb + Caret + + + _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + + + $(OutDir)JSLib.lib + + + Windows + true + $(OutDir)JSLib.pdb + + + + + %(AdditionalOptions) + Disabled + _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false true + EnableFastChecks + MultiThreadedDebugDLL true - - + Level4 true + stdcpp14 EditAndContinue $(OutDir)JSLib.pdb + Caret _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - - $(OutDir)JSLib.lib - MachineX64 - + + $(OutDir)JSLib.lib + MachineX64 + Windows true $(OutDir)JSLib.pdb - + %(AdditionalOptions) MaxSpeed _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false true + true MultiThreadedDLL + true + + Level4 + true + stdcpp14 + ProgramDatabase + $(OutDir)JSLib.pdb + Caret + + + _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + + + $(OutDir)JSLib.lib + + + Windows + true + $(OutDir)JSLib.pdb + true + true + + + + + %(AdditionalOptions) + MaxSpeed + _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + true true + MultiThreadedDLL true - - + Level4 true + stdcpp14 ProgramDatabase $(OutDir)JSLib.pdb + Caret _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - - $(OutDir)JSLib.lib - MachineX64 - + + $(OutDir)JSLib.lib + MachineX64 + Windows true @@ -114,34 +221,35 @@ - + + + + + - - - - - - + + - - - - - - + + + + + + + - \ No newline at end of file + diff --git a/JSImpl/solution/JSLib.vcxproj.filters b/JSImpl/solution/JSLib.vcxproj.filters index e38ebc7..d4af527 100644 --- a/JSImpl/solution/JSLib.vcxproj.filters +++ b/JSImpl/solution/JSLib.vcxproj.filters @@ -1,66 +1,66 @@ - + {2DAB880B-99B4-887C-2230-9F7C8E38947C} - + src - + src - + src - + src - + src - + src - + src - + src src - + src - + src - + src - + src - + src - + src - + src - + src - + src - \ No newline at end of file + diff --git a/JSImpl/solution/Makefile b/JSImpl/solution/Makefile index 00cafb3..fe89e52 100644 --- a/JSImpl/solution/Makefile +++ b/JSImpl/solution/Makefile @@ -2,7 +2,7 @@ # Type "make help" for usage help ifndef config - config=debug64 + config=debug endif export config @@ -68,6 +68,8 @@ help: @echo "Usage: make [config=name] [target]" @echo "" @echo "CONFIGURATIONS:" + @echo " debug" + @echo " release" @echo " debug64" @echo " release64" @echo "" -- cgit v1.3.1-23-gd82d