[gtk/more-vs-proj-updates: 16/23] win32/generate-msvc.mak: Support generating all GDK projects




commit ad0621c3753043a2087e02d24f984cc877392a40
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Wed Aug 3 18:16:30 2022 +0800

    win32/generate-msvc.mak: Support generating all GDK projects
    
    This extends the support to generate all the GDK Visual Studio projects, which
    include GDK, GDK-Broadway and broadwayd, in addition to GDK-Win32.  The rule
    to regenerate the GDK-Win32 project is now changed to regenerate all GDK
    projects, with or without EGL support in GDK-Win32.
    
    Also, remove extraneous blank spaces in win32/vs10/broadwayd.vcxprojin to avoid
    errors when generating the full VS2010+ broadwayd Visual Studio projects with
    this update.
    
    Use inference rules and re-group things a bit, to make things cleaner and
    clearer.

 win32/config-msvc.mak.in       |  13 ++
 win32/create-lists-msvc.mak    |  18 +++
 win32/generate-msvc.mak        | 311 ++++++++++++++++++++++++++---------------
 win32/vs10/broadwayd.vcxprojin |   2 +-
 4 files changed, 232 insertions(+), 112 deletions(-)
---
diff --git a/win32/config-msvc.mak.in b/win32/config-msvc.mak.in
index 8d767f5f14..0ca74c24ac 100644
--- a/win32/config-msvc.mak.in
+++ b/win32/config-msvc.mak.in
@@ -57,6 +57,10 @@ AT_PLAT=unknown
 !endif
 
 demo_sources = $(demos_base)
+more_demo_sources =    \
+       ..\demos\gtk-demo\gtkfishbowl.c \
+       ..\demos\gtk-demo\main.c
+
 !ifdef FONT_FEATURES_DEMO
 demo_sources = $(demo_sources) $(font_features_demo)
 !endif
@@ -123,9 +127,18 @@ GTK_PREPROCESSOR_FLAGS =   \
         /DGDK_DISABLE_DEPRECATED       \
         /DISOLATION_AWARE_ENABLED
 
+GDK_VS9_PROJ = gdk-3.vcproj
+GDK_VS1X_PROJ = $(GDK_VS9_PROJ:.vcproj=.vcxproj)
+GDK_VS1X_PROJ_FILTERS = $(GDK_VS9_PROJ:.vcproj=.vcxproj.filters)
 GDKWIN32_VS9_PROJ = gdk3-win32.vcproj
 GDKWIN32_VS1X_PROJ = $(GDKWIN32_VS9_PROJ:.vcproj=.vcxproj)
 GDKWIN32_VS1X_PROJ_FILTERS = $(GDKWIN32_VS9_PROJ:.vcproj=.vcxproj.filters)
+GDKBROADWAY_VS9_PROJ = $(GDKWIN32_VS9_PROJ:-win32=-broadway)
+GDKBROADWAY_VS1X_PROJ = $(GDKBROADWAY_VS9_PROJ:.vcproj=.vcxproj)
+GDKBROADWAY_VS1X_PROJ_FILTERS = $(GDKBROADWAY_VS9_PROJ:.vcproj=.vcxproj.filters)
+BROADWAYD_VS9_PROJ = broadwayd.vcproj
+BROADWAYD_VS1X_PROJ = $(BROADWAYD_VS9_PROJ:.vcproj=.vcxproj)
+BROADWAYD_VS1X_PROJ_FILTERS = $(BROADWAYD_VS9_PROJ:.vcproj=.vcxproj.filters)
 DEMO_VS9_PROJ = gtk3-demo.vcproj
 DEMO_VS1X_PROJ = $(DEMO_VS9_PROJ:.vcproj=.vcxproj)
 DEMO_VS1X_PROJ_FILTERS = $(DEMO_VS9_PROJ:.vcproj=.vcxproj.filters)
diff --git a/win32/create-lists-msvc.mak b/win32/create-lists-msvc.mak
index 2da0d03fa7..50ca29202d 100644
--- a/win32/create-lists-msvc.mak
+++ b/win32/create-lists-msvc.mak
@@ -87,6 +87,24 @@ NULL=
 # For GDK-Broadway public headers
 !include ..\gdk\broadway\gdk-broadway-sources.inc
 
