[gtkmm] NMake Makefiles: Clean up building demo and test programs
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm] NMake Makefiles: Clean up building demo and test programs
- Date: Fri, 19 Jun 2020 10:46:06 +0000 (UTC)
commit 44970ff75c1ca2920fb3168bc2f1679478fa74a0
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Wed Jun 17 13:17:42 2020 +0800
NMake Makefiles: Clean up building demo and test programs
We can group some items together and "generate" the build rules for the test
programs instead of hand-writing them one-by-one, since the compiler and linker
flags for them are largly the same.
MSVC_NMake/Makefile.vc | 4 ++--
MSVC_NMake/build-rules-msvc.mak | 42 +++-------------------------------------
MSVC_NMake/create-lists-msvc.mak | 21 +++++++++-----------
3 files changed, 14 insertions(+), 53 deletions(-)
---
diff --git a/MSVC_NMake/Makefile.vc b/MSVC_NMake/Makefile.vc
index e0f1e454..1c73b933 100644
--- a/MSVC_NMake/Makefile.vc
+++ b/MSVC_NMake/Makefile.vc
@@ -37,12 +37,12 @@ VALID_MSC = TRUE
!include pkg-ver.mak
!endif
+all: $(GTKMM4_DEMO) all-build-info
+
# Include the Makefile portion to convert the source and header lists
# into the lists we need for compilation and introspection
!include create-lists-msvc.mak
-all: $(GTKMM4_DEMO) all-build-info
-
tests: $(gtkmm_tests) all-build-info
# Include the build rules for sources, DLLs and executables
diff --git a/MSVC_NMake/build-rules-msvc.mak b/MSVC_NMake/build-rules-msvc.mak
index cde02e6d..342a8f32 100644
--- a/MSVC_NMake/build-rules-msvc.mak
+++ b/MSVC_NMake/build-rules-msvc.mak
@@ -107,43 +107,6 @@ $(gtkmm_demo_OBJS)
<<
@-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;1
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-builder.exe: ..\tests\builder\main.cc
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-child_widget.exe: ..\tests\child_widget\main.cc
..\tests\child_widget\testwindow.cc
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-child_widget2.exe: ..\tests\child_widget2\main.cc
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-child_widget_managed.exe: ..\tests\child_widget_managed\main.cc
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-delete_cpp_child.exe: ..\tests\delete_cpp_child\main.cc
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-dialog_deletethis.exe: ..\tests\dialog_deletethis\main.cc
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-gdk_rgba.exe: ..\tests\gdk_rgba\main.cc
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-main_with_options.exe: ..\tests\main_with_options\main.cc
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-menu_destruction.exe: ..\tests\menu_destruction\main.cc
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-object_move.exe: ..\tests\object_move\main.cc
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-property_notification.exe: ..\tests\property_notification\main.cc
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-refcount_dialog.exe: ..\tests\refcount_dialog\main.cc
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-scrolledwindow.exe: ..\tests\scrolledwindow\main.cc
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-tree_model_iterator.exe: ..\tests\tree_model_iterator\main.cc
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-wrap_existing.exe: ..\tests\wrap_existing\main.cc
-
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-builder.exe \
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-child_widget.exe \
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-child_widget2.exe \
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-child_widget_managed.exe \
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-delete_cpp_child.exe \
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-dialog_deletethis.exe \
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-gdk_rgba.exe \
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-main_with_options.exe \
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-menu_destruction.exe \
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-object_move.exe \
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-property_notification.exe \
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-refcount_dialog.exe \
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-scrolledwindow.exe \
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-tree_model_iterator.exe \
-vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-wrap_existing.exe:
- @if not exist $(GTKMM_LIB) $(MAKE) /f Makefile.vc $(SAVED_OPTIONS) $(GTKMM_LIB)
- @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\$(@B) md vs$(VSVER)\$(CFG)\$(PLAT)\$(@B)
- $(CXX) $(GTKMM_DEMO_CFLAGS) $(CFLAGS) /Fo$(@D)\$(@B)\ /Fd$(@D)\$(@B)\ $** \
- /link $(LDFLAGS) $(GTKMM_LIB) $(GTKMM_DEMO_DEP_LIBS) -out:$@
- @-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;1
-
clean:
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.exe
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.dll
@@ -151,7 +114,8 @@ clean:
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.ilk
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.exp
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.lib
- @-for /f %d in ('dir /ad /b ..\tests') do @if exist vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-%d (for %x
in (obj pdb) do @del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-%d\*.%x)
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm-tests\*.pdb
+ @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm-tests\*.obj
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-demo\demo_resources.c
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-demo\*.pdb
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-demo\*.obj
@@ -166,7 +130,7 @@ clean:
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\*.obj
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\*.cc
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gdkmm\*.h
- @-for /f %d in ('dir /ad /b ..\tests') do @if exist vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-%d rd
vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-test-%d
+ @-rd vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm-tests
@-rd vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm4-demo
@-rd vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm\private
@-rd vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm
diff --git a/MSVC_NMake/create-lists-msvc.mak b/MSVC_NMake/create-lists-msvc.mak
index 493c1d21..20710e67 100644
--- a/MSVC_NMake/create-lists-msvc.mak
+++ b/MSVC_NMake/create-lists-msvc.mak
@@ -108,34 +108,31 @@ gdkmm_generated_private_headers = $(files_hg:.hg=_p.h)
!if [call create-lists.bat header gtkmm.mak gtkmm_demo_resources]
!endif
-!if [for %s in (..\demos\gtk-demo\*.gif) do @call create-lists.bat file gtkmm.mak %s]
+!if [for %x in (gif jpg png webm ui glsl) do @for %s in (..\demos\gtk-demo\*.%x) do @call create-lists.bat
file gtkmm.mak %s]
!endif
-!if [for %s in (..\demos\gtk-demo\*.jpg) do @call create-lists.bat file gtkmm.mak %s]
-!endif
-
-!if [for %s in (..\demos\gtk-demo\*.png) do @call create-lists.bat file gtkmm.mak %s]
+!if [call create-lists.bat footer gtkmm.mak]
!endif
-!if [for %s in (..\demos\gtk-demo\*.webm) do @call create-lists.bat file gtkmm.mak %s]
+!if [call create-lists.bat header gtkmm.mak gtkmm_tests]
!endif
-!if [for %s in (..\demos\gtk-demo\*.ui) do @call create-lists.bat file gtkmm.mak %s]
+!if [for /f %d in ('dir /ad /b ..\tests\') do @call create-lists.bat file gtkmm.mak
^vs$(VSVER)\^$(CFG)\^$(PLAT)\gtkmm3-test-%d.exe]
!endif
-!if [for %s in (..\demos\gtk-demo\*.glsl) do @call create-lists.bat file gtkmm.mak %s]
+!if [call create-lists.bat footer gtkmm.mak]
!endif
-!if [call create-lists.bat footer gtkmm.mak]
+!if [call create-lists.bat header gtkmm.mak gtkmm_tests & @(for /f %t in ('dir /ad /b ..\tests') do @call
create-lists.bat file gtkmm.mak vs$(VSVER)\$(CFG)\$(PLAT)\%t.exe) & @call create-lists.bat footer gtkmm.mak]
!endif
-!if [call create-lists.bat header gtkmm.mak gtkmm_tests]
+!if [for /f %t in ('dir /ad /b ..\tests') do @for %s in (..\tests\%t\*.cc) do @echo
vs^$(VSVER)\^$(CFG)\^$(PLAT)\gtkmm-tests\%t-%~ns.obj: %s>>gtkmm.mak & @echo. if not exist ^$(@D)\ md
^$(@D)>>gtkmm.mak & @echo. ^$(CXX) ^$(GTKMM_DEMO_CFLAGS) ^$(CFLAGS) /Fo^$(@D)\%t-%~ns.obj /Fd^$(@D)\ ^$**
/c>>gtkmm.mak & @echo.>>gtkmm.mak]
!endif
-!if [for /f %d in ('dir /ad /b ..\tests\') do @call create-lists.bat file gtkmm.mak
vs^$(VSVER)\^$(CFG)\^$(PLAT)\gtkmm4-test-%d.exe]
+!if [for /f %t in ('dir /ad /b ..\tests\') do @call create-lists.bat header gtkmm.mak %t_OBJS & @(for %s in
(..\tests\%t\*.cc) do @call create-lists.bat file gtkmm.mak
vs$(VSVER)\$(CFG)\$(PLAT)\gtkmm-tests\%t-%~ns.obj) & @call create-lists.bat footer gtkmm.mak]
!endif
-!if [call create-lists.bat footer gtkmm.mak]
+!if [for /f %t in ('dir /ad /b ..\tests') do @echo vs^$(VSVER)\^$(CFG)\^$(PLAT)\%t.exe: ^$(GTKMM_LIB)
^$(GDKMM_LIB) ^$(%t_OBJS)>>gtkmm.mak & @echo. link ^$(LDFLAGS) ^$** ^$(GTKMM_DEMO_DEP_LIBS)
^$(LIBSIGC_LIB) /out:^$@>>gtkmm.mak & @echo.>>gtkmm.mak]
!endif
!include gtkmm.mak
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]