1 ## Makefile.am for gtk+/gtk
5 INCLUDES = @STRIP_BEGIN@ \
6 -DG_LOG_DOMAIN=\"Gtk\" \
7 -DGTK_DISABLE_COMPAT_H \
8 -DGTK_EXE_PREFIX=\"$(exec_prefix)\" \
9 -DGTK_DATA_PREFIX=\"$(prefix)\" \
10 -DGTK_SYSCONFDIR=\"$(sysconfdir)\" \
11 -DGTK_LOCALEDIR=\"$(gtklocaledir)\" \
12 -DGTK_VERSION=\"@GTK_VERSION@\" \
13 -DTESTGTK_RCFILE=\"`pwd`/$(srcdir)/testgtkrc\" \
14 -I$(top_srcdir) -I../gdk \
16 -I$(top_srcdir)/gdk-pixbuf -I../gdk-pixbuf \
27 # libtool stuff: set version and export symbols for resolving
28 # since automake doesn't support conditionalized libsomething_la_LDFLAGS
29 # we use the general approach here
30 libgtkincludedir = $(includedir)/gtk-2.0/gtk
31 LDFLAGS = @STRIP_BEGIN@ \
32 -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
42 # $(top_builddir)/gdk/libgdk-1.3.la
46 # setup source file variables
48 # GTK+ header files for public installation (non-generated, or generated
51 gtk_public_h_sources = @STRIP_BEGIN@ \
78 gtkcellrenderertext.h \
79 gtkcellrenderertextpixbuf.h \
80 gtkcellrenderertoggle.h \
81 gtkcellrendererpixbuf.h \
109 gtkimmulticontext.h \
133 gdk-pixbuf-loader.h \
147 gtkscrolledwindow.h \
157 gtktearoffmenuitem.h \
177 gtktreeviewcolumn.h \
192 # GTK+ header files that we install, but don't extract enums from
193 # (This class is iffy; we have it for the semi-public interface
194 # of the Text widget, which is useful for writing new view types
195 # such as a Canvas text item, but isn't part of the clean public
198 gtk_semipublic_h_sources = @STRIP_BEGIN@ \
203 # GTK+ header files that don't get installed
204 gtk_private_h_sources = @STRIP_BEGIN@ \
207 gtktextchildprivate.h \
210 gtktextiterprivate.h \
211 gtktextmarkprivate.h \
212 gtktexttagprivate.h \
219 # GTK+ C sources to build the library from
220 gtk_c_sources = @STRIP_BEGIN@ \
235 gtkcellrenderertext.c \
236 gtkcellrenderertextpixbuf.c \
237 gtkcellrenderertoggle.c \
238 gtkcellrendererpixbuf.c \
244 gtkcolorseldialog.c \
274 gtkimcontextsimple.c \
275 gtkimcontextsimple.h \
276 gtkimmulticontext.c \
315 gtkscrolledwindow.c \
325 gtktearoffmenuitem.c \
332 gtktextiterprivate.h \
335 gtktextmarkprivate.h \
353 gtktreeviewcolumn.c \
367 gdk-pixbuf-loader.c \
369 # we use our own built_sources variable rules to avoid automake's
370 # BUILT_SOURCES oddities
371 # we generate frequently rebuild files piggyback on a stamp file, so sources
372 # depending on them only get rebuild when the built source actually changed
375 # built sources that don't get installed
376 gtk_built_sources = @STRIP_BEGIN@ \
378 stamp-gtktypebuiltins.h \
380 gtktypebuiltins_vars.c \
381 gtktypebuiltins_ids.c \
382 gtktypebuiltins_evals.c \
386 # built sources that get installed with the header files
387 gtk_built_public_sources = @STRIP_BEGIN@ \
392 # non-header sources (headers should be specified in the above variables)
393 # that don't serve as direct make target sources, i.e. they don't have
394 # their own .lo rules and don't get publically installed
395 gtk_extra_sources = @STRIP_BEGIN@ \
406 # Extra headers that are used for enum type array/id generation
407 gdk_headers = @STRIP_BEGIN@ \
412 ../gdk/gdkdrawable.h \
420 ../gdk/gdkproperty.h \
423 ../gdk/gdkselection.h \
430 # setup GTK+ sources and their dependancies
432 all_headers = $(gtk_public_h_sources) $(gtk_semipublic_h_sources) $(gtk_built_public_sources)
433 all_sources = $(gtk_c_sources)
435 extra = @gtktargetlib@
437 libgtk_x11_includedir = $(includedir)/gtk-2.0/gtk
438 libgtk_x11_include_HEADERS = $(all_headers)
439 libgtk_x11_1_3_la_SOURCES = $(all_sources)
443 libgtk_nanox_includedir = $(includedir)/gtk-2.0/gtk
444 libgtk_nanox_include_HEADERS = $(all_headers)
445 libgtk_nanox_1_3_la_SOURCES = $(all_sources)
449 libgtk_linux_fb_includedir = $(includedir)/gtk-2.0/gtk
450 libgtk_linux_fb_include_HEADERS = $(all_headers)
451 libgtk_linux_fb_1_3_la_SOURCES = $(all_sources)
454 # now define the real one to workaround automake's mishandling
455 lib_LTLIBRARIES = $(extra)
457 EXTRA_LTLIBRARIES = libgtk-x11-1.3.la libgtk-nanox-1.3.la libgtk-linux-fb-1.3.la
459 MAINTAINERCLEANFILES += $(gtk_built_public_sources) $(gtk_built_sources)
461 EXTRA_DIST += $(gtk_private_h_sources)
462 EXTRA_DIST += $(gtk_built_sources) $(gtk_built_public_sources) $(gtk_extra_sources)
465 # rules to generate built sources
467 # setup autogeneration dependancies
468 gen_sources = xgen-gdef xgen-gtbh xgen-gtbvc xgen-gtbic xgen-gtbec xgen-gmh xgen-gmc
469 CLEANFILES += $(gen_sources)
470 OLD_STAMP: $(gtk_built_public_sources) $(gtk_built_sources)
471 $(OBJECTS): OLD_STAMP # this is our oldest-source-stamp
472 # initial creation of the real stamp-* files
473 gtk.defs gtkmarshal.h gtktypebuiltins.h: # never add deps here
474 test -f "$(srcdir)/$@" || touch $(srcdir)/$@
475 # normal autogeneration rules
476 # all autogenerated files need to generated in the srcdir,
477 # so old versions get remade and are not confused with newer
478 # versions in the build dir. thus a development setup requires
479 # srcdir to be writable, passing --disable-rebuilds to
480 # ../configure will supress all autogeneration rules.
481 $(srcdir)/stamp-gtk.defs: @REBUILD@ makeenums.pl gtk.defs gtk-boxed.defs $(gtk_public_h_sources) $(gdk_headers)
483 && $(PERL) makeenums.pl defs $(gtk_public_h_sources) $(gdk_headers) > xgen-gdef \
484 && cat gtk-boxed.defs >> xgen-gdef \
485 && (cmp -s xgen-gdef gtk.defs || cp xgen-gdef gtk.defs) \
487 && echo timestamp > $(@F)
488 $(srcdir)/gtkmarshal.c: stamp-gtkmarshal.h
489 $(srcdir)/gtkmarshal.c $(srcdir)/stamp-gtkmarshal.h: @REBUILD@ genmarshal.pl gtkmarshal.list gtkmarshal.h
491 && $(PERL) genmarshal.pl gtkmarshal.list xgen-gmh xgen-gmc \
492 && (test -z "$(INDENT)" || $(INDENT) xgen-gmh) \
493 && (test -z "$(INDENT)" || $(INDENT) xgen-gmc) \
494 && cp xgen-gmc gtkmarshal.c \
495 && (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
496 && rm -f xgen-gmh xgen-gmc xgen-gmh~ xgen-gmc~ \
497 && echo timestamp > stamp-gtkmarshal.h
498 $(srcdir)/stamp-gtktypebuiltins.h: @REBUILD@ maketypes.awk stamp-gtk.defs gtktypebuiltins.h
500 && $(AWK) -f maketypes.awk gtk.defs macros > xgen-gtbh \
501 && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h) \
503 && echo timestamp > $(@F)
504 $(srcdir)/gtktypebuiltins_vars.c: @REBUILD@ maketypes.awk stamp-gtk.defs
506 && $(AWK) -f maketypes.awk gtk.defs variables > xgen-gtbvc \
507 && cp xgen-gtbvc $(@F) \
509 $(srcdir)/gtktypebuiltins_ids.c: @REBUILD@ maketypes.awk stamp-gtk.defs
511 && $(AWK) -f maketypes.awk gtk.defs entries > xgen-gtbic \
512 && cp xgen-gtbic $(@F) \
514 $(srcdir)/gtktypebuiltins_evals.c: @REBUILD@ makeenums.pl $(gtk_public_h_sources) $(gdk_headers)
516 && $(PERL) makeenums.pl arrays $(gtk_public_h_sources) $(gdk_headers) > xgen-gtbec \
517 && cp xgen-gtbec $(@F) \
521 gtkconfdir = $(sysconfdir)/gtk-2.0
522 gtkconf_DATA = gtkrc.el gtkrc.eo gtkrc.he gtkrc.hy gtkrc.ja \
523 gtkrc.ko gtkrc.ru gtkrc.tr gtkrc.th gtkrc.uk gtkrc.iso-8859-2 \
524 gtkrc.iso-8859-5 gtkrc.iso-8859-13 gtkrc.iso-8859-14 \
525 gtkrc.iso-8859-15 gtkrc.zh_CN gtkrc.zh_TW.Big5 \
526 gtkrc.ka_GE.georgianacademy gtkrc.ka_GE.georgianps \
527 gtkrc.vi_VN.tcvn gtkrc.vi_VN.viscii \
530 # We create a dummy theme for the default GTK+ theme
532 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0
533 echo "# Empty gtkrc for default theme" > \
534 $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
535 $(mkinstalldirs) $(DESTDIR)$(gtkconfdir)
536 cd $(DESTDIR)$(gtkconfdir) && \
537 for i in cs hr hu pl ro sk sl sq sr ; do \
539 ln -s gtkrc.iso-8859-2 gtkrc.$$i ; \
541 for i in bg_BG.iso88595 mk sp ru_RU.iso88595 ; do \
543 ln -s gtkrc.iso-8859-5 gtkrc.$$i ; \
545 rm -f gtkrc.lt gtkrc.lv gtkrc.cy gtkrc.ga gtkrc.et gtkrc.ka \
546 gtkrc.vi_VN.viscii111 gtkrc.vi_VN.tcvn5712 gtkrc.vi \
547 gtkrc.be gtkrc.bg ; \
548 ln -s gtkrc.iso-8859-13 gtkrc.lt ; \
549 ln -s gtkrc.iso-8859-13 gtkrc.lv ; \
550 ln -s gtkrc.iso-8859-14 gtkrc.cy ; \
551 ln -s gtkrc.iso-8859-14 gtkrc.ga ; \
552 ln -s gtkrc.iso-8859-15 gtkrc.et ; \
553 ln -s gtkrc.ka_GE.georgianacademy gtkrc.ka ; \
554 ln -s gtkrc.vi_VN.viscii gtkrc.vi_VN.viscii111 ; \
555 ln -s gtkrc.vi_VN.tcvn gtkrc.vi_VN.tcvn5712 ; \
556 ln -s gtkrc.vi_VN.tcvn5712 gtkrc.vi ; \
557 ln -s gtkrc.cp1251 gtkrc.be ; \
558 ln -s gtkrc.cp1251 gtkrc.bg
561 rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
564 # test programs, not to be installed
566 noinst_PROGRAMS = testgtk testcalendar testinput testselection testrgb testdnd testtext simple treestoretest testtextbuffer # testthreads
567 DEPS = @gtktargetlib@ $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la $(top_builddir)/gdk/@gdktargetlib@
568 LDADDS = @STRIP_BEGIN@ \
570 $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la \
571 $(top_builddir)/gdk/@gdktargetlib@ \
580 testgtk_DEPENDENCIES = $(DEPS)
581 testcalendar_DEPENDENCIES = $(DEPS)
582 testinput_DEPENDENCIES = $(DEPS)
583 testselection_DEPENDENCIES = $(DEPS)
584 testrgb_DEPENDENCIES = $(DEPS)
585 testtext_DEPENDENCIES = $(DEPS)
586 treestoretest_DEPENDENCIES = $(DEPS)
587 testdnd_DEPENDENCIES = $(DEPS)
588 simple_DEPENDENCIES = $(DEPS)
589 #testthreads_DEPENDENCIES = $(DEPS)
590 testcalendar_LDADD = $(LDADDS)
591 testgtk_LDADD = $(LDADDS)
592 testinput_LDADD = $(LDADDS)
593 testselection_LDADD = $(LDADDS)
594 testtext_LDADD = $(LDADDS)
595 treestoretest_LDADD = $(LDADDS)
596 testtextbuffer_LDADD = $(LDADDS)
597 testrgb_LDADD = $(LDADDS)
598 testdnd_LDADD = $(LDADDS)
599 simple_LDADD = $(LDADDS)
600 #testthreads_LDADD = $(LDADDS)
602 makefile.mingw: $(top_builddir)/config.status $(top_srcdir)/gtk/makefile.mingw.in
603 cd $(top_builddir) && CONFIG_FILES=gtk/$@ CONFIG_HEADERS= $(SHELL) ./config.status
605 .PHONY: files test test-debug
608 @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
613 builddir=`pwd`; cd $(top_builddir); top_builddir=`pwd`; \
614 cd $$builddir; cd $(srcdir); \
615 $(SHELL) $$top_builddir/libtool --mode=execute $$builddir/testgtk
618 builddir=`pwd`; cd $(top_builddir); top_builddir=`pwd`; \
619 cd $$builddir; cd $(srcdir); \
620 $(SHELL) $$top_builddir/libtool --mode=execute gdb $$builddir/testgtk
622 EXTRA_DIST += @STRIP_BEGIN@ \