+!if [call create-lists.bat header gdk_sources_msvc$(VSVER)_$(PLAT).mak GDK_BROADWAY_C_SRCS]
+!endif
+
+!if [for %f in ($(GDK_BROADWAY_NON_GENERATED_SOURCES)) do @if "%~xf" == ".c" call create-lists.bat file 
gdk_sources_msvc$(VSVER)_$(PLAT).mak ..\gdk\broadway\%f]
+!endif
+
+!if [call create-lists.bat footer gdk_sources_msvc$(VSVER)_$(PLAT).mak]
+!endif
+
+!if [call create-lists.bat header gdk_sources_msvc$(VSVER)_$(PLAT).mak BROADWAYD_C_SRCS]
+!endif
+
+!if [for %f in ($(broadwayd_SOURCES)) do @if "%~xf" == ".c" call create-lists.bat file 
gdk_sources_msvc$(VSVER)_$(PLAT).mak ..\gdk\broadway\%f]
+!endif
+
+!if [call create-lists.bat footer gdk_sources_msvc$(VSVER)_$(PLAT).mak]
+!endif
+
 !include gdk_sources_msvc$(VSVER)_$(PLAT).mak
 
 !if [del /f /q gdk_sources_msvc$(VSVER)_$(PLAT).mak]
diff --git a/win32/generate-msvc.mak b/win32/generate-msvc.mak
index 242151ce05..9dce0090fb 100644
--- a/win32/generate-msvc.mak
+++ b/win32/generate-msvc.mak
@@ -58,6 +58,23 @@ GTK_GENERATED_SOURCES =      \
        .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkresources.c        \
        $(GTK_VERSION_H)
 
+GTK3_GDK_VC1X_PROJS =  \
+       vs10\$(GDK_VS1X_PROJ)   \
+       vs11\$(GDK_VS1X_PROJ)   \
+       vs12\$(GDK_VS1X_PROJ)   \
+       vs14\$(GDK_VS1X_PROJ)   \
+       vs15\$(GDK_VS1X_PROJ)   \
+       vs16\$(GDK_VS1X_PROJ)   \
+       vs17\$(GDK_VS1X_PROJ)
+
+GTK3_GDK_VC1X_PROJ_FILTERS =   \
+       vs11\$(GDK_VS1X_PROJ_FILTERS)   \
+       vs12\$(GDK_VS1X_PROJ_FILTERS)   \
+       vs14\$(GDK_VS1X_PROJ_FILTERS)   \
+       vs15\$(GDK_VS1X_PROJ_FILTERS)   \
+       vs16\$(GDK_VS1X_PROJ_FILTERS)   \
+       vs17\$(GDK_VS1X_PROJ_FILTERS)
+
 GTK3_GDK_WIN32_VC1X_PROJS =    \
        vs10\$(GDKWIN32_VS1X_PROJ)      \
        vs11\$(GDKWIN32_VS1X_PROJ)      \
@@ -75,6 +92,40 @@ GTK3_GDK_WIN32_VC1X_PROJ_FILTERS =   \
        vs16\$(GDKWIN32_VS1X_PROJ_FILTERS)      \
        vs17\$(GDKWIN32_VS1X_PROJ_FILTERS)
 
+GTK3_GDK_BROADWAY_VC1X_PROJS = \
+       vs10\$(GDKBROADWAY_VS1X_PROJ)   \
+       vs11\$(GDKBROADWAY_VS1X_PROJ)   \
+       vs12\$(GDKBROADWAY_VS1X_PROJ)   \
+       vs14\$(GDKBROADWAY_VS1X_PROJ)   \
+       vs15\$(GDKBROADWAY_VS1X_PROJ)   \
+       vs16\$(GDKBROADWAY_VS1X_PROJ)   \
+       vs17\$(GDKBROADWAY_VS1X_PROJ)
+
+GTK3_GDK_BROADWAY_VC1X_PROJ_FILTERS =  \
+       vs11\$(GDKBROADWAY_VS1X_PROJ_FILTERS)   \
+       vs12\$(GDKBROADWAY_VS1X_PROJ_FILTERS)   \
+       vs14\$(GDKBROADWAY_VS1X_PROJ_FILTERS)   \
+       vs15\$(GDKBROADWAY_VS1X_PROJ_FILTERS)   \
+       vs16\$(GDKBROADWAY_VS1X_PROJ_FILTERS)   \
+       vs17\$(GDKBROADWAY_VS1X_PROJ_FILTERS)
+
+GTK3_BROADWAYD_VC1X_PROJS =    \
+       vs10\$(BROADWAYD_VS1X_PROJ)     \
+       vs11\$(BROADWAYD_VS1X_PROJ)     \
+       vs12\$(BROADWAYD_VS1X_PROJ)     \
+       vs14\$(BROADWAYD_VS1X_PROJ)     \
+       vs15\$(BROADWAYD_VS1X_PROJ)     \
+       vs16\$(BROADWAYD_VS1X_PROJ)     \
+       vs17\$(BROADWAYD_VS1X_PROJ)
+
+GTK3_BROADWAYD_VC1X_PROJ_FILTERS =     \
+       vs11\$(BROADWAYD_VS1X_PROJ_FILTERS)     \
+       vs12\$(BROADWAYD_VS1X_PROJ_FILTERS)     \
+       vs14\$(BROADWAYD_VS1X_PROJ_FILTERS)     \
+       vs15\$(BROADWAYD_VS1X_PROJ_FILTERS)     \
+       vs16\$(BROADWAYD_VS1X_PROJ_FILTERS)     \
+       vs17\$(BROADWAYD_VS1X_PROJ_FILTERS)
+
 GTK3_DEMO_VC1X_PROJS = \
        vs10\$(DEMO_VS1X_PROJ)  \
        vs11\$(DEMO_VS1X_PROJ)  \
