$(BUILD_DIR)\$(PHPDLL): generated_files $(PHPDEF) $(PHP_GLOBAL_OBJS) $(STATIC_EXT_OBJS) $(PHPDLL_RES) $(MCFILE)
# @$(CC) $(PHP_GLOBAL_OBJS) $(STATIC_EXT_OBJS) $(STATIC_EXT_LIBS) $(LIBS) $(PHPDLL_RES) /link /out:$(BUILD_DIR)\$(PHPDLL) $(PHP7_PGD_OPTION) $(PHP_LDFLAGS) $(LDFLAGS) $(STATIC_EXT_LDFLAGS)
- @"$(LINK)" $(PHP_GLOBAL_OBJS) $(STATIC_EXT_OBJS) $(STATIC_EXT_LIBS) $(LIBS) $(PHPDLL_RES) /out:$(BUILD_DIR)\$(PHPDLL) $(PHP7_PGD_OPTION) $(PHP_LDFLAGS) $(LDFLAGS) $(STATIC_EXT_LDFLAGS)
+ @"$(LINK)" $(PHP_GLOBAL_OBJS_RESP) $(STATIC_EXT_OBJS_RESP) $(STATIC_EXT_LIBS) $(LIBS) $(PHPDLL_RES) /out:$(BUILD_DIR)\$(PHPDLL) $(PHP7_PGD_OPTION) $(PHP_LDFLAGS) $(LDFLAGS) $(STATIC_EXT_LDFLAGS)
-@$(_VC_MANIFEST_EMBED_DLL)
$(BUILD_DIR)\$(PHPLIB): $(BUILD_DIR)\$(PHPDLL)
DEFINE('CFLAGS_' + EXT + '_OBJ', '$(CFLAGS_' + EXT + ')');
} else {
ADD_FLAG("STATIC_EXT_OBJS", "$(" + EXT + "_GLOBAL_OBJS)");
+ ADD_FLAG("STATIC_EXT_OBJS_RESP", "$(" + EXT + "_GLOBAL_OBJS_RESP)");
ADD_FLAG("STATIC_EXT_LIBS", "$(LIBS_" + EXT + ")");
ADD_FLAG("STATIC_EXT_LDFLAGS", "$(LDFLAGS_" + EXT + ")");
ADD_FLAG("STATIC_EXT_CFLAGS", "$(CFLAGS_" + EXT + ")");
sym = target.toUpperCase() + "_GLOBAL_OBJS";
flags = "CFLAGS_" + target.toUpperCase() + '_OBJ';
+ var bd = get_define('BUILD_DIR');
+ var respd = bd + '\\resp';
+ if (!FSO.FolderExists(respd)) {
+ FSO.CreateFolder(respd);
+ }
+ var obj_lst_fn = respd + '\\' + sym + '.txt';
+ var resp = "";
+
if (configure_subst.Exists(sym)) {
tv = configure_subst.Item(sym);
} else {
+ if (FSO.FileExists(obj_lst_fn)) {
+ FSO.DeleteFile(obj_lst_fn, true);
+ }
tv = "";
}
src = file_list[i];
obj = src.replace(re, ".obj");
tv += " " + sub_build + obj;
+ resp += " " + sub_build.replace('$(BUILD_DIR)', bd) + obj;
if (!PHP_MP_DISABLED) {
if (i > 0) {
}
DEFINE(sym, tv);
+
+ /* Generate the response file and define it to the Makefile. This can be
+ useful when getting the "command line too long" linker errors. */
+ var obj_lst_fh = null;
+ if (!FSO.FileExists(obj_lst_fn)) {
+ obj_lst_fh = FSO.CreateTextFile(obj_lst_fn);
+ //STDOUT.WriteLine("Creating " + obj_lst_fn);
+ } else {
+ //STDOUT.WriteLine("Appending to " + obj_lst_fn);
+ obj_lst_fh = FSO.OpenTextFile(obj_lst_fn, 8);
+ }
+
+ obj_lst_fh.Write(" " + resp);
+ obj_lst_fh.Close();
+ DEFINE(sym + "_RESP", '@"' + obj_lst_fn + '"');
}
function REMOVE_TARGET(dllname, flag)