]> Pileus Git - ~andy/gtk/blobdiff - gdk/Makefile.am
Use templates for glib-mkenums calls instead of complicated commandlines
[~andy/gtk] / gdk / Makefile.am
index 29cfbcc46d29742682795fd850e7c30fbb50c231..aeba1389ceebbca55324306d7d17a6e163eb294f 100644 (file)
@@ -1,14 +1,27 @@
 ## Makefile.am for gtk+/gdk
+include $(top_srcdir)/Makefile.decl
 
 SUBDIRS = $(gdktarget)
-DIST_SUBDIRS = linux-fb win32 x11
+DIST_SUBDIRS = win32 x11 quartz directfb
 
-EXTRA_DIST =                   \
+EXTRA_DIST +=                  \
+       keynames.txt            \
+       keyname-table.h         \
+       gen-keyname-table.pl    \
        gdkconfig.h.win32       \
+       gdkkeysyms-update.pl    \
        gdk.def                 \
        gdkmarshalers.list      \
+       gdkmedialib.h           \
        makeenums.pl            \
-       makefile.msc
+       makefile.msc            \
+       gdk.symbols             \
+       makegdkalias.pl         \
+       gdkaliasdef.c           \
+       gdkenumtypes.c.template \
+       gdkenumtypes.h.template \
+       abicheck.sh             \
+       pltcheck.sh
 
 INCLUDES =                              \
        -DG_LOG_DOMAIN=\"Gdk\"          \
@@ -16,9 +29,7 @@ INCLUDES =                              \
        -I$(top_srcdir)                 \
        -I$(top_builddir)/gdk           \
        -I$(top_srcdir)/gdk-pixbuf      \
-       -DG_DISABLE_DEPRECATED          \
-       -DGDK_PIXBUF_DISABLE_DEPRECATED \
-       -DGDK_DISABLE_DEPRECATED        \
+       -DGDK_PIXBUF_DISABLE_DEPRECATED \
        $(GTK_DEBUG_FLAGS)              \
        $(GDK_DEP_CFLAGS)
 
@@ -38,6 +49,12 @@ LDADD = \
        $(no_undefined)                                                 \
        $(LIBTOOL_EXPORT_OPTIONS)
 
+if USE_MEDIALIB
+medialib_sources =  \
+    gdkmedialib.c
+else
+medialib_sources =
+endif
 
 #
 # setup source file variables
@@ -47,6 +64,7 @@ LDADD = \
 #
 gdk_public_h_sources =                         \
        gdk.h                                   \
+       gdkcairo.h                              \
        gdkcolor.h                              \
        gdkcursor.h                             \
        gdkdisplay.h                            \
@@ -70,6 +88,7 @@ gdk_public_h_sources =                                \
        gdkscreen.h                             \
        gdkselection.h                          \
        gdkspawn.h                              \
+       gdktestutils.h                          \
        gdktypes.h                              \
        gdkvisual.h                             \
        gdkwindow.h
@@ -77,10 +96,13 @@ gdk_public_h_sources =                              \
 gdk_headers =                     \
        $(gdk_public_h_sources)   \
        gdkenumtypes.h            \
-       gdkprivate.h
+       gdkprivate.h              \
+       gdkalias.h
 
 gdk_c_sources =                 \
+       $(medialib_sources)     \
        gdk.c                   \
+       gdkcairo.c              \
        gdkcolor.c              \
        gdkcursor.c             \
        gdkdisplay.c            \
@@ -118,42 +140,41 @@ gdk_c_sources =                 \
 gdkincludedir = $(includedir)/gtk-2.0/gdk
 gdkinclude_HEADERS = $(gdk_headers)
 
-# gdkmarshalers.c is not here becuase it is currently an empty file
+# gdkmarshalers.c is not here because it is currently an empty file
 common_sources =                \
        $(gdk_c_sources)        \
        gdkenumtypes.c          \
        gdkmarshalers.h
 
+libgdk_directfb_2_0_la_SOURCES = $(common_sources) 
+libgdk_directfb_2_0_la_LIBADD = directfb/libgdk-directfb.la $(GDK_DEP_LIBS) \
+  $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
+libgdk_directfb_2_0_la_LDFLAGS = $(LDADD)
+
 libgdk_x11_2_0_la_SOURCES = $(common_sources)
 libgdk_x11_2_0_la_LIBADD = x11/libgdk-x11.la $(GDK_DEP_LIBS) \
   $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
 libgdk_x11_2_0_la_LDFLAGS = $(LDADD)
 
-libgdk_linux_fb_2_0_la_SOURCES = $(common_sources) gdkkeynames.c
-libgdk_linux_fb_2_0_la_LIBADD = linux-fb/libgdk-linux-fb.la $(GDK_DEP_LIBS) \
+libgdk_quartz_2_0_la_SOURCES = $(common_sources) gdkkeynames.c
+libgdk_quartz_2_0_la_LIBADD = quartz/libgdk-quartz.la $(GDK_DEP_LIBS) \
   $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
-libgdk_linux_fb_2_0_la_LDFLAGS = $(LDADD)
+libgdk_quartz_2_0_la_LDFLAGS = $(LDADD)
 
 libgdk_win32_2_0_la_SOURCES = $(common_sources) gdkkeynames.c
 libgdk_win32_2_0_la_LIBADD = win32/libgdk-win32.la $(GDK_DEP_LIBS) \
   $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
-libgdk_win32_2_0_la_DEPENDENCIES = win32/libgdk-win32.la gdk.def
-libgdk_win32_2_0_la_LDFLAGS = -export-symbols gdk.def $(LDADD)
-if HAVE_WINTAB
-libgdk_win32_2_0_la_LIBADD += -Lwin32 -lwntab32x
-endif
-if HAVE_IE55
-libgdk_win32_2_0_la_LIBADD += -Lwin32 -lie55uuid
-endif
+libgdk_win32_2_0_la_DEPENDENCIES = win32/libgdk-win32.la win32/rc/gdk-win32-res.o gdk.def
+libgdk_win32_2_0_la_LDFLAGS = -Wl,win32/rc/gdk-win32-res.o -export-symbols gdk.def $(LDADD)
 
 if OS_WIN32
-install-libtool-import-lib:
-       $(INSTALL) .libs/libgdk-win32-$(GTK_API_VERSION).dll.a $(DESTDIR)$(libdir)
-uninstall-libtool-import-lib:
-       -rm $(DESTDIR)$(libdir)/libgdk-win32-$(GTK_API_VERSION).dll.a
+install-def-file: gdk.def
+       $(INSTALL) gdk.def $(DESTDIR)$(libdir)/gdk-win32-2.0.def
+uninstall-def-file:
+       -rm $(DESTDIR)$(libdir)/gdk-win32-2.0.def
 else
-install-libtool-import-lib:
-uninstall-libtool-import-lib:
+install-def-file:
+uninstall-def-file:
 endif
 
 if MS_LIB_AVAILABLE
@@ -172,10 +193,23 @@ install-ms-lib:
 uninstall-ms-lib:
 endif
 
+gdk.def: gdk.symbols
+       (echo -e EXPORTS; $(CPP) -P -DALL_FILES -DGDK_WINDOWING_WIN32 -DINCLUDE_VARIABLES - <$(srcdir)/gdk.symbols | sed -e '/^$$/d' -e 's/^/   /' -e 's/G_GNUC_[^ ]*//g') > gdk.def
+
+gdkalias.h: gdk.symbols
+        $(PERL) $(srcdir)/makegdkalias.pl < $(srcdir)/gdk.symbols > gdkalias.h
+
+gdkaliasdef.c: gdk.symbols
+        $(PERL) $(srcdir)/makegdkalias.pl -def < $(srcdir)/gdk.symbols > gdkaliasdef.c
+
+if OS_LINUX
+TESTS = abicheck.sh pltcheck.sh
+endif
+
 
 lib_LTLIBRARIES = $(gdktargetlib)
 
-EXTRA_LTLIBRARIES = libgdk-x11-2.0.la libgdk-linux-fb-2.0.la libgdk-win32-2.0.la
+EXTRA_LTLIBRARIES = libgdk-x11-2.0.la libgdk-win32-2.0.la libgdk-quartz-2.0.la libgdk-directfb-2.0.la
 
 MAINTAINERCLEANFILES = gdkenumtypes.h stamp-gdkenumtypes.h gdkenumtypes.c \
   gdkmarshalers.h gdkmarshalers.c
@@ -200,6 +234,8 @@ endif
 
 #note: not gdkconfig.h
 BUILT_SOURCES =                                        \
+       gdkalias.h                              \
+       gdkaliasdef.c                           \
        gdkenumtypes.h                          \
        gdkenumtypes.c                          \
        gdkmarshalers.h                         \
@@ -208,23 +244,14 @@ BUILT_SOURCES =                                   \
 
 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__ */" \
+stamp-gdkenumtypes.h: @REBUILD@ $(gdk_public_h_sources) gdkenumtypes.h.template
+       ( cd $(srcdir) && $(GLIB_MKENUMS) --template gdkenumtypes.h.template \
                $(gdk_public_h_sources) ) >> xgen-geth \
        && (cmp -s xgen-geth gdkenumtypes.h || cp xgen-geth gdkenumtypes.h ) \
        && rm -f xgen-geth \
        && echo timestamp > $(@F)
-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" \
+gdkenumtypes.c: @REBUILD@ $(gdk_public_h_sources) gdkenumtypes.c.template
+       ( cd $(srcdir) && $(GLIB_MKENUMS) --template gdkenumtypes.c.template \
                $(gdk_public_h_sources) ) > xgen-getc \
        && cp xgen-getc gdkenumtypes.c  \
        && rm -f xgen-getc
@@ -237,7 +264,7 @@ gdkmarshalers.h: @REBUILD@ gdkmarshalers.list
        && mv gdkmarshalers-h.tmp gdkmarshalers.h \
        || ( rm -f gdkmarshalers-h.tmp && exit 1)
 gdkmarshalers.c: @REBUILD@ gdkmarshalers.list
-       $(GLIB_GENMARSHAL) --prefix=gdk_marshal $(srcdir)/gdkmarshalers.list --body > gdkmarshalers-c.tmp       \
+       (echo "#include \"gdkalias.h\""; $(GLIB_GENMARSHAL) --prefix=gdk_marshal $(srcdir)/gdkmarshalers.list --body) > gdkmarshalers-c.tmp     \
        && mv gdkmarshalers-c.tmp gdkmarshalers.c \
        || ( rm -f gdkmarshalers-c.tmp && exit 1 )
 
@@ -250,9 +277,9 @@ stamp-gc-h: $(top_builddir)/config.status
 
 DISTCLEANFILES = gdkconfig.h stamp-gc-h
 
-install-data-local: install-ms-lib install-libtool-import-lib
+install-data-local: install-ms-lib install-def-file
 
-uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib
+uninstall-local: uninstall-ms-lib uninstall-def-file
        rm -f $(DESTDIR)$(configexecincludedir)/gdkconfig.h
 
 # if srcdir!=builddir, clean out maintainer-clean files from builddir