@@ -97,6 +148,24 @@ GTK3_GDK_WIN32_VCPROJS =    \
        $(GTK3_GDK_WIN32_VC1X_PROJS)    \
        $(GTK3_GDK_WIN32_VC1X_PROJ_FILTERS)
 
+GTK3_GDK_BROADWAY_VCPROJS =    \
+       vs9\$(GDKBROADWAY_VS9_PROJ)     \
+       $(GTK3_GDK_BROADWAY_VC1X_PROJS) \
+       $(GTK3_GDK_BROADWAY_VC1X_PROJ_FILTERS)
+
+GTK3_BROADWAYD_VCPROJS =       \
+       vs9\$(BROADWAYD_VS9_PROJ)       \
+       $(GTK3_BROADWAYD_VC1X_PROJS)    \
+       $(GTK3_BROADWAYD_VC1X_PROJ_FILTERS)
+
+GTK3_GDK_VCPROJS =     \
+       vs9\$(GDK_VS9_PROJ)     \
+       $(GTK3_GDK_VC1X_PROJS)  \
+       $(GTK3_GDK_VC1X_PROJ_FILTERS)   \
+       $(GTK3_GDK_WIN32_VCPROJS)       \
+       $(GTK3_GDK_BROADWAY_VCPROJS)    \
+       $(GTK3_BROADWAYD_VCPROJS)
+
 GTK3_DEMO_VCPROJS =    \
        vs9\$(DEMO_VS9_PROJ)    \
        $(GTK3_DEMO_VC1X_PROJS) \
@@ -343,70 +412,114 @@ generate-broadway-items: ..\gdk\broadway\clienthtml.h ..\gdk\broadway\broadwayjs
        --generate-source ..\demos\widget-factory\widget-factory.gresource.xml
 
 # (Re-) generate Visual Studio projects
+# Dependencies for library projects
+gdk-3.sourcefiles: $(GDK_C_SRCS:/=\)
+gdk-3.vs10.sourcefiles: $(GDK_C_SRCS:/=\)
+gdk-3.vs10.sourcefiles.filters: $(GDK_C_SRCS:/=\)
 gdk3-win32.sourcefiles: $(GDK_WIN32_C_SRCS)
-       @-del vs9\$(GDKWIN32_VS9_PROJ)
-       @for %%s in ($**) do @echo.   ^<File RelativePath^="..\%%s" /^>>>$@
-
 gdk3-win32.vs10.sourcefiles: $(GDK_WIN32_C_SRCS)
-       @-del vs10\$(GDKWIN32_VS1X_PROJ)
-       @for %%s in ($**) do @echo.   ^<ClCompile Include^="..\%%s" /^>>>$@
-
 gdk3-win32.vs10.sourcefiles.filters: $(GDK_WIN32_C_SRCS)
