summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Dahlin <johan@src.gnome.org>2005-08-03 01:44:59 +0000
committerJohan Dahlin <johan@src.gnome.org>2005-08-03 01:44:59 +0000
commitbca2848019561834423650e583befcba0742d2e0 (patch)
tree1d75a8c14c941cbd72964a6309a16c3563640113
parent2aea74af6e0b3ec0643ad9de621ce4a2d681dceb (diff)
downloadpygtk-bca2848019561834423650e583befcba0742d2e0.tar.gz
gtk/Makefile.am Big makefile cleanup. Fix a couple of bugs meanwhile, most
* gtk/Makefile.am * Makefile.am: Big makefile cleanup. Fix a couple of bugs meanwhile, most noticable, always install include *.defs in EXTRA_DIST and only install them when their target is built.
-rw-r--r--ChangeLog7
-rw-r--r--Makefile.am147
-rw-r--r--gtk/Makefile.am140
3 files changed, 144 insertions, 150 deletions
diff --git a/ChangeLog b/ChangeLog
index 8f179216..7dacb760 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2005-08-02 Johan Dahlin <jdahlin@async.com.br>
+ * gtk/Makefile.am
+ * Makefile.am: Big makefile cleanup. Fix a couple of bugs
+ meanwhile, most noticable, always install include *.defs in
+ EXTRA_DIST and only install them when their target is built.
+
+2005-08-02 Johan Dahlin <jdahlin@async.com.br>
+
* configure.in: Post release version bump
=== PyGTK 2.7.2 ===
diff --git a/Makefile.am b/Makefile.am
index 119f1673..a05e2b12 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,3 @@
-# require automake-1.7
AUTOMAKE_OPTIONS = 1.7
if BUILD_GTK
@@ -9,124 +8,120 @@ SUBDIRS = codegen gobject . $(GTK_SUBDIR) docs examples tests
PLATFORM_VERSION = 2.0
-CLEANFILES =
-EXTRA_DIST = $(defs_DATA)
-pyexec_LTLIBRARIES =
-
-defsdir = $(pkgdatadir)/$(PLATFORM_VERSION)/defs
-defs_DATA =
+CLEANFILES =
+EXTRA_DIST = \
+ ChangeLog.pre-2-0 \
+ ChangeLog.pre-2-6 \
+ config.h.win32 \
+ dsextras.py \
+ makefile.msc \
+ MANIFEST.in \
+ MAPPING \
+ pygtk.spec \
+ pygtk.spec.in \
+ pygtk-$(PLATFORM_VERSION).pc.in \
+ pygtk_postinstall.py \
+ PKG-INFO \
+ PKG-INFO.in \
+ setup.py \
+ THREADS
+INCLUDES = $(PYTHON_INCLUDES) $(GLIB_CFLAGS) -I$(top_srcdir)/gobject
+# pkg-config files
pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = \
- pygobject-$(PLATFORM_VERSION).pc
-
+pkgconfig_DATA = pygobject-$(PLATFORM_VERSION).pc
if BUILD_GTK
pkgconfig_DATA += pygtk-$(PLATFORM_VERSION).pc
endif
-INCLUDES = \
- $(PYTHON_INCLUDES) \
- $(GLIB_CFLAGS) \
- $(PANGO_CFLAGS) \
- $(ATK_CFLAGS) \
- -I$(top_srcdir)/gobject
-
-pkgpythondir = $(pyexecdir)/gtk-2.0
-pkgpyexecdir = $(pyexecdir)/gtk-2.0
-pkgpyexec_LTLIBRARIES =
+# defs files
+defsdir = $(pkgdatadir)/$(PLATFORM_VERSION)/defs
+defs_DATA =
-# this file is common to all pygtk versions.
+# python
pyexec_PYTHON = pygtk.py
+pyexec_LTLIBRARIES =
+noinst_PYTHON = ltihooks.py
-# install pth file.
-install-data-local:
- $(mkinstalldirs) $(DESTDIR)$(pythondir)
- echo "gtk-$(PLATFORM_VERSION)" > $(DESTDIR)$(pyexecdir)/pygtk.pth
-install-exec-local:
- $(mkinstalldirs) $(DESTDIR)$(pyexecdir)
- echo "gtk-$(PLATFORM_VERSION)" > $(DESTDIR)$(pyexecdir)/pygtk.pth
-uninstall-local:
- rm -f $(DESTDIR)$(pythondir)/pygtk.pth $(DESTDIR)$(pyexecdir)/pygtk.pth
-
-
+# pygtk scripts
+pkgpythondir = $(pyexecdir)/gtk-2.0
pkgpython_PYTHON = dsextras.py
-if BUILD_ATK
-pkgpyexec_LTLIBRARIES += atk.la
-defs_DATA += atk.defs atk-types.defs
-endif
-if BUILD_PANGO
-pkgpyexec_LTLIBRARIES += pango.la
-defs_DATA += pango.defs pango-types.defs
-endif
-if BUILD_PANGOCAIRO
-pkgpyexec_LTLIBRARIES += pangocairo.la
-defs_DATA += pangocairo.defs
-endif
+# pygtk extension modules
+pkgpyexecdir = $(pyexecdir)/gtk-2.0
+pkgpyexec_LTLIBRARIES =
+# linker flags
common_ldflags = -module -avoid-version
if PLATFORM_WIN32
common_ldflags += -no-undefined
endif
# atk module
-atk_la_LDFLAGS = $(common_ldflags) -export-symbols-regex initatk
+ATK_DEFS = atk.defs atk-types.defs
+CLEANFILES += atk.c
+EXTRA_DIST += $(ATK_DEFS) atk.override
+atk.c: $(ATK_DEFS) atk.override
+atk_la_CFLAGS = $(ATK_CFLAGS)
atk_la_LIBADD = $(ATK_LIBS)
+atk_la_LDFLAGS = $(common_ldflags) -export-symbols-regex initatk
atk_la_SOURCES = atkmodule.c
nodist_atk_la_SOURCES = atk.c
-atk.c: atk.defs atk-types.defs atk.override
-CLEANFILES += atk.c
-EXTRA_DIST += atk.override
+if BUILD_ATK
+pkgpyexec_LTLIBRARIES += atk.la
+defs_DATA += $(ATK_DEFS)
+endif
# pango module
-pango_la_LDFLAGS = $(common_ldflags) -export-symbols-regex initpango
+PANGO_DEFS = pango.defs pango-types.defs
+CLEANFILES += pango.c
+EXTRA_DIST += $(PANGO_DEFS) pango.override
+pango.c: $(PANGO_DEFS) pango.override
+pango_la_CFLAGS = $(PANGO_CFLAGS)
pango_la_LIBADD = $(PANGO_LIBS)
+pango_la_LDFLAGS = $(common_ldflags) -export-symbols-regex initpango
pango_la_SOURCES = pangomodule.c
nodist_pango_la_SOURCES = pango.c
-pango.c: pango.defs pango-types.defs pango.override
-CLEANFILES += pango.c
-EXTRA_DIST += pango.override
+if BUILD_PANGO
+pkgpyexec_LTLIBRARIES += pango.la
+defs_DATA += $(PANGO_DEFS)
+endif
# pangocairo module
+PANGOCAIRO_DEFS = pangocairo.defs pangocairo.override
+CLEANFILES += pangocairo.c
+EXTRA_DIST += $(PANGOCAIRO_DEFS) pangocairo.override
+pangocairo.c: $(PANGOCAIRO_DEFS) pangocairo.override
+pangocairo_la_CFLAGS = $(PANGOCAIRO_CFLAGS)
pangocairo_la_LDFLAGS = $(common_ldflags) -export-symbols-regex initpangocairo
pangocairo_la_LIBADD = $(PANGOCAIRO_LIBS)
-pangocairo_la_CFLAGS = $(PANGOCAIRO_CFLAGS)
pangocairo_la_SOURCES = pangocairomodule.c
nodist_pangocairo_la_SOURCES = pangocairo.c
-pangocairo.c: pangocairo.defs pangocairo.override
-CLEANFILES += pangocairo.c
-EXTRA_DIST += pangocairo.override
+if BUILD_PANGOCAIRO
+pkgpyexec_LTLIBRARIES += pangocairo.la
+defs_DATA += $(PANGOCAIRO_DEFS)
+endif
+# code generator
.defs.c:
(cd $(srcdir)\
&& $(PYTHON) codegen/codegen.py \
--register pango-types.defs \
--register atk-types.defs \
- --register gtk/gdk-types.defs \
- --register gtk/gtk-types.defs \
--override $*.override \
--prefix py$* $*.defs) > gen-$*.c \
&& cp gen-$*.c $*.c \
&& rm -f gen-$*.c
-noinst_PYTHON = ltihooks.py
-
-EXTRA_DIST += \
- ChangeLog.pre-2-0 \
- ChangeLog.pre-2-6 \
- config.h.win32 \
- dsextras.py \
- makefile.msc \
- MANIFEST.in \
- MAPPING \
- pygtk.spec \
- pygtk.spec.in \
- pygtk-$(PLATFORM_VERSION).pc.in \
- pygtk_postinstall.py \
- PKG-INFO \
- PKG-INFO.in \
- setup.py \
- THREADS
+# install pth file.
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(pythondir)
+ echo "gtk-$(PLATFORM_VERSION)" > $(DESTDIR)$(pyexecdir)/pygtk.pth
+install-exec-local:
+ $(mkinstalldirs) $(DESTDIR)$(pyexecdir)
+ echo "gtk-$(PLATFORM_VERSION)" > $(DESTDIR)$(pyexecdir)/pygtk.pth
+uninstall-local:
+ rm -f $(DESTDIR)$(pythondir)/pygtk.pth $(DESTDIR)$(pyexecdir)/pygtk.pth
snap:
$(MAKE) dist distdir=$(PACKAGE)-SNAP-`date +"%Y%m%d"`
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 15bdea10..a34868c1 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -1,107 +1,92 @@
-PLATFORM_VERSION = 2.0
-
-pkgpythondir = $(pyexecdir)/gtk-2.0
-pkgpyexecdir = $(pyexecdir)/gtk-2.0
+AUTOMAKE_OPTIONS = 1.7
-pygtkdir = $(pkgpythondir)/gtk
-pygtk_PYTHON = __init__.py keysyms.py compat.py
+PLATFORM_VERSION = 2.0
-pygtkexecdir = $(pkgpyexecdir)/gtk
+CLEANFILES =
+EXTRA_DIST = makefile.msc
+INCLUDES = $(PYTHON_INCLUDES) -I$(top_srcdir)/gobject
+# defs files
defsdir = $(pkgdatadir)/$(PLATFORM_VERSION)/defs
defs_DATA =
-EXTRA_DIST =
-CLEANFILES =
+# python scripts & extension modules
+pkgpythondir = $(pyexecdir)/gtk-2.0
+pkgpyexecdir = $(pyexecdir)/gtk-2.0
-EXTRA_DIST += makefile.msc
+# gtk python extension modules
+pygtkexecdir = $(pkgpyexecdir)/gtk
+pygtkexec_LTLIBRARIES =
+# gtk python scripts
+pygtkdir = $(pkgpythondir)/gtk
+pygtk_PYTHON = __init__.py keysyms.py compat.py
+
+# gtk headers
pkgincludedir = $(includedir)/pygtk-$(PLATFORM_VERSION)/pygtk
pkginclude_HEADERS = pygtk.h
-INCLUDES = -I$(top_srcdir)/gobject $(PYTHON_INCLUDES)
-COMMONDEFS = \
- $(top_srcdir)/atk-types.defs \
- $(top_srcdir)/pango-types.defs \
- $(srcdir)/gdk-types.defs \
- $(srcdir)/gtk-types.defs
-
+# linker flags
common_ldflags = -module -avoid-version
if PLATFORM_WIN32
common_ldflags += -no-undefined
endif
-pygtkexec_LTLIBRARIES =
-
# gtk module
-if BUILD_GTK
-pygtkexec_LTLIBRARIES += _gtk.la
-defs_DATA += \
- gdk.defs \
- gdk-types.defs \
- gtk.defs \
- gtk-types.defs \
- gtk-extrafuncs.defs
-endif
-
+GDK_DEFS = gdk.defs gdk-types.defs
+GTK_DEFS = gtk.defs gtk-types.defs gtk-extrafuncs.defs
+GDK_OVERRIDES = gdk.override gdkcairo.override
+GTK_OVERRIDES = \
+ gtk.override \
+ gtkclist.override \
+ gtkcontainer.override \
+ gtkctree.override \
+ gtkiconview.override \
+ gtkstyle.override \
+ gtktextview.override \
+ gtktreeview.override \
+ gtkwidget.override \
+ gtkwindow.override
+CLEANFILES += gtk.c gdk.c
+EXTRA_DIST += $(GDK_DEFS) $(GDK_OVERRIDES) $(GTK_DEFS) $(GTK_OVERRIDES)
+gdk.c: $(GDK_DEFS) $(GDK_OVERRIDES)
+gtk.c: $(GTK_DEFS) $(GTK_OVERRIDES)
_gtk_la_CFLAGS = $(GTK_CFLAGS)
_gtk_la_LDFLAGS = $(common_ldflags) -export-symbols-regex init_gtk
_gtk_la_LIBADD = $(GTK_LIBS)
-_gtk_la_SOURCES = \
- pygtk.h \
- pygtk-private.h \
- gtkmodule.c \
- gtkobject-support.c \
- gtk-types.c \
- pygtktreemodel.h \
- pygtktreemodel.c \
- pygtkcellrenderer.h \
- pygtkcellrenderer.c
+_gtk_la_SOURCES = \
+ gtk-types.c \
+ gtkmodule.c \
+ gtkobject-support.c \
+ pygtk.h \
+ pygtk-private.h \
+ pygtkcellrenderer.h \
+ pygtkcellrenderer.c \
+ pygtktreemodel.h \
+ pygtktreemodel.c
nodist__gtk_la_SOURCES = gtk.c gdk.c
-
+if BUILD_GTK
+pygtkexec_LTLIBRARIES += _gtk.la
+defs_DATA += $(GTK_DEFS) $(GDK_DEFS)
+endif
if PLATFORM_WIN32
_gtk_la_CFLAGS += -DPLATFORM_WIN32
endif
-# prevent the .defs.c rule from trying to generate gtk-types.c because
-# there is gtk-types.defs. This is basically a hack and I really wish I
-# could use pattern rules. Perhaps we should rename gtk-types.c.
-gtk-types.c:
- @:
-
-gtk_overrides = \
- gtk.override \
- gtkclist.override \
- gtkcontainer.override \
- gtkctree.override \
- gtkiconview.override \
- gtkstyle.override \
- gtktextview.override \
- gtktreeview.override \
- gtkwidget.override \
- gtkwindow.override
-
-gdk.c: $(srcdir)/gdk.defs $(COMMONDEFS) $(srcdir)/gdk.override $(srcdir)/gdkcairo.override
-gtk.c: $(srcdir)/gtk.defs $(COMMONDEFS) $(gtk_overrides) $(srcdir)/gtk-extrafuncs.defs
-CLEANFILES += gtk.c gdk.c
-
-EXTRA_DIST += gdk.override gdkcairo.override $(gtk_overrides)
-
# libglade module
-if BUILD_LIBGLADE
-pygtkexec_LTLIBRARIES += glade.la
-defs_DATA += libglade.defs
-endif
+LIBGLADE_DEFS = libglade.defs
+CLEANFILES += libglade.c
+EXTRA_DIST += $(LIBGLADE_DEFS) libglade.override
+libglade.c: $(LIBGLADE_DEFS) libglade.override
glade_la_CFLAGS = $(LIBGLADE_CFLAGS)
-glade_la_LDFLAGS = $(common_ldflags) -export-symbols-regex initglade
glade_la_LIBADD = $(LIBGLADE_LIBS)
+glade_la_LDFLAGS = $(common_ldflags) -export-symbols-regex initglade
glade_la_SOURCES = libglademodule.c
nodist_glade_la_SOURCES = libglade.c
-libglade.c: $(COMMONDEFS) libglade.override
-CLEANFILES += libglade.c
-EXTRA_DIST += libglade.override
-
-EXTRA_DIST += $(defs_DATA)
+if BUILD_LIBGLADE
+pygtkexec_LTLIBRARIES += glade.la
+defs_DATA += $(LIBGLADE_DEFS)
+endif
.defs.c:
(cd $(srcdir) \
@@ -115,3 +100,10 @@ EXTRA_DIST += $(defs_DATA)
--prefix py$* $*.defs) > gen-$*.c \
&& cp gen-$*.c $*.c \
&& rm -f gen-$*.c
+
+# prevent the .defs.c rule from trying to generate gtk-types.c because
+# there is gtk-types.defs. This is basically a hack and I really wish I
+# could use pattern rules. Perhaps we should rename gtk-types.c.
+gtk-types.c:
+ @:
+