diff --git a/docs/reference/gio/glib-compile-resources.xml b/docs/reference/gio/glib-compile-resources.xml index f5a1e6257..85ce28436 100644 --- a/docs/reference/gio/glib-compile-resources.xml +++ b/docs/reference/gio/glib-compile-resources.xml @@ -178,6 +178,8 @@ If is -, the dependencies are written to the standard output. Unlike , this option can be combined with other options to generate dependencies as a side-effect of generating sources. +If is not an absolute path and +is passed then it will be relative to the same directory as the target output. diff --git a/gio/glib-compile-resources.c b/gio/glib-compile-resources.c index 3d13b124e..ce02d1a4d 100644 --- a/gio/glib-compile-resources.c +++ b/gio/glib-compile-resources.c @@ -789,6 +789,17 @@ main (int argc, char **argv) } else { + /* Output depfile next to generated file */ + if (!g_path_is_absolute (dependency_file) && target != NULL) + { + char *targetdir = g_path_get_dirname (target); + char *tmp = dependency_file; + + dependency_file = g_build_filename (targetdir, dependency_file, NULL); + + g_free (tmp); + g_free (targetdir); + } if (!g_file_set_contents (dependency_file, dep_string->str, dep_string->len, &error)) { g_printerr ("Error writing dependency file: %s\n", error->message);