diff --git a/win32/build/confutils.js b/win32/build/confutils.js index c8b3d02821e3f..27c70f9efc1c9 100644 --- a/win32/build/confutils.js +++ b/win32/build/confutils.js @@ -1299,6 +1299,8 @@ function SAPI(sapiname, file_list, makefiletarget, cflags, obj_dir) } else { if (ld) { MFO.WriteLine("\t" + ld + " /nologo /out:$(BUILD_DIR)\\" + makefiletarget + " " + ldflags + " $(" + SAPI + "_GLOBAL_OBJS_RESP) $(BUILD_DIR)\\$(PHPLIB) $(ARFLAGS_" + SAPI + ") $(LIBS_" + SAPI + ") $(BUILD_DIR)\\" + resname); + NFO.WriteLine("rule ar_" + sapiname); + NFO.WriteLine(" command = " + "${MAKE_LIB}" + " /nologo /out:${BUILD_DIR}\\" + makefiletarget + " " + ldflags.replace(/\$\(([a-zA-Z0-9_]+)\)/g, "${$1}") + " ${" + SAPI + "_GLOBAL_OBJS_RESP} ${BUILD_DIR}\\${PHPLIB} ${ARFLAGS_" + SAPI + "} ${LIBS_" + SAPI + "} ${BUILD_DIR}\\" + resname); } else { ld = CMD_MOD1 + '"$(LINK)"'; MFO.WriteLine("\t" + ld + " /nologo " + " $(" + SAPI + "_GLOBAL_OBJS_RESP) $(BUILD_DIR)\\$(PHPLIB) $(LIBS_" + SAPI + ") $(BUILD_DIR)\\" + resname + " /out:$(BUILD_DIR)\\" + makefiletarget + " " + ldflags + " $(LDFLAGS_" + SAPI + ")"); @@ -1308,7 +1310,7 @@ function SAPI(sapiname, file_list, makefiletarget, cflags, obj_dir) } if (!MODE_PHPIZE) { - ninja.globals[SAPI] = "build ${BUILD_DIR}\\" + makefiletarget + ": ld_" + sapiname; + ninja.globals[SAPI] = "build ${BUILD_DIR}\\" + makefiletarget + ": " + (is_lib ? "ar_" : "ld_") + sapiname; ninja.globals[SAPI] += " " + "${DEPS_" + SAPI + "}"; ninja.globals[SAPI] += " ${" + SAPI + "_GLOBAL_OBJS}"; ninja.globals[SAPI] += " ${BUILD_DIR}\\${PHPLIB} ${BUILD_DIR}\\" + resname;