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 -I$(top_srcdir) -I../gdk \
12 -I$(top_srcdir)/gdk/x11 \
22 # libraries to compile and install
24 lib_LTLIBRARIES = libgtk.la
26 # libtool stuff: set version and export symbols for resolving
27 libgtkincludedir = $(includedir)/gtk
28 libgtk_la_LDFLAGS = @STRIP_BEGIN@ \
29 -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
30 -release $(LT_RELEASE) \
37 # $(top_builddir)/gdk/libgdk.la
41 # setup source file variables
43 # GTK+ header files for public installation (non-generated, or generated
46 gtk_public_h_sources = @STRIP_BEGIN@ \
130 gtkscrolledwindow.h \
139 gtktearoffmenuitem.h \
160 # GTK+ header files that don't get installed
161 gtk_private_h_sources = @STRIP_BEGIN@ \
163 # GTK+ C sources to build the library from
164 gtk_c_sources = @STRIP_BEGIN@ \
182 gtkcolorseldialog.c \
244 gtkscrolledwindow.c \
253 gtktearoffmenuitem.c \
276 # we use our own built_sources variable rules to avoid automake's
277 # BUILT_SOURCES oddities
278 # we generate frequently rebuild files piggyback on a stamp file, so sources
279 # depending on them only get rebuild when the built source actually changed
282 # built sources that don't get installed
283 gtk_built_sources = @STRIP_BEGIN@ \
285 stamp-gtktypebuiltins.h \
287 gtktypebuiltins_vars.c \
288 gtktypebuiltins_ids.c \
289 gtktypebuiltins_evals.c \
293 # built sources that get installed with the header files
294 gtk_built_public_sources = @STRIP_BEGIN@ \
299 # non-header sources (headers should be specified in the above variables)
300 # that don't serve as direct make target sources, i.e. they don't have
301 # their own .lo rules and don't get publically installed
302 gtk_extra_sources = @STRIP_BEGIN@ \
313 # Extra headers that are used for enum type array/id generation
314 gdk_headers = @STRIP_BEGIN@ \
319 ../gdk/gdkdrawable.h \
327 ../gdk/gdkproperty.h \
330 ../gdk/gdkselection.h \
337 # setup GTK+ sources and their dependancies
339 libgtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_built_public_sources)
340 libgtk_la_SOURCES = $(gtk_c_sources)
341 MAINTAINERCLEANFILES += $(gtk_built_public_sources) $(gtk_built_sources)
343 EXTRA_DIST += $(gtk_private_h_sources)
344 EXTRA_DIST += $(gtk_built_sources) $(gtk_built_public_sources) $(gtk_extra_sources)
347 # rules to generate built sources
349 # setup autogeneration dependancies
350 gen_sources = xgen-gdef xgen-gtbh xgen-gtbvc xgen-gtbic xgen-gtbec xgen-gmh xgen-gmc
351 CLEANFILES += $(gen_sources)
352 OLD_STAMP: $(gtk_built_public_sources) $(gtk_built_sources)
353 $(OBJECTS): OLD_STAMP # this is our oldest-source-stamp
354 # initial creation of the real stamp-* files
355 gtk.defs gtkmarshal.h gtktypebuiltins.h: # never add deps here
356 test -f "$(srcdir)/$@" || touch $(srcdir)/$@
357 # normal autogeneration rules
358 # all autogenerated files need to generated in the srcdir,
359 # so old versions get remade and are not confused with newer
360 # versions in the build dir. thus a development setup requires
361 # srcdir to be writable, passing --disable-rebuilds to
362 # ../configure will supress all autogeneration rules.
363 $(srcdir)/stamp-gtk.defs: @REBUILD@ makeenums.pl gtk.defs gtk-boxed.defs $(gtk_public_h_sources) $(gdk_headers)
365 && $(PERL) makeenums.pl defs $(gtk_public_h_sources) $(gdk_headers) > xgen-gdef \
366 && cat gtk-boxed.defs >> xgen-gdef \
367 && (cmp -s xgen-gdef gtk.defs || cp xgen-gdef gtk.defs) \
369 && echo timestamp > $(@F)
370 $(srcdir)/gtkmarshal.c: stamp-gtkmarshal.h
371 $(srcdir)/gtkmarshal.c $(srcdir)/stamp-gtkmarshal.h: @REBUILD@ genmarshal.pl gtkmarshal.list gtkmarshal.h
373 && $(PERL) genmarshal.pl gtkmarshal.list xgen-gmh xgen-gmc \
374 && (test -z "$(INDENT)" || $(INDENT) xgen-gmh) \
375 && (test -z "$(INDENT)" || $(INDENT) xgen-gmc) \
376 && cp xgen-gmc gtkmarshal.c \
377 && (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
378 && rm -f xgen-gmh xgen-gmc xgen-gmh~ xgen-gmc~ \
379 && echo timestamp > stamp-gtkmarshal.h
380 $(srcdir)/stamp-gtktypebuiltins.h: @REBUILD@ maketypes.awk stamp-gtk.defs gtktypebuiltins.h
382 && $(AWK) -f maketypes.awk gtk.defs macros > xgen-gtbh \
383 && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h) \
385 && echo timestamp > $(@F)
386 $(srcdir)/gtktypebuiltins_vars.c: @REBUILD@ maketypes.awk stamp-gtk.defs
388 && $(AWK) -f maketypes.awk gtk.defs variables > xgen-gtbvc \
389 && cp xgen-gtbvc $(@F) \
391 $(srcdir)/gtktypebuiltins_ids.c: @REBUILD@ maketypes.awk stamp-gtk.defs
393 && $(AWK) -f maketypes.awk gtk.defs entries > xgen-gtbic \
394 && cp xgen-gtbic $(@F) \
396 $(srcdir)/gtktypebuiltins_evals.c: @REBUILD@ makeenums.pl $(gtk_public_h_sources) $(gdk_headers)
398 && $(PERL) makeenums.pl arrays $(gtk_public_h_sources) $(gdk_headers) > xgen-gtbec \
399 && cp xgen-gtbec $(@F) \
403 gtkconfdir = $(sysconfdir)/gtk
404 gtkconf_DATA = gtkrc.bg gtkrc.el gtkrc.eo gtkrc.he gtkrc.hy gtkrc.ja \
405 gtkrc.ko gtkrc.ru gtkrc.tr gtkrc.th gtkrc.uk gtkrc.iso-8859-2 \
406 gtkrc.iso-8859-5 gtkrc.iso-8859-13 gtkrc.iso-8859-14 \
407 gtkrc.iso-8859-15 gtkrc.zh_CN gtkrc.zh_TW.Big5 \
408 gtkrc.ka_GE.georgianacademy gtkrc.ka_GE.georgianps \
409 gtkrc.vi_VN.tcvn gtkrc.vi_VN.viscii
411 # We create a dummy theme for the default GTK+ theme
413 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk
414 echo "# Empty gtkrc for default theme" > \
415 $(DESTDIR)$(datadir)/themes/Default/gtk/gtkrc
416 $(mkinstalldirs) $(DESTDIR)$(gtkconfdir)
417 cd $(DESTDIR)$(gtkconfdir) && \
418 for i in cs hr hu pl ro sk sl sq ; do \
420 ln -s gtkrc.iso-8859-2 gtkrc.$$i ; \
422 for i in bg_BG.iso88595 mk sr ru_RU.iso88595 ; do \
424 ln -s gtkrc.iso-8859-5 gtkrc.$$i ; \
426 rm -f gtkrc.lt gtkrc.lv gtkrc.cy gtkrc.ga gtkrc.et gtkrc.ka \
427 gtkrc.vi_VN.viscii111 gtkrc.vi_VN.tcvn5712 gtkrc.vi ; \
428 ln -s gtkrc.iso-8859-13 gtkrc.lt ; \
429 ln -s gtkrc.iso-8859-13 gtkrc.lv ; \
430 ln -s gtkrc.iso-8859-14 gtkrc.cy ; \
431 ln -s gtkrc.iso-8859-14 gtkrc.ga ; \
432 ln -s gtkrc.iso-8859-15 gtkrc.et ; \
433 ln -s gtkrc.ka_GE.georgianacademy gtkrc.ka ; \
434 ln -s gtkrc.vi_VN.viscii gtkrc.vi_VN.viscii111 ; \
435 ln -s gtkrc.vi_VN.tcvn gtkrc.vi_VN.tcvn5712 ; \
436 ln -s gtkrc.vi_VN.tcvn5712 gtkrc.vi
439 rm -f $(DESTDIR)$(datadir)/themes/Default/gtkrc
442 # test programs, not to be installed
444 noinst_PROGRAMS = testgtk testinput testselection testrgb testdnd simple # testthreads
445 DEPS = libgtk.la $(top_builddir)/gdk/libgdk.la
446 LDADDS = @STRIP_BEGIN@ \
448 $(top_builddir)/gdk/libgdk.la \
456 testgtk_DEPENDENCIES = $(DEPS)
457 testinput_DEPENDENCIES = $(DEPS)
458 testselection_DEPENDENCIES = $(DEPS)
459 testrgb_DEPENDENCIES = $(DEPS)
460 testdnd_DEPENDENCIES = $(DEPS)
461 simple_DEPENDENCIES = $(DEPS)
462 #testthreads_DEPENDENCIES = $(DEPS)
463 testgtk_LDADD = $(LDADDS)
464 testinput_LDADD = $(LDADDS)
465 testselection_LDADD = $(LDADDS)
466 testrgb_LDADD = $(LDADDS)
467 testdnd_LDADD = $(LDADDS)
468 simple_LDADD = $(LDADDS)
469 #testthreads_LDADD = $(LDADDS)
471 .PHONY: files test test-debug
474 @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
479 builddir=`pwd`; cd $(top_builddir); top_builddir=`pwd`; \
480 cd $$builddir; cd $(srcdir); \
481 $(SHELL) $$top_builddir/libtool --mode=execute $$builddir/testgtk
484 builddir=`pwd`; cd $(top_builddir); top_builddir=`pwd`; \
485 cd $$builddir; cd $(srcdir); \
486 $(SHELL) $$top_builddir/libtool --mode=execute gdb $$builddir/testgtk
488 EXTRA_DIST += @STRIP_BEGIN@ \