summaryrefslogtreecommitdiff
path: root/gdk/Makefile.am
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2002-05-14 23:57:40 +0000
committerOwen Taylor <otaylor@src.gnome.org>2002-05-14 23:57:40 +0000
commit41261ba1970c32fd3754c5992632bd7056104085 (patch)
tree26e6ce4a5e8714beb9cf183ad00a7b6c76d55270 /gdk/Makefile.am
parentb61156d4b76d2be3dd91678f31f3237f5b1f35c1 (diff)
downloadgdk-pixbuf-41261ba1970c32fd3754c5992632bd7056104085.tar.gz
Subsitute in @PERL@ instead of hardcoded /usr/bin/perl. (#78355, Gareth
Tue May 14 19:53:15 2002 Owen Taylor <otaylor@redhat.com> * demos/gtk-demo/geninclude.pl.in configure.in: Subsitute in @PERL@ instead of hardcoded /usr/bin/perl. (#78355, Gareth Pearce. Fix based on patch from Matthias Clasen) * gdk/Makefile.am: Patch from Daniel Elstner to use glib-mkenums instead of makeenums.pl. * gdk/{x11,linux-fb,win32}/Makefile.am: Hack to get gdkenumtypes.h built first.
Diffstat (limited to 'gdk/Makefile.am')
-rw-r--r--gdk/Makefile.am38
1 files changed, 28 insertions, 10 deletions
diff --git a/gdk/Makefile.am b/gdk/Makefile.am
index 9b33cb066..7fbedb205 100644
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -168,7 +168,7 @@ lib_LTLIBRARIES = $(gdktargetlib)
EXTRA_LTLIBRARIES = libgdk-x11-2.0.la libgdk-linux-fb-2.0.la libgdk-win32-2.0.la
-MAINTAINERCLEANFILES =
+MAINTAINERCLEANFILES = gdkenumtypes.h stamp-gdkenumtypes.h
EXTRA_HEADERS =
#
@@ -189,15 +189,33 @@ if DISABLE_EXPLICIT_DEPS
endif
#note: not gdkconfig.h
-BUILT_SOURCES = stamp-gc-h @REBUILD@ gdkenumtypes.c gdkenumtypes.h
-
-gdkenumtypes.h: @REBUILD@ $(gdk_public_h_sources) $(srcdir)/makeenums.pl
- cd $(srcdir) \
- && $(PERL) ./makeenums.pl include $(gdk_public_h_sources) > gdkenumtypes.h
-
-gdkenumtypes.c: @REBUILD@ $(gdk_public_h_sources) $(srcdir)/makeenums.pl
- cd $(srcdir) \
- && $(PERL) ./makeenums.pl cfile $(gdk_public_h_sources) > gdkenumtypes.c
+BUILT_SOURCES = stamp-gc-h @REBUILD@ gdkenumtypes.h
+
+# Generate built header without using automake-1.4 BUILT_SOURCES
+$(libgdk_x11_2_0_la_OBJECTS) $(libgdk_linux_fb_2_0_la_OBJECTS) $(libgdk_win32_2_0_la_OBJECTS): gdkenumtypes.h
+
+$(srcdir)/gdkenumtypes.h: stamp-gdkenumtypes.h
+ @true
+stamp-gdkenumtypes.h: @REBUILD@ $(gdk_public_h_sources) Makefile
+ ( cd $(srcdir) && glib-mkenums \
+ --fhead "#ifndef __GDK_ENUM_TYPES_H__\n#define __GDK_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
+ --fprod "/* enumerations from \"@filename@\" */\n" \
+ --vhead "GType @enum_name@_get_type (void);\n#define GDK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
+ --ftail "G_END_DECLS\n\n#endif /* __GDK_ENUM_TYPES_H__ */" \
+ $(gdk_public_h_sources) ) >> xgen-geth \
+ && (cmp -s xgen-geth $(srcdir)/gdkenumtypes.h || cp xgen-geth $(srcdir)/gdkenumtypes.h ) \
+ && rm -f xgen-geth \
+ && echo timestamp > $(@F)
+$(srcdir)/gdkenumtypes.c: @REBUILD@ $(gdk_public_h_sources) Makefile
+ ( cd $(srcdir) && glib-mkenums \
+ --fhead "#define GDK_ENABLE_BROKEN\n#include \"gdk.h\"" \
+ --fprod "\n/* enumerations from \"@filename@\" */" \
+ --vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \
+ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+ --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
+ $(gdk_public_h_sources) ) > xgen-getc \
+ && cp xgen-getc $(srcdir)/gdkenumtypes.c \
+ && rm -f xgen-getc
gdkconfig.h: stamp-gc-h
@if test -f gdkconfig.h; then :; \