1# Rules for generating enumeration types using glib-mkenums 2# 3# Define: 4# glib_enum_h = header template file 5# glib_enum_c = source template file 6# glib_enum_headers = list of headers to parse 7# 8# before including Makefile.am.enums. You will also need to have 9# the following targets already defined: 10# 11# CLEANFILES 12# DISTCLEANFILES 13# BUILT_SOURCES 14# EXTRA_DIST 15# 16# Author: Emmanuele Bassi <ebassi@linux.intel.com> 17 18enum_tmpl_h=$(glib_enum_h:.h=.h.in) 19enum_tmpl_c=$(glib_enum_c:.c=.c.in) 20 21CLEANFILES += stamp-enum-types 22DISTCLEANFILES += $(glib_enum_h) $(glib_enum_c) 23BUILT_SOURCES += $(glib_enum_h) $(glib_enum_c) 24EXTRA_DIST += $(srcdir)/$(enum_tmpl_h) $(srcdir)/$(enum_tmpl_c) 25 26stamp-enum-types: $(glib_enum_headers) 27 $(QUIET_GEN)$(GLIB_MKENUMS) \ 28 --template $(srcdir)/$(enum_tmpl_h) \ 29 $(glib_enum_headers) > xgen-eh \ 30 && (cmp -s xgen-eh $(glib_enum_h) || cp -f xgen-eh $(glib_enum_h)) \ 31 && rm -f xgen-eh \ 32 && echo timestamp > $(@F) 33 34$(glib_enum_h): stamp-enum-types 35 @true 36 37$(glib_enum_c): $(glib_enum_h) 38 $(QUIET_GEN)$(GLIB_MKENUMS) \ 39 --template $(srcdir)/$(enum_tmpl_c) \ 40 $(glib_enum_headers) > xgen-ec \ 41 && cp -f xgen-ec $(glib_enum_c) \ 42 && rm -f xgen-ec 43 44