-       @-del vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)
-       @for %%s in ($**) do @echo.   ^<ClCompile Include^="..\%%s"^>^<Filter^>Source 
Files^</Filter^>^</ClCompile^>>>$@
-
-gtk3-demo.sourcefiles: $(demo_actual_sources)
-       @-del vs9\$(DEMO_VS9_PROJ)
+gdk3-broadway.sourcefiles: $(GDK_BROADWAY_C_SRCS)
+gdk3-broadway.vs10.sourcefiles: $(GDK_BROADWAY_C_SRCS)
+gdk3-broadway.vs10.sourcefiles.filters: $(GDK_BROADWAY_C_SRCS)
+
+# Dependencies for executable projects
+broadwayd.sourcefiles: $(BROADWAYD_C_SRCS)
+broadwayd.vs10.sourcefiles: $(BROADWAYD_C_SRCS)
+broadwayd.vs10.sourcefiles.filters: $(BROADWAYD_C_SRCS)
+gtk3-demo.sourcefiles: $(demo_actual_sources) $(more_demo_sources)
+gtk3-demo.vs10.sourcefiles: $(demo_actual_sources) $(more_demo_sources)
+gtk3-demo.vs10.sourcefiles.filters: $(demo_actual_sources) $(more_demo_sources)
+
+gdk-3.sourcefiles gdk3-win32.sourcefiles gdk3-broadway.sourcefiles     \
+broadwayd.sourcefiles gtk3-demo.sourcefiles:
+       @-del vs9\$(@B).vcproj
        @for %%s in ($**) do @echo.   ^<File RelativePath^="..\%%s" /^>>>$@
-       @for %%s in (gtkfishbowl.c main.c) do @echo.   ^<File RelativePath^="..\..\demos\gtk-demo\%%s" /^>>>$@
 
-gtk3-demo.vs10.sourcefiles: $(demo_actual_sources)
-       @-del vs10\$(DEMO_VS1X_PROJ)
+gdk-3.vs10.sourcefiles \
+gdk3-win32.vs10.sourcefiles    \
+gdk3-broadway.vs10.sourcefiles \
+broadwayd.vs10.sourcefiles     \
+gtk3-demo.vs10.sourcefiles:
+       @-del vs10\$(@B:.vs10=.vcxproj)
        @for %%s in ($**) do @echo.   ^<ClCompile Include^="..\%%s" /^>>>$@
-       @for %%s in (gtkfishbowl.c main.c) do @echo.   ^<ClCompile Include^="..\..\demos\gtk-demo\%%s" /^>>>$@
 
-gtk3-demo.vs10.sourcefiles.filters: $(demo_actual_sources)
-       @-del vs10\$(DEMO_VS1X_PROJ_FILTERS)
+gdk-3.vs10.sourcefiles.filters \
+gdk3-win32.vs10.sourcefiles.filters    \
+gdk3-broadway.vs10.sourcefiles.filters \
+broadwayd.vs10.sourcefiles.filters     \
+gtk3-demo.vs10.sourcefiles.filters:
+       @-del vs10\$(@F:.vs10.sourcefiles=.vcxproj)
        @for %%s in ($**) do @echo.   ^<ClCompile Include^="..\%%s"^>^<Filter^>Source 
Files^</Filter^>^</ClCompile^>>>$@
-       @for %%s in (gtkfishbowl.c main.c) do @echo.   ^<ClCompile 
Include^="..\..\demos\gtk-demo\%%s"^>^<Filter^>Source Files^</Filter^>^</ClCompile^>>>$@
 
+# Dependencies for GDK projects
+vs9\$(GDK_VS9_PROJ): gdk-3.sourcefiles vs9\$(GDK_VS9_PROJ)in
+vs10\$(GDK_VS1X_PROJ): gdk-3.vs10.sourcefiles vs10\$(GDK_VS1X_PROJ)in
+vs10\$(GDK_VS1X_PROJ_FILTERS): gdk-3.vs10.sourcefiles.filters vs10\$(GDK_VS1X_PROJ_FILTERS)in
 vs9\$(GDKWIN32_VS9_PROJ).pre: gdk3-win32.sourcefiles vs9\$(GDKWIN32_VS9_PROJ)in
 vs10\$(GDKWIN32_VS1X_PROJ).pre: gdk3-win32.vs10.sourcefiles vs10\$(GDKWIN32_VS1X_PROJ)in
 vs10\$(GDKWIN32_VS1X_PROJ_FILTERS): gdk3-win32.vs10.sourcefiles.filters vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)in
