]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
winbuild: Use NMake batch-rules for compilation
authorchemodax <53048645+chemodax@users.noreply.github.com>
Thu, 15 Sep 2022 16:41:17 +0000 (19:41 +0300)
committerJay Satiro <raysatiro@yahoo.com>
Fri, 16 Sep 2022 20:13:08 +0000 (16:13 -0400)
- 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

winbuild/MakefileBuild.vc

index 46b47b395be576ddfdfe9c4e78a38442d8e0dde7..f1f2d6965cde82c9410b2c80fdc612ac180895d0 100644 (file)
@@ -621,20 +621,20 @@ $(CURL_DIROBJ):
 \r
 .SUFFIXES: .c .obj .res\r
 \r
-{$(LIBCURL_SRC_DIR)\}.c{$(LIB_DIROBJ)\}.obj:\r
-       $(CURL_CC) $(CFLAGS) /Fo"$@"  $<\r
+{$(LIBCURL_SRC_DIR)\}.c{$(LIB_DIROBJ)\}.obj::\r
+       $(CURL_CC) $(CFLAGS) /Fo"$(LIB_DIROBJ)\\"  $<\r
 \r
-{$(LIBCURL_SRC_DIR)\vauth\}.c{$(LIB_DIROBJ)\vauth\}.obj:\r
-       $(CURL_CC) $(CFLAGS) /Fo"$@"  $<\r
+{$(LIBCURL_SRC_DIR)\vauth\}.c{$(LIB_DIROBJ)\vauth\}.obj::\r
+       $(CURL_CC) $(CFLAGS) /Fo"$(LIB_DIROBJ)\vauth\\"  $<\r
 \r
-{$(LIBCURL_SRC_DIR)\vtls\}.c{$(LIB_DIROBJ)\vtls\}.obj:\r
-       $(CURL_CC) $(CFLAGS) /Fo"$@"  $<\r
+{$(LIBCURL_SRC_DIR)\vtls\}.c{$(LIB_DIROBJ)\vtls\}.obj::\r
+       $(CURL_CC) $(CFLAGS) /Fo"$(LIB_DIROBJ)\vtls\\"  $<\r
 \r
-{$(LIBCURL_SRC_DIR)\vssh\}.c{$(LIB_DIROBJ)\vssh\}.obj:\r
-       $(CURL_CC) $(CFLAGS) /Fo"$@"  $<\r
+{$(LIBCURL_SRC_DIR)\vssh\}.c{$(LIB_DIROBJ)\vssh\}.obj::\r
+       $(CURL_CC) $(CFLAGS) /Fo"$(LIB_DIROBJ)\vssh\\"  $<\r
 \r
-{$(LIBCURL_SRC_DIR)\vquic\}.c{$(LIB_DIROBJ)\vquic\}.obj:\r
-       $(CURL_CC) $(CFLAGS) /Fo"$@"  $<\r
+{$(LIBCURL_SRC_DIR)\vquic\}.c{$(LIB_DIROBJ)\vquic\}.obj::\r
+       $(CURL_CC) $(CFLAGS) /Fo"$(LIB_DIROBJ)\vquic\\"  $<\r
 \r
 $(LIB_DIROBJ)\libcurl.res: $(LIBCURL_SRC_DIR)\libcurl.rc\r
        $(RC) $(RC_FLAGS)\r
@@ -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)\r
        $(MANIFESTTOOL)\r
 \r
-{$(CURL_SRC_DIR)\}.c{$(CURL_DIROBJ)\}.obj:\r
-       $(CURL_CC) $(CURL_CFLAGS) /Fo"$@"  $<\r
+{$(CURL_SRC_DIR)\}.c{$(CURL_DIROBJ)\}.obj::\r
+       $(CURL_CC) $(CURL_CFLAGS) /Fo"$(CURL_DIROBJ)\\"  $<\r
 \r
 $(CURL_DIROBJ)\tool_hugehelp.obj: $(CURL_SRC_DIR)\tool_hugehelp.c\r
        $(CURL_CC) $(CURL_CFLAGS) /Zm200 /Fo"$@" $(CURL_SRC_DIR)\tool_hugehelp.c\r