| # 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 = \ |
| -DG_LOG_DOMAIN=\"GLib-GObject\" \ |
| -I$(top_srcdir) \ |
| -I$(top_srcdir)/glib \ |
| -I$(top_builddir) \ |
| $(GLIB_DEBUG_FLAGS) \ |
| -DG_DISABLE_DEPRECATED \ |
| -DGOBJECT_COMPILATION \ |
| -DG_DISABLE_CONST_RETURNS |
| |
| 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 $(srcdir)/gobject.def |
| |
| install-libtool-import-lib: |
| # Don't put the bug compatibility entries in the import lib! |
| # (Unfortunately the GNU linker doesn't yet understand the PRIVATE |
| # directive in .def files.) |
| # |
| for entry in `grep PRIVATE gobject.def | sed -e 's/PRIVATE//'`; do \ |
| file=`nm -A .libs/libgobject-2.0.dll.a | grep -m 1 $$entry | cut -d: -f2`; \ |
| ar d .libs/libgobject-2.0.dll.a $$file; \ |
| done |
| $(INSTALL) .libs/libgobject-2.0.dll.a $(DESTDIR)$(libdir) |
| $(INSTALL) $(srcdir)/gobject.def $(DESTDIR)$(libdir)/gobject-2.0.def |
| |
| uninstall-libtool-import-lib: |
| -rm $(DESTDIR)$(libdir)/libgobject-2.0.dll.a $(DESTDIR)$(libdir)/gobject-2.0.def |
| 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 = \ |
| -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ |
| -export-dynamic $(no_undefined) $(export_symbols) |
| |
| 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 |
| gobject_public_h_sources = \ |
| 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 \ |
| gmarshal.h |
| |
| # GObject library header files that don't get installed |
| gobject_private_h_sources = |
| # GObject library C sources to build the library from |
| gobject_c_sources = \ |
| 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 |
| |
| # these sources (also mentioned above) are generated. |
| BUILT_SOURCES = gmarshal.h gmarshal.c |
| |
| # 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 = \ |
| gmarshal.list \ |
| gmarshal.strings |
| |
| |
| # |
| # setup GObject library sources and their dependancies |
| # |
| gobject_target_headers = $(gobject_public_h_sources) |
| gobject_target_sources = $(gobject_c_sources) |
| EXTRA_HEADERS = |
| EXTRA_DIST = $(gobject_private_h_sources) $(gobject_extra_sources) |
| |
| # |
| # rules to generate built sources |
| # |
| # setup autogeneration dependancies |
| gen_sources = xgen-gmh xgen-gmc xgen-gms |
| CLEANFILES = $(gen_sources) |
| |
| # 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. |
| |
| if CROSS_COMPILING |
| glib_genmarshal=$(GLIB_GENMARSHAL) |
| else |
| glib_genmarshal=./glib-genmarshal |
| endif |
| |
| gmarshal.h: stamp-gmarshal.h |
| @true |
| stamp-gmarshal.h: @REBUILD@ gmarshal.list glib-genmarshal$(EXEEXT) |
| $(MAKE) 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 gmarshal.h 2>/dev/null || cp xgen-gmh gmarshal.h) \ |
| && rm -f xgen-gmh xgen-gmh~ \ |
| && echo timestamp > $@ |
| |
| gmarshal.c: @REBUILD@ stamp-gmarshal.h |
| $(glib_genmarshal) --nostdinc --prefix=g_cclosure_marshal $(srcdir)/gmarshal.list --body >> xgen-gmc \ |
| && cp xgen-gmc gmarshal.c \ |
| && rm -f xgen-gmc xgen-gmc~ |
| |
| 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 gmarshal.strings \ |
| && rm -f xgen-gms xgen-gms~ |
| |
| glib-genmarshal.o: gmarshal.strings |
| gsignal.lo: gmarshal.c |
| |
| |
| # 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 |
| # source files |
| gobject_query_SOURCES = gobject-query.c |
| glib_genmarshal_SOURCES = glib-genmarshal.c |
| testgobject_SOURCES = testgobject.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) |
| |
| # |
| # auxillary files |
| # |
| EXTRA_DIST += \ |
| makefile.msc.in \ |
| gobject.def \ |
| gobject.rc.in \ |
| glib-genmarshal.1 \ |
| glib-mkenums.in \ |
| glib-mkenums.1 |
| |
| BUILT_EXTRA_DIST = \ |
| makefile.msc \ |
| gobject.rc \ |
| gmarshal.h \ |
| gmarshal.c \ |
| stamp-gmarshal.h |
| |
| if OS_WIN32 |
| $(G_OBJECT_WIN32_RESOURCE): gobject.rc |
| $(top_srcdir)/build/win32/lt-compile-resource gobject.rc $@ |
| 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:$@ |
| |
| 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 |
| |
| distclean-local: |
| if test $(srcdir) = .; then :; else \ |
| rm -f $(BUILT_EXTRA_DIST); \ |
| fi |