| # GObject - GLib Type, Object, Parameter and Signal Library |
| # Copyright (C) 1997,98,99,2000 Tim Janik and Red Hat, Inc. |
| # |
| ## Process this file with automake to produce Makefile.in |
| |
| INCLUDES = @STRIP_BEGIN@ \ |
| -DG_LOG_DOMAIN=\"GLib-GObject\" \ |
| -I$(top_srcdir) \ |
| -I$(top_srcdir)/glib \ |
| -I$(top_builddir) \ |
| @GLIB_DEBUG_FLAGS@ \ |
| -DGOBJECT_COMPILATION \ |
| -DG_DISABLE_CONST_RETURNS \ |
| @STRIP_END@ |
| |
| libglib = $(top_builddir)/glib/libglib-2.0.la |
| |
| # libraries to compile and install |
| lib_LTLIBRARIES = libgobject-2.0.la |
| |
| if MS_LIB_AVAILABLE |
| noinst_DATA = gobject-2.0.lib |
| |
| install-ms-lib: |
| $(INSTALL) gobject-2.0.lib $(DESTDIR)$(libdir) |
| |
| uninstall-ms-lib: |
| -rm $(DESTDIR)$(libdir)/gobject-2.0.lib |
| else |
| install-ms-lib: |
| uninstall-ms-lib: |
| endif |
| |
| if PLATFORM_WIN32 |
| no_undefined = -no-undefined |
| endif |
| |
| if OS_WIN32 |
| export_symbols = -export-symbols gobject.def |
| |
| install-libtool-import-lib: |
| $(INSTALL) .libs/libgobject-2.0.dll.a $(DESTDIR)$(libdir) |
| uninstall-libtool-import-lib: |
| -rm $(DESTDIR)$(libdir)/libgobject-2.0.dll.a |
| else |
| install-libtool-import-lib: |
| uninstall-libtool-import-lib: |
| endif |
| |
| # libtool stuff: set version and export symbols for resolving |
| libgobjectincludedir = $(includedir)/glib-2.0/gobject |
| libgobject_2_0_la_LDFLAGS = @STRIP_BEGIN@ \ |
| -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ |
| -export-dynamic $(no_undefined) $(export_symbols) \ |
| @STRIP_END@ |
| |
| libgobject_2_0_la_LIBADD = @G_OBJECT_WIN32_RESOURCE@ $(libglib) |
| |
| libgobject_2_0_la_DEPENDENCIES = @G_OBJECT_WIN32_RESOURCE@ @GOBJECT_DEF@ |
| |
| # |
| # setup source file variables |
| # |
| # GObject library header files for public installation (non-generated) |
| gobject_public_h_sources = @STRIP_BEGIN@ \ |
| gboxed.h \ |
| gclosure.h \ |
| genums.h \ |
| gobject.h \ |
| gparam.h \ |
| gparamspecs.h \ |
| gsignal.h \ |
| gsourceclosure.h \ |
| gtype.h \ |
| gtypemodule.h \ |
| gtypeplugin.h \ |
| gvalue.h \ |
| gvaluearray.h \ |
| gvaluecollector.h \ |
| gvaluetypes.h \ |
| gobjectnotifyqueue.c \ |
| @STRIP_END@ |
| # GObject library header files that don't get installed |
| gobject_private_h_sources = @STRIP_BEGIN@ \ |
| @STRIP_END@ |
| # GObject library C sources to build the library from |
| gobject_c_sources = @STRIP_BEGIN@ \ |
| gboxed.c \ |
| gclosure.c \ |
| genums.c \ |
| gobject.c \ |
| gparam.c \ |
| gparamspecs.c \ |
| gsignal.c \ |
| gsourceclosure.c \ |
| gtype.c \ |
| gtypemodule.c \ |
| gtypeplugin.c \ |
| gvalue.c \ |
| gvaluearray.c \ |
| gvaluetransform.c \ |
| gvaluetypes.c \ |
| @STRIP_END@ |
| |
| # we use our own built_sources variable rules to avoid automake's |
| # BUILT_SOURCES oddities |
| # we generate frequently rebuild files piggyback on a stamp file, so sources |
| # depending on them only get rebuild when the built source actually changed |
| # content |
| |
| # built sources that get installed with the header files |
| gobject_built_public_sources = @STRIP_BEGIN@ \ |
| gmarshal.h \ |
| @STRIP_END@ |
| # built sources that don't get installed |
| gobject_built_sources = @STRIP_BEGIN@ \ |
| stamp-gmarshal.h \ |
| gmarshal.c \ |
| ${gobject_built_public_sources} \ |
| @STRIP_END@ |
| # non-header sources (headers should be specified in the above variables) |
| # that don't serve as direct make target sources, i.e. they don't have |
| # their own .lo rules and don't get publically installed |
| gobject_extra_sources = @STRIP_BEGIN@ \ |
| gmarshal.list \ |
| gmarshal.strings \ |
| @STRIP_END@ |
| |
| |
| # |
| # setup GObject library sources and their dependancies |
| # |
| gobject_target_headers = $(gobject_public_h_sources) $(gobject_built_public_sources) |
| gobject_target_sources = $(gobject_c_sources) |
| MAINTAINERCLEANFILES += $(gobject_built_sources) |
| EXTRA_HEADERS += |
| EXTRA_DIST += $(gobject_private_h_sources) $(gobject_extra_sources) |
| EXTRA_DIST += $(gobject_built_sources) |
| |
| # |
| # rules to generate built sources |
| # |
| # setup autogeneration dependancies |
| gen_sources = xgen-gmh xgen-gmc xgen-gms |
| CLEANFILES += $(gen_sources) |
| |
| $(libgobject_2_0_la_OBJECTS): $(gobject_built_sources) ${gobject_built_public_sources} # this is our oldest file, used for implicit auto-generation deps |
| # initial creation of the real stamp-* files |
| gmarshal.h: # never add deps here |
| test -f "$(srcdir)/$@" || touch $(srcdir)/$@ |
| # normal autogeneration rules |
| # all autogenerated files need to be generated in the srcdir, |
| # so old versions get remade and are not confused with newer |
| # versions in the build dir. thus a development setup requires |
| # srcdir to be writable, passing --disable-rebuilds to |
| # ../configure will supress all autogeneration rules. |
| $(srcdir)/stamp-gmarshal.h: @REBUILD@ gmarshal.list gmarshal.h glib-genmarshal$(EXEEXT) |
| echo "#ifndef __G_MARSHAL_H__" > xgen-gmh \ |
| && echo "#define __G_MARSHAL_H__" >> xgen-gmh \ |
| && ./glib-genmarshal --nostdinc --prefix=g_cclosure_marshal $(srcdir)/gmarshal.list --header >> xgen-gmh \ |
| && echo "#endif /* __G_MARSHAL_H__ */" >> xgen-gmh \ |
| && (cmp -s xgen-gmh $(srcdir)/gmarshal.h || cp xgen-gmh $(srcdir)/gmarshal.h) \ |
| && rm -f xgen-gmh xgen-gmh~ \ |
| && echo timestamp > $@ |
| $(srcdir)/gmarshal.c: @REBUILD@ $(srcdir)/stamp-gmarshal.h |
| ./glib-genmarshal --nostdinc --prefix=g_cclosure_marshal $(srcdir)/gmarshal.list --body >> xgen-gmc \ |
| && cp xgen-gmc $(srcdir)/gmarshal.c \ |
| && rm -f xgen-gmc xgen-gmc~ |
| $(srcdir)/gmarshal.strings: @REBUILD@ $(srcdir)/gmarshal.list |
| grep '^[A-Z]' $(srcdir)/gmarshal.list \ |
| | sed -e 's/^/"g_cclosure_marshal_/' -e 's/:/__/' -e 's/,/_/g' -e 's/$$/",/' > xgen-gms \ |
| && cp xgen-gms $(srcdir)/gmarshal.strings \ |
| && rm -f xgen-gms xgen-gms~ |
| glib-genmarshal.o: gmarshal.strings |
| |
| |
| # target platform: |
| libgobjectinclude_HEADERS = $(gobject_target_headers) |
| libgobject_2_0_la_SOURCES = $(gobject_target_sources) |
| |
| # |
| # programs to compile and install |
| # |
| bin_PROGRAMS = gobject-query glib-genmarshal |
| bin_SCRIPTS = glib-mkenums |
| noinst_PROGRAMS = testgobject testoverride |
| # source files |
| gobject_query_SOURCES = gobject-query.c |
| glib_genmarshal_SOURCES = glib-genmarshal.c |
| testgobject_SOURCES = testgobject.c |
| testoverride_SOURCES = testoverride.c |
| # link programs against libgobject |
| progs_LDADD = ./libgobject-2.0.la $(libglib) |
| glib_genmarshal_LDADD = $(libglib) |
| gobject_query_LDADD = $(progs_LDADD) |
| testgobject_LDADD = $(progs_LDADD) |
| testoverride_LDADD = $(progs_LDADD) |
| |
| # |
| # manual pages to install |
| # |
| man_MANS = glib-genmarshal.1 glib-mkenums.1 |
| |
| # |
| # auxillary files |
| # |
| EXTRA_DIST += \ |
| makefile.mingw.in \ |
| makefile.msc.in \ |
| gobject.def \ |
| gobject.rc.in \ |
| glib-genmarshal.1 \ |
| glib-mkenums.in \ |
| glib-mkenums.1 |
| |
| BUILT_EXTRA_DIST = \ |
| makefile.mingw \ |
| makefile.msc \ |
| gobject.rc |
| |
| if OS_WIN32 |
| @G_OBJECT_WIN32_RESOURCE@ : gobject.rc |
| $(top_srcdir)/build/win32/lt-compile-resource gobject.rc @G_OBJECT_WIN32_RESOURCE@ |
| endif |
| |
| gobject-2.0.lib: libgobject-2.0.la gobject.def |
| lib -name:libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll -def:gobject.def -out:$@ |
| |
| gobject.rc: $(top_builddir)/config.status $(top_srcdir)/gobject/gobject.rc.in |
| cd $(top_builddir) && CONFIG_FILES=gobject/$@ CONFIG_HEADERS= $(SHELL) ./config.status |
| |
| makefile.mingw: $(top_builddir)/config.status $(top_srcdir)/gobject/makefile.mingw.in |
| cd $(top_builddir) && CONFIG_FILES=gobject/$@ CONFIG_HEADERS= $(SHELL) ./config.status |
| |
| makefile.msc: $(top_builddir)/config.status $(top_srcdir)/gobject/makefile.msc.in |
| cd $(top_builddir) && CONFIG_FILES=gobject/$@ CONFIG_HEADERS= $(SHELL) ./config.status |
| |
| dist-hook: $(BUILT_EXTRA_DIST) |
| files='$(BUILT_EXTRA_DIST)'; \ |
| for f in $$files; do \ |
| if test -f $$f; then d=.; else d=$(srcdir); fi; \ |
| cp $$d/$$f $(distdir) || exit 1; done |
| |
| install-data-local: install-ms-lib install-libtool-import-lib |
| |
| uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib |