aboutsummaryrefslogtreecommitdiff
path: root/Makefile.am.enum
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2011-02-22 10:25:56 -0600
committerTed Gould <ted@gould.cx>2011-02-22 10:25:56 -0600
commit55bb26bf36783280082c7b3038ab0c1ad908e37f (patch)
tree404cadefcc71ab508c09ff34fd09ee32fb14a22c /Makefile.am.enum
parent7c00755653e6ae4b8598d08df65171aaaebb01be (diff)
parent3207ef906d10baa0c3fa06e57475fa354e56a5d3 (diff)
downloadlibdbusmenu-55bb26bf36783280082c7b3038ab0c1ad908e37f.tar.gz
libdbusmenu-55bb26bf36783280082c7b3038ab0c1ad908e37f.tar.bz2
libdbusmenu-55bb26bf36783280082c7b3038ab0c1ad908e37f.zip
Getting the love branch
Diffstat (limited to 'Makefile.am.enum')
-rw-r--r--Makefile.am.enum45
1 files changed, 45 insertions, 0 deletions
diff --git a/Makefile.am.enum b/Makefile.am.enum
new file mode 100644
index 0000000..0503de0
--- /dev/null
+++ b/Makefile.am.enum
@@ -0,0 +1,45 @@
+# Rules for generating enumeration types using glib-mkenums
+#
+# Define:
+# glib_enum_h = header template file
+# glib_enum_c = source template file
+# glib_enum_headers = list of headers to parse
+#
+# before including Makefile.am.enums. You will also need to have
+# the following targets already defined:
+#
+# CLEANFILES
+# DISTCLEANFILES
+# BUILT_SOURCES
+# EXTRA_DIST
+#
+# Author: Emmanuele Bassi <ebassi@linux.intel.com>
+
+enum_tmpl_h=$(glib_enum_h:.h=.h.in)
+enum_tmpl_c=$(glib_enum_c:.c=.c.in)
+
+CLEANFILES += stamp-enum-types
+DISTCLEANFILES += $(glib_enum_h) $(glib_enum_c)
+BUILT_SOURCES += $(glib_enum_h) $(glib_enum_c)
+EXTRA_DIST += $(enum_tmpl_h) $(enum_tmpl_c)
+
+stamp-enum-types: $(glib_enum_headers)
+ $(QUIET_GEN)mkdir -p `dirname $(builddir)/$(glib_enum_h)`
+ $(QUIET_GEN)$(GLIB_MKENUMS) \
+ --template $(srcdir)/$(enum_tmpl_h) \
+ $(glib_enum_headers) > xgen-eh \
+ && (cmp -s xgen-eh $(builddir)/$(glib_enum_h) || cp -f xgen-eh $(builddir)/$(glib_enum_h)) \
+ && rm -f xgen-eh \
+ && echo timestamp > $(@F)
+
+$(glib_enum_h): stamp-enum-types
+ @true
+
+$(glib_enum_c): $(glib_enum_h)
+ $(QUIET_GEN)mkdir -p `dirname $(builddir)/$(glib_enum_c)`
+ $(QUIET_GEN)$(GLIB_MKENUMS) \
+ --template $(srcdir)/$(enum_tmpl_c) \
+ $(glib_enum_headers) > xgen-ec \
+ && cp -f xgen-ec $(builddir)/$(glib_enum_c) \
+ && rm -f xgen-ec
+