+vs9\$(GDKBROADWAY_VS9_PROJ): gdk3-broadway.sourcefiles vs9\$(GDKBROADWAY_VS9_PROJ)in
+vs10\$(GDKBROADWAY_VS1X_PROJ): gdk3-broadway.vs10.sourcefiles vs10\$(GDKBROADWAY_VS1X_PROJ)in
+vs10\$(GDKBROADWAY_VS1X_PROJ_FILTERS): gdk3-broadway.vs10.sourcefiles.filters 
vs10\$(GDKBROADWAY_VS1X_PROJ_FILTERS)in
+
+# Dependencies for tool executables
+vs9\$(BROADWAYD_VS9_PROJ): broadwayd.sourcefiles vs9\$(BROADWAYD_VS9_PROJ)in
+vs10\$(BROADWAYD_VS1X_PROJ): broadwayd.vs10.sourcefiles vs10\$(BROADWAYD_VS1X_PROJ)in
+vs10\$(BROADWAYD_VS1X_PROJ_FILTERS): broadwayd.vs10.sourcefiles.filters vs10\$(BROADWAYD_VS1X_PROJ_FILTERS)in
+
+# Dependencies for demos
 vs9\$(DEMO_VS9_PROJ).pre: gtk3-demo.sourcefiles vs9\$(DEMO_VS9_PROJ)in
 vs10\$(DEMO_VS1X_PROJ).pre: gtk3-demo.vs10.sourcefiles vs10\$(DEMO_VS1X_PROJ)in
 vs10\$(DEMO_VS1X_PROJ_FILTERS): gtk3-demo.vs10.sourcefiles.filters vs10\$(DEMO_VS1X_PROJ_FILTERS)in
 
-vs9\$(GDKWIN32_VS9_PROJ).pre vs10\$(GDKWIN32_VS1X_PROJ).pre vs10\$(GDKWIN32_VS1X_PROJ_FILTERS) \
-vs9\$(DEMO_VS9_PROJ).pre vs10\$(DEMO_VS1X_PROJ).pre vs10\$(DEMO_VS1X_PROJ_FILTERS):
+# Create the project files themselves without customization with options
+vs9\$(GDKWIN32_VS9_PROJ).pre   \
+vs10\$(GDKWIN32_VS1X_PROJ).pre \
+vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)     \
+vs9\$(GDKBROADWAY_VS9_PROJ)    \
+vs10\$(GDKBROADWAY_VS1X_PROJ)  \
+vs10\$(GDKBROADWAY_VS1X_PROJ_FILTERS)  \
+vs9\$(GDK_VS9_PROJ)    \
+vs10\$(GDK_VS1X_PROJ)  \
+vs10\$(GDK_VS1X_PROJ_FILTERS)  \
+vs9\$(BROADWAYD_VS9_PROJ)      \
+vs10\$(BROADWAYD_VS1X_PROJ)    \
+vs10\$(BROADWAYD_VS1X_PROJ_FILTERS)    \
+vs9\$(DEMO_VS9_PROJ).pre       \
+vs10\$(DEMO_VS1X_PROJ).pre     \
+vs10\$(DEMO_VS1X_PROJ_FILTERS):
        @$(CPP) /nologo /EP /I. $(@:.pre=)in>$(@F:.pre=).tmp
        @for /f "usebackq tokens=* delims=" %%l in ($(@F:.pre=).tmp) do @echo %%l>>$@
        @-del $(@F:.pre=).tmp
-       @-for %%f in ($**) do if not "%%f" == "$(@:.pre=)in" del %%f
+       @-for %%f in ($**) do @if not "%%f" == "$(@:.pre=)in" del %%f
+
+vs9\$(GDKWIN32_VS9_PROJ): vs9\$(GDKWIN32_VS9_PROJ).pre
+vs10\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ).pre
+
+vs9\$(DEMO_VS9_PROJ): vs9\$(DEMO_VS9_PROJ).pre
+vs10\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ).pre
 
 !ifdef USE_EGL
-regenerate-gdkwin32-vsproj-msg:
-       @echo Regenerating gdk3-win32 Visual Studio projects with EGL support...
+regenerate-gdk-vsproj-msg:
+       @echo Regenerating GDK Visual Studio projects with EGL support...
 
-vs9\$(GDKWIN32_VS9_PROJ): vs9\$(GDKWIN32_VS9_PROJ).pre
+vs9\$(GDKWIN32_VS9_PROJ):
        @echo Generating $@...
        @$(PYTHON) replace.py -a=replace-str -i=$** -o=$@       \
        --instring=";INSIDE_GDK_WIN32\""        \
        --outstring=";INSIDE_GDK_WIN32;GDK_WIN32_ENABLE_EGL\""
        @-del $**
 
