gsettings.m4: @GSETTINGS_RULES@: Support srcdir != builddir with nonrecursive make
authorColin Walters <walters@verbum.org>
Tue, 12 Nov 2013 18:41:47 +0000 (13:41 -0500)
committerColin Walters <walters@verbum.org>
Mon, 18 Nov 2013 19:19:19 +0000 (14:19 -0500)
In hotssh I use nonrecursive make.  gnome-continuous uses srcdir !=
builddir by default.  @GSETTINGS_RULES@ will then attempt to touch a
nonexistent path.

This patch fixes that.

https://bugzilla.gnome.org/show_bug.cgi?id=712171

m4macros/gsettings.m4

index 7b2f9a2..1a19c39 100644 (file)
@@ -37,7 +37,7 @@ mostlyclean-am: clean-gsettings-schemas
 gsettings__enum_file = $(addsuffix .enums.xml,$(gsettings_ENUM_NAMESPACE))
 
 %.gschema.valid: %.gschema.xml $(gsettings__enum_file)
-       $(AM_V_GEN) if test -f "$<"; then d=; else d="$(srcdir)/"; fi; $(GLIB_COMPILE_SCHEMAS) --strict --dry-run $(addprefix --schema-file=,$(gsettings__enum_file)) --schema-file=$${d}$< && touch [$]@
+       $(AM_V_GEN) if test -f "$<"; then d=; else d="$(srcdir)/"; fi; $(GLIB_COMPILE_SCHEMAS) --strict --dry-run $(addprefix --schema-file=,$(gsettings__enum_file)) --schema-file=$${d}$< && mkdir -p [$](@D) && touch [$]@
 
 all-am: $(gsettings_SCHEMAS:.xml=.valid)
 uninstall-am: uninstall-gsettings-schemas