--- /dev/null
+--- a/common/glib-gen.mak
++++ b/common/glib-gen.mak
+@@ -1,11 +1,13 @@
+ # these are the variables your Makefile.am should set
+ # the example is based on the colorbalance interface
+
++H := \#
++
+ #glib_enum_headers=$(colorbalance_headers)
+ #glib_enum_define=GST_COLOR_BALANCE
+ #glib_enum_prefix=gst_color_balance
+
+-enum_headers=$(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
++enum_headers=$(foreach h,$(glib_enum_headers),\n$(H)include \"$(h)\")
+
+ # these are all the rules generating the relevant files
+ %-marshal.h: %-marshal.list
+--- a/common/gst-glib-gen.mak
++++ b/common/gst-glib-gen.mak
+@@ -1,14 +1,16 @@
+ # these are the variables your Makefile.am should set
+ # the example is based on the colorbalance interface
+
++H := \#
++
+ #glib_enum_headers=$(colorbalance_headers)
+ #glib_enum_define=GST_COLOR_BALANCE
+ #glib_gen_prefix=gst_color_balance
+ #glib_gen_basename=colorbalance
+ #glib_gen_decl_banner=GST_EXPORT
+-#glib_gen_decl_include=\#include <gst/foo/foo-prelude.h>
++#glib_gen_decl_include=$(H)include <gst/foo/foo-prelude.h>
+
+-enum_headers=$(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
++enum_headers=$(foreach h,$(glib_enum_headers),\n$(H)include \"$(h)\")
+
+ # these are all the rules generating the relevant files
+ $(glib_gen_basename)-marshal.h: $(glib_gen_basename)-marshal.list
+--- a/gst/encoding/Makefile.in
++++ b/gst/encoding/Makefile.in
+@@ -17,12 +17,14 @@
+ # these are the variables your Makefile.am should set
+ # the example is based on the colorbalance interface
+
++H := \#
++
+ #glib_enum_headers=$(colorbalance_headers)
+ #glib_enum_define=GST_COLOR_BALANCE
+ #glib_gen_prefix=gst_color_balance
+ #glib_gen_basename=colorbalance
+ #glib_gen_decl_banner=GST_EXPORT
+-#glib_gen_decl_include=\#include <gst/foo/foo-prelude.h>
++#glib_gen_decl_include=$(H)include <gst/foo/foo-prelude.h>
+
+
+ VPATH = @srcdir@
+@@ -638,7 +640,7 @@
+ gstsmartencoder.h \
+ gststreamcombinerpad.h
+
+-enum_headers = $(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
++enum_headers = $(foreach h,$(glib_enum_headers),\n$(H)include \"$(h)\")
+ all: all-am
+
+ .SUFFIXES:
+--- a/gst-libs/gst/app/Makefile.in
++++ b/gst-libs/gst/app/Makefile.in
+@@ -17,13 +17,15 @@
+ # these are the variables your Makefile.am should set
+ # the example is based on the colorbalance interface
+
++H := \#
++
+ #glib_enum_headers=$(colorbalance_headers)
+ #glib_enum_define=GST_COLOR_BALANCE
+ #glib_gen_prefix=gst_color_balance
+ #glib_gen_basename=colorbalance
+ #glib_gen_decl_banner=GST_EXPORT
+-#glib_gen_decl_include=\#include <gst/foo/foo-prelude.h>
+
++#glib_gen_decl_include=$(H)include <gst/foo/foo-prelude.h>
+
+
+ VPATH = @srcdir@
+@@ -618,12 +620,12 @@
+ glib_gen_prefix = __gst_app
+ glib_gen_basename = app
+ glib_gen_decl_banner = GST_APP_API
+-glib_gen_decl_include = \#include <gst/app/app-prelude.h>
++glib_gen_decl_include = $(H)include <gst/app/app-prelude.h>
+ glib_enum_headers = gstappsrc.h
+ built_sources = app-enumtypes.c
+ built_headers = app-enumtypes.h
+ BUILT_SOURCES = $(built_sources) $(built_headers)
+-enum_headers = $(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
++enum_headers = $(foreach h,$(glib_enum_headers),\n$(H)include \"$(h)\")
+ libgstapp_@GST_API_VERSION@_la_SOURCES = gstappsrc.c gstappsink.c
+ nodist_libgstapp_@GST_API_VERSION@_la_SOURCES = $(BUILT_SOURCES)
+ libgstapp_@GST_API_VERSION@_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) \
+--- a/gst-libs/gst/audio/Makefile.in
++++ b/gst-libs/gst/audio/Makefile.in
+@@ -39,13 +39,15 @@
+ # these are the variables your Makefile.am should set
+ # the example is based on the colorbalance interface
+
++H := \#
++
+ #glib_enum_headers=$(colorbalance_headers)
+ #glib_enum_define=GST_COLOR_BALANCE
+ #glib_gen_prefix=gst_color_balance
+ #glib_gen_basename=colorbalance
+ #glib_gen_decl_banner=GST_EXPORT
+-#glib_gen_decl_include=\#include <gst/foo/foo-prelude.h>
+
++#glib_gen_decl_include=$(H)include <gst/foo/foo-prelude.h>
+
+
+ VPATH = @srcdir@
+@@ -784,7 +786,7 @@
+ glib_gen_prefix = gst_audio
+ glib_gen_basename = audio
+ glib_gen_decl_banner = GST_AUDIO_API
+-glib_gen_decl_include = \#include <gst/audio/audio-prelude.h>
++glib_gen_decl_include = $(H)include <gst/audio/audio-prelude.h>
+ built_sources = audio-enumtypes.c
+ built_headers = audio-enumtypes.h
+ lib_LTLIBRARIES = \
+@@ -895,7 +897,7 @@
+ @HAVE_X86_TRUE@ $(GST_LIB_LDFLAGS) \
+ @HAVE_X86_TRUE@ $(GST_ALL_LDFLAGS)
+
+-enum_headers = $(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
++enum_headers = $(foreach h,$(glib_enum_headers),\n$(H)include \"$(h)\")
+
+ # Introspection
+ @HAVE_INTROSPECTION_TRUE@BUILT_GIRSOURCES = GstAudio-@GST_API_VERSION@.gir
+--- a/gst-libs/gst/pbutils/Makefile.in
++++ b/gst-libs/gst/pbutils/Makefile.in
+@@ -17,13 +17,15 @@
+ # these are the variables your Makefile.am should set
+ # the example is based on the colorbalance interface
+
++H := \#
++
+ #glib_enum_headers=$(colorbalance_headers)
+ #glib_enum_define=GST_COLOR_BALANCE
+ #glib_gen_prefix=gst_color_balance
+ #glib_gen_basename=colorbalance
+ #glib_gen_decl_banner=GST_EXPORT
+-#glib_gen_decl_include=\#include <gst/foo/foo-prelude.h>
+
++#glib_gen_decl_include=$(H)include <gst/foo/foo-prelude.h>
+
+
+ VPATH = @srcdir@
+@@ -664,6 +666,7 @@
+ gstdiscoverer.h \
+ gstaudiovisualizer.h
+
++H := \#
+
+ # variables used for enum/marshal generation
+ glib_enum_headers = $(headers_pbutils)
+@@ -671,7 +674,7 @@
+ glib_gen_prefix = pbutils
+ glib_gen_basename = pbutils
+ glib_gen_decl_banner = GST_PBUTILS_API
+-glib_gen_decl_include = \#include <gst/pbutils/pbutils-prelude.h>
++glib_gen_decl_include = $(H)include <gst/pbutils/pbutils-prelude.h>
+ built_headers_configure = \
+ gstpluginsbaseversion.h
+
+@@ -719,7 +722,7 @@
+
+ # DISTCLEANFILES is for files generated by configure
+ DISTCLEANFILES = $(built_headers_configure)
+-enum_headers = $(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
++enum_headers = $(foreach h,$(glib_enum_headers),\n$(H)include \"$(h)\")
+ @HAVE_INTROSPECTION_TRUE@BUILT_GIRSOURCES = GstPbutils-@GST_API_VERSION@.gir
+ @HAVE_INTROSPECTION_TRUE@gir_headers = $(patsubst %,$(srcdir)/%, \
+ @HAVE_INTROSPECTION_TRUE@ $(libgstpbutils_@GST_API_VERSION@include_HEADERS)) \
+--- a/gst-libs/gst/rtp/Makefile.in
++++ b/gst-libs/gst/rtp/Makefile.in
+@@ -17,13 +17,15 @@
+ # these are the variables your Makefile.am should set
+ # the example is based on the colorbalance interface
+
++H := \#
++
+ #glib_enum_headers=$(colorbalance_headers)
+ #glib_enum_define=GST_COLOR_BALANCE
+ #glib_gen_prefix=gst_color_balance
+ #glib_gen_basename=colorbalance
+ #glib_gen_decl_banner=GST_EXPORT
+-#glib_gen_decl_include=\#include <gst/foo/foo-prelude.h>
+
++#glib_gen_decl_include=$(H)include <gst/foo/foo-prelude.h>
+
+
+ VPATH = @srcdir@
+@@ -675,8 +677,8 @@
+ glib_enum_headers = $(libgstrtpinclude_HEADERS)
+ glib_gen_basename = gstrtp
+ glib_gen_decl_banner = GST_RTP_API
+-glib_gen_decl_include = \#include <gst/rtp/rtp-prelude.h>
+-enum_headers = $(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
++glib_gen_decl_include = $(H)include <gst/rtp/rtp-prelude.h>
++enum_headers = $(foreach h,$(glib_enum_headers),\n$(H)include \"$(h)\")
+ @HAVE_INTROSPECTION_TRUE@BUILT_GIRSOURCES = GstRtp-@GST_API_VERSION@.gir
+ @HAVE_INTROSPECTION_TRUE@gir_headers = $(patsubst %,$(srcdir)/%, \
+ @HAVE_INTROSPECTION_TRUE@ $(libgstrtpinclude_HEADERS)) \
+--- a/gst-libs/gst/rtsp/Makefile.in
++++ b/gst-libs/gst/rtsp/Makefile.in
+@@ -17,13 +17,15 @@
+ # these are the variables your Makefile.am should set
+ # the example is based on the colorbalance interface
+
++H := \#
++
+ #glib_enum_headers=$(colorbalance_headers)
+ #glib_enum_define=GST_COLOR_BALANCE
+ #glib_gen_prefix=gst_color_balance
+ #glib_gen_basename=colorbalance
+ #glib_gen_decl_banner=GST_EXPORT
+-#glib_gen_decl_include=\#include <gst/foo/foo-prelude.h>
+
++#glib_gen_decl_include=$(H)include <gst/foo/foo-prelude.h>
+
+
+ VPATH = @srcdir@
+@@ -679,8 +681,8 @@
+ glib_enum_headers = $(libgstrtspinclude_HEADERS)
+ glib_gen_basename = gstrtsp
+ glib_gen_decl_banner = GST_RTSP_API
+-glib_gen_decl_include = \#include <gst/rtsp/rtsp-prelude.h>
+-enum_headers = $(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
++glib_gen_decl_include = $(H)include <gst/rtsp/rtsp-prelude.h>
++enum_headers = $(foreach h,$(glib_enum_headers),\n$(H)include \"$(h)\")
+ @HAVE_INTROSPECTION_TRUE@BUILT_GIRSOURCES = GstRtsp-@GST_API_VERSION@.gir
+ @HAVE_INTROSPECTION_TRUE@gir_headers = $(patsubst %,$(srcdir)/%, \
+ @HAVE_INTROSPECTION_TRUE@ $(libgstrtspinclude_HEADERS)) \
+--- a/gst-libs/gst/tag/Makefile.in
++++ b/gst-libs/gst/tag/Makefile.in
+@@ -17,13 +17,15 @@
+ # these are the variables your Makefile.am should set
+ # the example is based on the colorbalance interface
+
++H := \#
++
+ #glib_enum_headers=$(colorbalance_headers)
+ #glib_enum_define=GST_COLOR_BALANCE
+ #glib_gen_prefix=gst_color_balance
+ #glib_gen_basename=colorbalance
+ #glib_gen_decl_banner=GST_EXPORT
+-#glib_gen_decl_include=\#include <gst/foo/foo-prelude.h>
+
++#glib_gen_decl_include=$(H)include <gst/foo/foo-prelude.h>
+
+
+ VPATH = @srcdir@
+@@ -680,12 +682,12 @@
+ glib_gen_prefix = gst_tag
+ glib_gen_basename = tag
+ glib_gen_decl_banner = GST_TAG_API
+-glib_gen_decl_include = \#include <gst/tag/tag-prelude.h>
++glib_gen_decl_include = $(H)include <gst/tag/tag-prelude.h>
+ glib_enum_headers = tag.h gsttagdemux.h
+ built_sources = tag-enumtypes.c
+ built_headers = tag-enumtypes.h
+ BUILT_SOURCES = $(built_sources) $(built_headers)
+-enum_headers = $(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
++enum_headers = $(foreach h,$(glib_enum_headers),\n$(H)include \"$(h)\")
+ libgsttaginclude_HEADERS = \
+ tag.h tag-prelude.h gsttagdemux.h gsttagmux.h xmpwriter.h
+
+--- a/gst-libs/gst/video/Makefile.in
++++ b/gst-libs/gst/video/Makefile.in
+@@ -39,13 +39,15 @@
+ # these are the variables your Makefile.am should set
+ # the example is based on the colorbalance interface
+
++H := \#
++
+ #glib_enum_headers=$(colorbalance_headers)
+ #glib_enum_define=GST_COLOR_BALANCE
+ #glib_gen_prefix=gst_color_balance
+ #glib_gen_basename=colorbalance
+ #glib_gen_decl_banner=GST_EXPORT
+-#glib_gen_decl_include=\#include <gst/foo/foo-prelude.h>
+
++#glib_gen_decl_include=$(H)include <gst/foo/foo-prelude.h>
+
+
+ VPATH = @srcdir@
+@@ -740,7 +742,7 @@
+ glib_gen_prefix = gst_video
+ glib_gen_basename = video
+ glib_gen_decl_banner = GST_VIDEO_API
+-glib_gen_decl_include = \#include <gst/video/video-prelude.h>
++glib_gen_decl_include = $(H)include <gst/video/video-prelude.h>
+ built_sources = video-enumtypes.c
+ built_headers = video-enumtypes.h
+ lib_LTLIBRARIES = libgstvideo-@GST_API_VERSION@.la
+@@ -821,7 +823,7 @@
+
+ libgstvideo_@GST_API_VERSION@_la_LIBADD = $(GST_BASE_LIBS) $(GST_LIBS) $(ORC_LIBS) $(LIBM)
+ libgstvideo_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
+-enum_headers = $(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
++enum_headers = $(foreach h,$(glib_enum_headers),\n$(H)include \"$(h)\")
+ @HAVE_INTROSPECTION_TRUE@BUILT_GIRSOURCES = GstVideo-@GST_API_VERSION@.gir
+ @HAVE_INTROSPECTION_TRUE@gir_headers = $(patsubst %,$(srcdir)/%, \
+ @HAVE_INTROSPECTION_TRUE@ $(libgstvideo_@GST_API_VERSION@include_HEADERS)) \