-vs10\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ).pre
+vs10\$(GDKWIN32_VS1X_PROJ):
        @echo Generating $@...
        @$(PYTHON) replace.py -a=replace-str -i=$** -o=$@       \
        --instring=";INSIDE_GDK_WIN32;%"        \
        --outstring=";INSIDE_GDK_WIN32;GDK_WIN32_ENABLE_EGL;%"
        @-del $**
 !else
-regenerate-gdkwin32-vsproj-msg:
-       @echo Regenerating gdk3-win32 Visual Studio projects without EGL support...
-
-vs9\$(GDKWIN32_VS9_PROJ): vs9\$(GDKWIN32_VS9_PROJ).pre
-vs10\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ).pre
+regenerate-gdk-vsproj-msg:
+       @echo Regenerating GDK Visual Studio projects without EGL support...
 
 vs9\$(GDKWIN32_VS9_PROJ) vs10\$(GDKWIN32_VS1X_PROJ):
        @echo Renaming $** to $@...
@@ -416,14 +529,14 @@ vs9\$(GDKWIN32_VS9_PROJ) vs10\$(GDKWIN32_VS1X_PROJ):
 !ifdef FONT_FEATURES_DEMO
 !ifdef FONT_FEATURES_USE_PANGOFT2
 DEMO_MSG = with font features demo using PangoFT2
-vs9\$(DEMO_VS9_PROJ): vs9\$(DEMO_VS9_PROJ).pre
+vs9\$(DEMO_VS9_PROJ):
        @echo (Re-)Generating $@ $(DEMO_MSG)...
        @$(PYTHON) replace.py -a=replace-str -i=$** -o=$@       \
        --instring="AdditionalDependencies=\"\""        \
        --outstring="AdditionalDependencies=\"$(DEMO_DEP_LIBS_PANGOFT2_VS9)\""
        @-del $**
 
-vs10\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ).pre
+vs10\$(DEMO_VS1X_PROJ):
        @echo (Re-)Generating $@ $(DEMO_MSG)...
        @$(PYTHON) replace.py -a=replace-str -i=$** -o=$@       \
        --instring=">%(AdditionalDependencies)<"        \
@@ -431,104 +544,77 @@ vs10\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ).pre
        @-del $**
 !else
 DEMO_MSG = with font features demo
-vs9\$(DEMO_VS9_PROJ): vs9\$(DEMO_VS9_PROJ).pre
+vs9\$(DEMO_VS9_PROJ):
        @echo (Re-)Generating $@ $(DEMO_MSG)...
        @$(PYTHON) replace.py -a=replace-str -i=$** -o=$@       \
        --instring="AdditionalDependencies=\"\""        \
        --outstring="AdditionalDependencies=\"$(DEMO_DEP_LIBS_NEW_PANGO)\""
        @-del $**
 
-vs10\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ).pre
+vs10\$(DEMO_VS1X_PROJ):
        @echo (Re-)Generating $@ $(DEMO_MSG)...
+projects
        @$(PYTHON) replace.py -a=replace-str -i=$** -o=$@       \
        --instring=">%(AdditionalDependencies)<"        \
        --outstring=">$(DEMO_DEP_LIBS_NEW_PANGO);%(AdditionalDependencies)<"
        @-del $**
 !endif
 !else
-vs9\$(DEMO_VS9_PROJ): vs9\$(DEMO_VS9_PROJ).pre
-vs10\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ).pre
-
 DEMO_MSG = without font features demo
 vs9\$(DEMO_VS9_PROJ) vs10\$(DEMO_VS1X_PROJ):
        @echo (Re-)Generating $@ $(DEMO_MSG)...
        @move $** $@
 !endif
 
