summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2022-05-27 10:23:27 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2022-05-27 10:23:27 +0800
commitf0ae466ed1f8eff20b9555610bf2f76f4d798077 (patch)
tree5543ad10ad8466ea4e35f6f79054c1fabd88d51a
parentfb915e41b9ba2fee52b9b85384a0061a75ba3bdd (diff)
downloadglibmm-f0ae466ed1f8eff20b9555610bf2f76f4d798077.tar.gz
NMake Makefiles: Remove rules on build directory creation
Instead, create them using plain 'md' commands if they don't exist prior to compiling the sources, if applicable. Should speed up builds a bit.
-rw-r--r--MSVC_NMake/build-rules-msvc.mak14
-rw-r--r--MSVC_NMake/generate-msvc.mak12
2 files changed, 10 insertions, 16 deletions
diff --git a/MSVC_NMake/build-rules-msvc.mak b/MSVC_NMake/build-rules-msvc.mak
index 20640d79..728438ca 100644
--- a/MSVC_NMake/build-rules-msvc.mak
+++ b/MSVC_NMake/build-rules-msvc.mak
@@ -19,17 +19,19 @@ $<
<<
{..\glib\glibmm\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\glibmm\}.obj::
+ @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\glibmm\ md vs$(VSVER)\$(CFG)\$(PLAT)\glibmm
$(CXX) $(LIBGLIBMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\glibmm\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\glibmm\ /c @<<
$<
<<
{..\untracked\glib\glibmm\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\glibmm\}.obj::
+ @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\glibmm\ md vs$(VSVER)\$(CFG)\$(PLAT)\glibmm
$(CXX) $(LIBGLIBMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\glibmm\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\glibmm\ /c @<<
$<
<<
{..\glib\src\}.cc.m4{vs$(VSVER)\$(CFG)\$(PLAT)\glibmm\}.obj:
- @if not exist $(@D)\ $(MAKE) /f Makefile.vc CFG=$(CFG) $(@D)
+ @if not exist $(@D)\ md $(@D)
@for %%s in ($(<D)\*.cc.m4 $(<D)\*.h.m4) do @if not exist ..\glib\glibmm\%%~ns if not exist ..\untracked\glib\glibmm\%%~ns if not exist $(@D)\%%~ns $(M4) -I$(<D:\=/) %%s $(<D:\=/)/template.macros.m4 > $(@D)\%%~ns
@if exist $(@D)\$(<B) $(CXX) $(LIBGLIBMM_CFLAGS) $(CFLAGS_NOGL) /Fo$(@D)\ /Fd$(@D)\ /c $(@D)\$(<B)
@if exist ..\untracked\glib\glibmm\$(<B) $(CXX) $(LIBGLIBMM_CFLAGS) $(CFLAGS_NOGL) /Fo$(@D)\ /Fd$(@D)\ /c ..\untracked\glib\glibmm\$(<B)
@@ -48,11 +50,13 @@ $<
<<
{..\gio\giomm\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\giomm\}.obj::
+ if not exist vs$(VSVER)\$(CFG)\$(PLAT)\giomm\ md vs$(VSVER)\$(CFG)\$(PLAT)\giomm
$(CXX) $(LIBGIOMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\giomm\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\giomm\ /c @<<
$<
<<
{..\untracked\gio\giomm\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\giomm\}.obj::
+ if not exist vs$(VSVER)\$(CFG)\$(PLAT)\giomm\ md vs$(VSVER)\$(CFG)\$(PLAT)\giomm
$(CXX) $(LIBGIOMM_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\giomm\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\giomm\ /c @<<
$<
<<
@@ -65,15 +69,17 @@ $<
@if exist ..\gio\giomm\$(<B).cc $(CXX) $(LIBGIOMM_CFLAGS) $(CFLAGS_NOGL) /Fo$(@D)\ /Fd$(@D)\ /c $(@D)\$(<B).cc
{..\tools\extra_defs_gen\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen\}.obj::
- @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen\ $(MAKE) /f Makefile.vc CFG=$(CFG) vs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen
+ @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen\ md vs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen
$(CXX) $(GLIBMM_BASE_CFLAGS) /DGLIBMM_GEN_EXTRA_DEFS_BUILD $(GLIBMM_EXTRA_INCLUDES) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen\ /c @<<
$<
<<
{.\glibmm\}.rc{vs$(VSVER)\$(CFG)\$(PLAT)\glibmm\}.res:
+ @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\glibmm\ md vs$(VSVER)\$(CFG)\$(PLAT)\glibmm
rc /fo$@ $<
{.\giomm\}.rc{vs$(VSVER)\$(CFG)\$(PLAT)\giomm\}.res:
+ @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\giomm\ md vs$(VSVER)\$(CFG)\$(PLAT)\giomm
rc /fo$@ $<
vs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen\generate_extra_defs.obj: ..\tools\extra_defs_gen\generate_extra_defs.cc ..\tools\extra_defs_gen\generate_extra_defs.h
@@ -96,13 +102,13 @@ $**
# $(dependent_objects)
# <<
# @-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;2
-$(GLIBMM_DLL): vs$(VSVER)\$(CFG)\$(PLAT)\glibmm $(glibmm_OBJS)
+$(GLIBMM_DLL): $(glibmm_OBJS)
link /DLL $(LDFLAGS_NOLTCG) $(GOBJECT_LIBS) $(LIBSIGC_LIB) /implib:$(GLIBMM_LIB) -out:$@ @<<
$(glibmm_OBJS)
<<
@-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;2
-$(GIOMM_DLL): vs$(VSVER)\$(CFG)\$(PLAT)\giomm $(GLIBMM_LIB) $(giomm_OBJS)
+$(GIOMM_DLL): $(GLIBMM_LIB) $(giomm_OBJS)
link /DLL $(LDFLAGS_NOLTCG) $(GLIBMM_LIB) $(GIO_LIBS) $(LIBSIGC_LIB) /implib:$(GIOMM_LIB) -out:$@ @<<
$(giomm_OBJS)
<<
diff --git a/MSVC_NMake/generate-msvc.mak b/MSVC_NMake/generate-msvc.mak
index ca38d204..844e358e 100644
--- a/MSVC_NMake/generate-msvc.mak
+++ b/MSVC_NMake/generate-msvc.mak
@@ -3,18 +3,6 @@
# Items in here should not need to be edited unless
# one is maintaining the NMake build files.
-# Create the build directories
-vs$(VSVER)\$(CFG)\$(PLAT)\glibmm \
-vs$(VSVER)\$(CFG)\$(PLAT)\glibmm\private \
-vs$(VSVER)\$(CFG)\$(PLAT)\giomm \
-vs$(VSVER)\$(CFG)\$(PLAT)\giomm\private \
-vs$(VSVER)\$(CFG)\$(PLAT)\glibmm-ex \
-vs$(VSVER)\$(CFG)\$(PLAT)\giomm-ex \
-vs$(VSVER)\$(CFG)\$(PLAT)\glibmm-tests \
-vs$(VSVER)\$(CFG)\$(PLAT)\giomm-tests \
-vs$(VSVER)\$(CFG)\$(PLAT)\glib-extra-defs-gen:
- @-md $@
-
# Compile schema for giomm settings example
vs$(VSVER)\$(CFG)\$(PLAT)\gschema.compiled: ..\examples\settings\org.gtkmm.demo.gschema.xml
$(GLIB_COMPILE_SCHEMAS) --targetdir=$(@D) $(**D)