1 ## Makefile.am for gtk+/gtk
3 INCLUDES = @STRIP_BEGIN@ \
4 -DG_LOG_DOMAIN=\"Gtk\" \
5 -DGTK_DISABLE_COMPAT_H \
6 -DGTK_EXE_PREFIX=\"$(exec_prefix)\" \
7 -DGTK_DATA_PREFIX=\"$(prefix)\" \
8 -DGTK_SYSCONFDIR=\"$(sysconfdir)\" \
9 -DGTK_LOCALEDIR=\"$(gtklocaledir)\" \
10 -DTESTGTK_RCFILE=\"`pwd`/$(srcdir)/testgtkrc\" \
11 -I$(top_srcdir) -I../gdk \
13 -I$(top_srcdir)/gdk-pixbuf -I../gdk-pixbuf \
24 # libtool stuff: set version and export symbols for resolving
25 # since automake doesn't support conditionalized libsomething_la_LDFLAGS
26 # we use the general approach here
27 libgtkincludedir = $(includedir)/gtk
28 LDFLAGS = @STRIP_BEGIN@ \
29 -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
30 -release $(LT_RELEASE) \
40 # $(top_builddir)/gdk/libgdk.la
44 # setup source file variables
46 # GTK+ header files for public installation (non-generated, or generated
49 gtk_public_h_sources = @STRIP_BEGIN@ \
100 gtkimmulticontext.h \
121 gdk-pixbuf-loader.h \
135 gtkscrolledwindow.h \
144 gtktearoffmenuitem.h \
173 # GTK+ header files that we install, but don't extract enums from
174 # (This class is iffy; we have it for the semi-public interface
175 # of the Text widget, which is useful for writing new view types
176 # such as a Canvas text item, but isn't part of the clean public
179 gtk_semipublic_h_sources = @STRIP_BEGIN@ \
188 # GTK+ header files that don't get installed
189 gtk_private_h_sources = @STRIP_BEGIN@ \
191 # GTK+ C sources to build the library from
192 gtk_c_sources = @STRIP_BEGIN@ \
210 gtkcolorseldialog.c \
239 gtkimcontextsimple.c \
240 gtkimcontextsimple.h \
241 gtkimmulticontext.c \
276 gtkscrolledwindow.c \
285 gtktearoffmenuitem.c \
292 gtktextiterprivate.h \
295 gtktextmarkprivate.h \
298 gtktexttagprivate.h \
322 gdk-pixbuf-loader.c \
324 # we use our own built_sources variable rules to avoid automake's
325 # BUILT_SOURCES oddities
326 # we generate frequently rebuild files piggyback on a stamp file, so sources
327 # depending on them only get rebuild when the built source actually changed
330 # built sources that don't get installed
331 gtk_built_sources = @STRIP_BEGIN@ \
333 stamp-gtktypebuiltins.h \
335 gtktypebuiltins_vars.c \
336 gtktypebuiltins_ids.c \
337 gtktypebuiltins_evals.c \
341 # built sources that get installed with the header files
342 gtk_built_public_sources = @STRIP_BEGIN@ \
347 # non-header sources (headers should be specified in the above variables)
348 # that don't serve as direct make target sources, i.e. they don't have
349 # their own .lo rules and don't get publically installed
350 gtk_extra_sources = @STRIP_BEGIN@ \
361 # Extra headers that are used for enum type array/id generation
362 gdk_headers = @STRIP_BEGIN@ \
367 ../gdk/gdkdrawable.h \
375 ../gdk/gdkproperty.h \
378 ../gdk/gdkselection.h \
385 # setup GTK+ sources and their dependancies
387 all_headers = $(gtk_public_h_sources) $(gtk_semipublic_h_sources) $(gtk_built_public_sources)
388 all_sources = $(gtk_c_sources)
390 extra = @gtktargetlib@
392 libgtk_x11_includedir = $(includedir)/gtk
393 libgtk_x11_include_HEADERS = $(all_headers)
394 libgtk_x11_la_SOURCES = $(all_sources)
398 libgtk_nanox_includedir = $(includedir)/gtk
399 libgtk_nanox_include_HEADERS = $(all_headers)
400 libgtk_nanox_la_SOURCES = $(all_sources)
404 libgtk_linux_fb_includedir = $(includedir)/gtk
405 libgtk_linux_fb_include_HEADERS = $(all_headers)
406 libgtk_linux_fb_la_SOURCES = $(all_sources)
409 # now define the real one to workaround automake's mishandling
410 lib_LTLIBRARIES = $(extra)
412 EXTRA_LTLIBRARIES = libgtk-x11.la libgtk-nanox.la libgtk-linux-fb.la
414 MAINTAINERCLEANFILES += $(gtk_built_public_sources) $(gtk_built_sources)
416 EXTRA_DIST += $(gtk_private_h_sources)
417 EXTRA_DIST += $(gtk_built_sources) $(gtk_built_public_sources) $(gtk_extra_sources)
420 # rules to generate built sources
422 # setup autogeneration dependancies
423 gen_sources = xgen-gdef xgen-gtbh xgen-gtbvc xgen-gtbic xgen-gtbec xgen-gmh xgen-gmc
424 CLEANFILES += $(gen_sources)
425 OLD_STAMP: $(gtk_built_public_sources) $(gtk_built_sources)
426 $(OBJECTS): OLD_STAMP # this is our oldest-source-stamp
427 # initial creation of the real stamp-* files
428 gtk.defs gtkmarshal.h gtktypebuiltins.h: # never add deps here
429 test -f "$(srcdir)/$@" || touch $(srcdir)/$@
430 # normal autogeneration rules
431 # all autogenerated files need to generated in the srcdir,
432 # so old versions get remade and are not confused with newer
433 # versions in the build dir. thus a development setup requires
434 # srcdir to be writable, passing --disable-rebuilds to
435 # ../configure will supress all autogeneration rules.
436 $(srcdir)/stamp-gtk.defs: @REBUILD@ makeenums.pl gtk.defs gtk-boxed.defs $(gtk_public_h_sources) $(gdk_headers)
438 && $(PERL) makeenums.pl defs $(gtk_public_h_sources) $(gdk_headers) > xgen-gdef \
439 && cat gtk-boxed.defs >> xgen-gdef \
440 && (cmp -s xgen-gdef gtk.defs || cp xgen-gdef gtk.defs) \
442 && echo timestamp > $(@F)
443 $(srcdir)/gtkmarshal.c: stamp-gtkmarshal.h
444 $(srcdir)/gtkmarshal.c $(srcdir)/stamp-gtkmarshal.h: @REBUILD@ genmarshal.pl gtkmarshal.list gtkmarshal.h
446 && $(PERL) genmarshal.pl gtkmarshal.list xgen-gmh xgen-gmc \
447 && (test -z "$(INDENT)" || $(INDENT) xgen-gmh) \
448 && (test -z "$(INDENT)" || $(INDENT) xgen-gmc) \
449 && cp xgen-gmc gtkmarshal.c \
450 && (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
451 && rm -f xgen-gmh xgen-gmc xgen-gmh~ xgen-gmc~ \
452 && echo timestamp > stamp-gtkmarshal.h
453 $(srcdir)/stamp-gtktypebuiltins.h: @REBUILD@ maketypes.awk stamp-gtk.defs gtktypebuiltins.h
455 && $(AWK) -f maketypes.awk gtk.defs macros > xgen-gtbh \
456 && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h) \
458 && echo timestamp > $(@F)
459 $(srcdir)/gtktypebuiltins_vars.c: @REBUILD@ maketypes.awk stamp-gtk.defs
461 && $(AWK) -f maketypes.awk gtk.defs variables > xgen-gtbvc \
462 && cp xgen-gtbvc $(@F) \
464 $(srcdir)/gtktypebuiltins_ids.c: @REBUILD@ maketypes.awk stamp-gtk.defs
466 && $(AWK) -f maketypes.awk gtk.defs entries > xgen-gtbic \
467 && cp xgen-gtbic $(@F) \
469 $(srcdir)/gtktypebuiltins_evals.c: @REBUILD@ makeenums.pl $(gtk_public_h_sources) $(gdk_headers)
471 && $(PERL) makeenums.pl arrays $(gtk_public_h_sources) $(gdk_headers) > xgen-gtbec \
472 && cp xgen-gtbec $(@F) \
476 gtkconfdir = $(sysconfdir)/gtk
477 gtkconf_DATA = gtkrc.el gtkrc.eo gtkrc.he gtkrc.hy gtkrc.ja \
478 gtkrc.ko gtkrc.ru gtkrc.tr gtkrc.th gtkrc.uk gtkrc.iso-8859-2 \
479 gtkrc.iso-8859-5 gtkrc.iso-8859-13 gtkrc.iso-8859-14 \
480 gtkrc.iso-8859-15 gtkrc.zh_CN gtkrc.zh_TW.Big5 \
481 gtkrc.ka_GE.georgianacademy gtkrc.ka_GE.georgianps \
482 gtkrc.vi_VN.tcvn gtkrc.vi_VN.viscii \
485 # We create a dummy theme for the default GTK+ theme
487 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk
488 echo "# Empty gtkrc for default theme" > \
489 $(DESTDIR)$(datadir)/themes/Default/gtk/gtkrc
490 $(mkinstalldirs) $(DESTDIR)$(gtkconfdir)
491 cd $(DESTDIR)$(gtkconfdir) && \
492 for i in cs hr hu pl ro sk sl sq sr ; do \
494 ln -s gtkrc.iso-8859-2 gtkrc.$$i ; \
496 for i in bg_BG.iso88595 mk sp ru_RU.iso88595 ; do \
498 ln -s gtkrc.iso-8859-5 gtkrc.$$i ; \
500 rm -f gtkrc.lt gtkrc.lv gtkrc.cy gtkrc.ga gtkrc.et gtkrc.ka \
501 gtkrc.vi_VN.viscii111 gtkrc.vi_VN.tcvn5712 gtkrc.vi \
502 gtkrc.be gtkrc.bg ; \
503 ln -s gtkrc.iso-8859-13 gtkrc.lt ; \
504 ln -s gtkrc.iso-8859-13 gtkrc.lv ; \
505 ln -s gtkrc.iso-8859-14 gtkrc.cy ; \
506 ln -s gtkrc.iso-8859-14 gtkrc.ga ; \
507 ln -s gtkrc.iso-8859-15 gtkrc.et ; \
508 ln -s gtkrc.ka_GE.georgianacademy gtkrc.ka ; \
509 ln -s gtkrc.vi_VN.viscii gtkrc.vi_VN.viscii111 ; \
510 ln -s gtkrc.vi_VN.tcvn gtkrc.vi_VN.tcvn5712 ; \
511 ln -s gtkrc.vi_VN.tcvn5712 gtkrc.vi ; \
512 ln -s gtkrc.cp1251 gtkrc.be ; \
513 ln -s gtkrc.cp1251 gtkrc.bg
516 rm -f $(DESTDIR)$(datadir)/themes/Default/gtkrc
519 # test programs, not to be installed
521 noinst_PROGRAMS = testgtk testcalendar testinput testselection testrgb testdnd testtext simple testtextbuffer # testthreads
522 DEPS = @gtktargetlib@ $(top_builddir)/gdk-pixbuf/libgdk_pixbuf.la $(top_builddir)/gdk/@gdktargetlib@
523 LDADDS = @STRIP_BEGIN@ \
525 $(top_builddir)/gdk-pixbuf/libgdk_pixbuf.la \
526 $(top_builddir)/gdk/@gdktargetlib@ \
535 testgtk_DEPENDENCIES = $(DEPS)
536 testcalendar_DEPENDENCIES = $(DEPS)
537 testinput_DEPENDENCIES = $(DEPS)
538 testselection_DEPENDENCIES = $(DEPS)
539 testrgb_DEPENDENCIES = $(DEPS)
540 testtext_DEPENDENCIES = $(DEPS)
541 testdnd_DEPENDENCIES = $(DEPS)
542 simple_DEPENDENCIES = $(DEPS)
543 #testthreads_DEPENDENCIES = $(DEPS)
544 testcalendar_LDADD = $(LDADDS)
545 testgtk_LDADD = $(LDADDS)
546 testinput_LDADD = $(LDADDS)
547 testselection_LDADD = $(LDADDS)
548 testtext_LDADD = $(LDADDS)
549 testtextbuffer_LDADD = $(LDADDS)
550 testrgb_LDADD = $(LDADDS)
551 testdnd_LDADD = $(LDADDS)
552 simple_LDADD = $(LDADDS)
553 #testthreads_LDADD = $(LDADDS)
555 .PHONY: files test test-debug
558 @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
563 builddir=`pwd`; cd $(top_builddir); top_builddir=`pwd`; \
564 cd $$builddir; cd $(srcdir); \
565 $(SHELL) $$top_builddir/libtool --mode=execute $$builddir/testgtk
568 builddir=`pwd`; cd $(top_builddir); top_builddir=`pwd`; \
569 cd $$builddir; cd $(srcdir); \
570 $(SHELL) $$top_builddir/libtool --mode=execute gdb $$builddir/testgtk
572 EXTRA_DIST += @STRIP_BEGIN@ \