-vs11\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ)
-vs12\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ)
-vs14\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ)
-vs15\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ)
-vs16\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ)
-vs17\$(GDKWIN32_VS1X_PROJ): vs10\$(GDKWIN32_VS1X_PROJ)
-vs11\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ)
-vs12\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ)
-vs14\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ)
-vs15\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ)
-vs16\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ)
-vs17\$(DEMO_VS1X_PROJ): vs10\$(DEMO_VS1X_PROJ)
-
-vs11\$(GDKWIN32_VS1X_PROJ_FILTERS): vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)
-vs12\$(GDKWIN32_VS1X_PROJ_FILTERS): vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)
-vs14\$(GDKWIN32_VS1X_PROJ_FILTERS): vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)
-vs15\$(GDKWIN32_VS1X_PROJ_FILTERS): vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)
-vs16\$(GDKWIN32_VS1X_PROJ_FILTERS): vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)
-vs17\$(GDKWIN32_VS1X_PROJ_FILTERS): vs10\$(GDKWIN32_VS1X_PROJ_FILTERS)
-vs11\$(DEMO_VS1X_PROJ_FILTERS): vs10\$(DEMO_VS1X_PROJ_FILTERS)
-vs12\$(DEMO_VS1X_PROJ_FILTERS): vs10\$(DEMO_VS1X_PROJ_FILTERS)
-vs14\$(DEMO_VS1X_PROJ_FILTERS): vs10\$(DEMO_VS1X_PROJ_FILTERS)
-vs15\$(DEMO_VS1X_PROJ_FILTERS): vs10\$(DEMO_VS1X_PROJ_FILTERS)
-vs16\$(DEMO_VS1X_PROJ_FILTERS): vs10\$(DEMO_VS1X_PROJ_FILTERS)
-vs17\$(DEMO_VS1X_PROJ_FILTERS): vs10\$(DEMO_VS1X_PROJ_FILTERS)
-
-regenerate-demos-h-win32-msg:
-       @echo (Re-)Generating demos.h.win32 $(DEMO_MSG)...
-
-vs11\$(GDKWIN32_VS1X_PROJ)     \
-vs11\$(DEMO_VS1X_PROJ):
-       @echo Copying and updating $** for VS2012
-       @$(PYTHON) replace.py -a=replace-str -i=$** -o=$@ --instring=">v100<" --outstring=">v110<"
-
-vs12\$(GDKWIN32_VS1X_PROJ)     \
-vs12\$(DEMO_VS1X_PROJ):
-       @echo Copying and updating $** for VS2013
-       @$(PYTHON) replace.py -a=replace-str -i=$** -o=$@ --instring=">v100<" --outstring=">v120<"
-
-vs14\$(GDKWIN32_VS1X_PROJ)     \
-vs14\$(DEMO_VS1X_PROJ):
-       @echo Copying and updating $** for VS2015
-       @$(PYTHON) replace.py -a=replace-str -i=$** -o=$@ --instring=">v100<" --outstring=">v140<"
-
-vs15\$(GDKWIN32_VS1X_PROJ)     \
-vs15\$(DEMO_VS1X_PROJ):
-       @echo Copying and updating $** for VS2017
-       @$(PYTHON) replace.py -a=replace-str -i=$** -o=$@ --instring=">v100<" --outstring=">v141<"
-
-vs16\$(GDKWIN32_VS1X_PROJ)     \
-vs16\$(DEMO_VS1X_PROJ):
-       @echo Copying and updating $** for VS2019
-       @$(PYTHON) replace.py -a=replace-str -i=$** -o=$@ --instring=">v100<" --outstring=">v142<"
-
-vs17\$(GDKWIN32_VS1X_PROJ)     \
-vs17\$(DEMO_VS1X_PROJ):
-       @echo Copying and updating $** for VS2022
-       @$(PYTHON) replace.py -a=replace-str -i=$** -o=$@ --instring=">v100<" --outstring=">v143<"
+# VS2012+ .vcxproj: Update the toolset version as appropriate
+{vs10\}.vcxproj{vs11\}.vcxproj:
+       @echo Copying and updating $< for VS2012
+       @$(PYTHON) replace.py -a=replace-str -i=$< -o=$@ --instring=">v100<" --outstring=">v110<"
+
+{vs10\}.vcxproj{vs12\}.vcxproj:
+       @echo Copying and updating $< for VS2013
+       @$(PYTHON) replace.py -a=replace-str -i=$< -o=$@ --instring=">v100<" --outstring=">v120<"
+
+{vs10\}.vcxproj{vs14\}.vcxproj:
+       @echo Copying and updating $< for VS2015
+       @$(PYTHON) replace.py -a=replace-str -i=$< -o=$@ --instring=">v100<" --outstring=">v140<"
+
+{vs10\}.vcxproj{vs15\}.vcxproj:
+       @echo Copying and updating $< for VS2017
+       @$(PYTHON) replace.py -a=replace-str -i=$< -o=$@ --instring=">v100<" --outstring=">v141<"
+
+{vs10\}.vcxproj{vs16\}.vcxproj:
+       @echo Copying and updating $< for VS2019
+       @$(PYTHON) replace.py -a=replace-str -i=$< -o=$@ --instring=">v100<" --outstring=">v142<"
+
+{vs10\}.vcxproj{vs17\}.vcxproj:
+       @echo Copying and updating $< for VS2022
+       @$(PYTHON) replace.py -a=replace-str -i=$< -o=$@ --instring=">v100<" --outstring=">v143<"
 
 # VS2012+ .vcxproj.filters: We simply copy the VS2010 ones
