From: chemodax <53048645+chemodax@users.noreply.github.com> Date: Thu, 15 Sep 2022 16:41:17 +0000 (+0300) Subject: winbuild: Use NMake batch-rules for compilation X-Git-Tag: curl-7_86_0~218 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8a7ecb57e7d03b790ba51953bda6f817f3f66575;p=thirdparty%2Fcurl.git winbuild: Use NMake batch-rules for compilation - Invoke cl compiler once for each group of .c files. This is significantly improves compilation time. For example in my environment: 40 s --> 20 s. Prior to this change cl was invoked per .c file. Closes https://github.com/curl/curl/pull/9512 --- diff --git a/winbuild/MakefileBuild.vc b/winbuild/MakefileBuild.vc index 46b47b395b..f1f2d6965c 100644 --- a/winbuild/MakefileBuild.vc +++ b/winbuild/MakefileBuild.vc @@ -621,20 +621,20 @@ $(CURL_DIROBJ): .SUFFIXES: .c .obj .res -{$(LIBCURL_SRC_DIR)\}.c{$(LIB_DIROBJ)\}.obj: - $(CURL_CC) $(CFLAGS) /Fo"$@" $< +{$(LIBCURL_SRC_DIR)\}.c{$(LIB_DIROBJ)\}.obj:: + $(CURL_CC) $(CFLAGS) /Fo"$(LIB_DIROBJ)\\" $< -{$(LIBCURL_SRC_DIR)\vauth\}.c{$(LIB_DIROBJ)\vauth\}.obj: - $(CURL_CC) $(CFLAGS) /Fo"$@" $< +{$(LIBCURL_SRC_DIR)\vauth\}.c{$(LIB_DIROBJ)\vauth\}.obj:: + $(CURL_CC) $(CFLAGS) /Fo"$(LIB_DIROBJ)\vauth\\" $< -{$(LIBCURL_SRC_DIR)\vtls\}.c{$(LIB_DIROBJ)\vtls\}.obj: - $(CURL_CC) $(CFLAGS) /Fo"$@" $< +{$(LIBCURL_SRC_DIR)\vtls\}.c{$(LIB_DIROBJ)\vtls\}.obj:: + $(CURL_CC) $(CFLAGS) /Fo"$(LIB_DIROBJ)\vtls\\" $< -{$(LIBCURL_SRC_DIR)\vssh\}.c{$(LIB_DIROBJ)\vssh\}.obj: - $(CURL_CC) $(CFLAGS) /Fo"$@" $< +{$(LIBCURL_SRC_DIR)\vssh\}.c{$(LIB_DIROBJ)\vssh\}.obj:: + $(CURL_CC) $(CFLAGS) /Fo"$(LIB_DIROBJ)\vssh\\" $< -{$(LIBCURL_SRC_DIR)\vquic\}.c{$(LIB_DIROBJ)\vquic\}.obj: - $(CURL_CC) $(CFLAGS) /Fo"$@" $< +{$(LIBCURL_SRC_DIR)\vquic\}.c{$(LIB_DIROBJ)\vquic\}.obj:: + $(CURL_CC) $(CFLAGS) /Fo"$(LIB_DIROBJ)\vquic\\" $< $(LIB_DIROBJ)\libcurl.res: $(LIBCURL_SRC_DIR)\libcurl.rc $(RC) $(RC_FLAGS) @@ -670,8 +670,8 @@ $(PROGRAM_NAME): $(CURL_DIROBJ) $(CURL_FROM_LIBCURL) $(EXE_OBJS) $(CURL_LINK) $(CURL_LFLAGS) $(CURL_LIBCURL_LIBNAME) $(WIN_LIBS) $(CURL_FROM_LIBCURL) $(EXE_OBJS) $(MANIFESTTOOL) -{$(CURL_SRC_DIR)\}.c{$(CURL_DIROBJ)\}.obj: - $(CURL_CC) $(CURL_CFLAGS) /Fo"$@" $< +{$(CURL_SRC_DIR)\}.c{$(CURL_DIROBJ)\}.obj:: + $(CURL_CC) $(CURL_CFLAGS) /Fo"$(CURL_DIROBJ)\\" $< $(CURL_DIROBJ)\tool_hugehelp.obj: $(CURL_SRC_DIR)\tool_hugehelp.c $(CURL_CC) $(CURL_CFLAGS) /Zm200 /Fo"$@" $(CURL_SRC_DIR)\tool_hugehelp.c