-vs11\$(GDKWIN32_VS1X_PROJ_FILTERS)     \
-vs12\$(GDKWIN32_VS1X_PROJ_FILTERS)     \
-vs14\$(GDKWIN32_VS1X_PROJ_FILTERS)     \
-vs15\$(GDKWIN32_VS1X_PROJ_FILTERS)     \
-vs16\$(GDKWIN32_VS1X_PROJ_FILTERS)     \
-vs17\$(GDKWIN32_VS1X_PROJ_FILTERS)     \
-vs11\$(DEMO_VS1X_PROJ_FILTERS) \
-vs12\$(DEMO_VS1X_PROJ_FILTERS) \
-vs14\$(DEMO_VS1X_PROJ_FILTERS) \
-vs15\$(DEMO_VS1X_PROJ_FILTERS) \
-vs16\$(DEMO_VS1X_PROJ_FILTERS) \
-vs17\$(DEMO_VS1X_PROJ_FILTERS):
-       @echo Copying $** to $@...
-       @copy $** $@
+{vs10\}.filters{vs11\}.filters:
+       @echo Copying $< to $@...
+       @copy $< $@
+
+{vs10\}.filters{vs12\}.filters:
+       @echo Copying $< to $@...
+       @copy $< $@
+
+{vs10\}.filters{vs14\}.filters:
+       @echo Copying $< to $@...
+       @copy $< $@
+
+{vs10\}.filters{vs15\}.filters:
+       @echo Copying $< to $@...
+       @copy $< $@
+
+{vs10\}.filters{vs16\}.filters:
+       @echo Copying $< to $@...
+       @copy $< $@
+
+{vs10\}.filters{vs17\}.filters:
+       @echo Copying $< to $@...
+       @copy $< $@
 
 .\vs$(VSVER)\$(CFG)\$(PLAT)\bin\de.gresource.xml: ..\gtk\emoji\gresource.xml.in
 .\vs$(VSVER)\$(CFG)\$(PLAT)\bin\es.gresource.xml: ..\gtk\emoji\gresource.xml.in
@@ -550,13 +636,13 @@ $(EMOJI_GRESOURCE):
        @$(GLIB_COMPILE_RESOURCES) --sourcedir=..\gtk\emoji $@.xml --target=$@
 
 regenerate-demos-h-win32: ..\demos\gtk-demo\geninclude.py $(demo_actual_sources) 
regenerate-demos-h-win32-msg $(GTK3_DEMO_VCPROJS)
-regenerate-gdkwin32-vsproj: regenerate-gdkwin32-vsproj-msg $(GTK3_GDK_WIN32_VCPROJS)
-
        @-del ..\demos\gtk-demo\demos.h.win32
        @cd ..\demos\gtk-demo
        @$(PYTHON) geninclude.py demos.h.win32 $(demo_sources)
        @cd ..\..\win32
 
+regenerate-gdk-vsproj: regenerate-gdk-vsproj-msg $(GTK3_GDK_VCPROJS)
+
 ..\po\gtk30.pot: ..\gtk\gtkbuilder.its
        $(XGETTEXT) --default-domain="$(@B)"    \
        --copyright-holder="GTK+ Team and others. See AUTHORS"  \
@@ -619,3 +705,6 @@ clean:
        @if exist ..\gdk-$(CFG)-$(GDK_DEL_CONFIG)-build del ..\gdk-$(CFG)-$(GDK_DEL_CONFIG)-build
        @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\config.h
        @-rd .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk
+
+.SUFFIXES: .vcxproj .filters .sln 
+
diff --git a/win32/vs10/broadwayd.vcxprojin b/win32/vs10/broadwayd.vcxprojin
index 9436f2e94e..c291510b44 100644
--- a/win32/vs10/broadwayd.vcxprojin
+++ b/win32/vs10/broadwayd.vcxprojin
@@ -50,7 +50,7 @@
       
<AdditionalIncludeDirectories>$(GdkBaseIncludes);..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PrecompiledHeader></PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
-      
+
       <!-- For Broadway_Debug -->
       <Optimization Condition="'$(Configuration)' == 'Debug_Broadway'">Disabled</Optimization>
       <PreprocessorDefinitions Condition="'$(Configuration)' == 
'Debug_Broadway'">_DEBUG;$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]