| # 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 |
| include $(top_srcdir)/glib.mk |
| |
| SUBDIRS = . tests |
| |
| AM_CPPFLAGS = \ |
| -DG_LOG_DOMAIN=\"GLib-GObject\" \ |
| $(glib_INCLUDES) \ |
| $(GLIB_DEBUG_FLAGS) \ |
| -DGOBJECT_COMPILATION |
| |
| AM_CFLAGS = $(GLIB_WARN_CFLAGS) |
| |
| libglib = $(top_builddir)/glib/libglib-2.0.la |
| |
| # libraries to compile and install |
| lib_LTLIBRARIES = libgobject-2.0.la |
| |
| if OS_WIN32_AND_DLL_COMPILATION |
| if MS_LIB_AVAILABLE |
| noinst_DATA += gobject-2.0.lib |
| |
| install_ms_lib_cmd = $(INSTALL) gobject-2.0.lib $(DESTDIR)$(libdir) |
| uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gobject-2.0.lib |
| endif |
| endif |
| |
| install-ms-lib: |
| $(install_ms_lib_cmd) |
| |
| uninstall-ms-lib: |
| $(uninstall_ms_lib_cmd) |
| |
| if PLATFORM_WIN32 |
| no_undefined = -no-undefined |
| endif |
| |
| if OS_WIN32_AND_DLL_COMPILATION |
| gobject_win32_res = gobject-win32-res.o |
| gobject_win32_res_ldflag = -Wl,$(gobject_win32_res) |
| endif |
| |
| libgobjectincludedir = $(includedir)/glib-2.0/gobject |
| libgobject_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \ |
| $(gobject_win32_res_ldflag) \ |
| -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ |
| -export-dynamic $(no_undefined) |
| |
| libgobject_2_0_la_CFLAGS = $(AM_CFLAGS) $(LIBFFI_CFLAGS) $(GLIB_HIDDEN_VISIBILITY_CFLAGS) |
| |
| libgobject_2_0_la_LIBADD = $(libglib) $(LIBFFI_LIBS) |
| |
| libgobject_2_0_la_DEPENDENCIES = $(gobject_win32_res) |
| |
| # |
| # setup source file variables |
| # |
| # GObject library header files for public installation |
| gobject_public_h_sources = \ |
| gobject-autocleanups.h \ |
| glib-types.h \ |
| gbinding.h \ |
| gboxed.h \ |
| gclosure.h \ |
| genums.h \ |
| gmarshal.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 |
| |
| # GObject library header files that don't get installed |
| gobject_private_h_sources = \ |
| gatomicarray.h \ |
| gtype-private.h |
| |
| # GObject library C sources to build the library from |
| gobject_c_sources = \ |
| gobject_probes.d \ |
| gatomicarray.c \ |
| gbinding.c \ |
| gboxed.c \ |
| gclosure.c \ |
| genums.c \ |
| gmarshal.c \ |
| gobject.c \ |
| gobject_trace.h \ |
| gparam.c \ |
| gparamspecs.c \ |
| gsignal.c \ |
| gsourceclosure.c \ |
| gtype.c \ |
| gtypemodule.c \ |
| gtypeplugin.c \ |
| gvalue.c \ |
| gvaluearray.c \ |
| gvaluetransform.c \ |
| gvaluetypes.c |
| |
| if ENABLE_DTRACE |
| |
| gobject_probes.h: gobject_probes.d |
| $(AM_V_GEN) $(DTRACE) -C -h -s $< -o $@.tmp |
| @$(SED) \ |
| -e "s,define STAP_HAS_SEMAPHORES 1,undef STAP_HAS_SEMAPHORES," \ |
| -e "s,define _SDT_HAS_SEMAPHORES 1,undef _SDT_HAS_SEMAPHORES," \ |
| < $@.tmp > $@ && rm -f $@.tmp |
| |
| gobject_probes.lo: gobject_probes.d |
| $(AM_V_GEN) $(LIBTOOL) --mode=compile $(AM_V_lt) --tag=CC $(DTRACE) -G -s $< -o $@ |
| |
| BUILT_SOURCES += gobject_probes.h gobject_probes.lo |
| CLEANFILES += gobject_probes.h |
| libgobject_2_0_la_LIBADD += gobject_probes.lo |
| endif |
| |
| tapsetdir = @ABS_TAPSET_DIR@ |
| EXTRA_DIST += gobject.stp.in |
| |
| if ENABLE_SYSTEMTAP |
| tapset_DATA = libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@.stp |
| CLEANFILES += $(tapset_DATA) |
| |
| $(tapset_DATA): gobject.stp.in Makefile |
| $(AM_V_GEN)$(SED) \ |
| -e 's|[@]ABS_GLIB_RUNTIME_LIBDIR[@]|$(ABS_GLIB_RUNTIME_LIBDIR)|g' \ |
| -e 's|[@]LT_CURRENT[@]|$(LT_CURRENT)|g' \ |
| -e 's|[@]LT_REVISION[@]|$(LT_REVISION)|g' \ |
| $< > $@ |
| endif |
| |
| # 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 = |
| |
| # |
| # 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) |
| |
| # This is read by gobject-introspection/misc/ and gtk-doc |
| gobject-public-headers.txt: Makefile |
| $(AM_V_GEN) echo $(gobject_public_h_sources) > $@.tmp && mv $@.tmp $@ |
| |
| CLEANFILES += gobject-public-headers.txt |
| |
| all-local: gobject-public-headers.txt |
| |
| # |
| # 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. |
| |
| |
| # target platform: |
| libgobjectinclude_HEADERS = $(gobject_target_headers) |
| libgobject_2_0_la_SOURCES = $(gobject_target_sources) |
| |
| # |
| # programs to compile and install |
| # |
| bin_PROGRAMS = gobject-query |
| bin_SCRIPTS = glib-mkenums glib-genmarshal |
| # source files |
| gobject_query_SOURCES = gobject-query.c |
| # link programs against libgobject |
| progs_LDADD = ./libgobject-2.0.la $(libglib) |
| gobject_query_LDADD = $(progs_LDADD) |
| |
| # |
| # auxillary files |
| # |
| EXTRA_DIST += \ |
| gobject.rc.in \ |
| libgobject-gdb.py.in \ |
| glib-genmarshal.in \ |
| glib-mkenums.in |
| |
| CLEANFILES += libgobject-gdb.py |
| |
| BUILT_EXTRA_DIST += \ |
| gobject.rc |
| |
| gobject-win32-res.o: gobject.rc |
| $(AM_V_GEN) $(WINDRES) gobject.rc $@ |
| |
| gobject.def: libgobject-2.0.la |
| $(AM_V_GEN) dumpbin.exe -exports .libs/libgobject-2.0-0.dll | awk 'BEGIN { print "EXPORTS" } / +[[:digit:]]+ +[[:xdigit:]]+ +[[:xdigit:]]+/{ print $$4 }' > gobject.def.tmp && mv gobject.def.tmp gobject.def |
| |
| gobject-2.0.lib: libgobject-2.0.la gobject.def |
| $(AM_V_GEN) lib.exe -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgobject-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:$(builddir)/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 |
| |
| uninstall-local: uninstall-ms-lib uninstall-gdb |
| |
| distclean-local: |
| if test $(srcdir) = .; then :; else \ |
| rm -f $(BUILT_EXTRA_DIST); \ |
| fi |
| |
| # install gdb scripts |
| gdbdir = $(datadir)/glib-2.0/gdb |
| dist_gdb_DATA = gobject_gdb.py |
| |
| all-local: libgobject-gdb.py |
| libgobject-gdb.py: libgobject-gdb.py.in |
| $(AM_V_GEN) $(SED) -e "s|\@datadir\@|$(datadir)|" $(srcdir)/libgobject-gdb.py.in > $(builddir)/libgobject-gdb.py |
| |
| uninstall-gdb: |
| -rm -r $(DESTDIR)$(datadir)/gdb |
| |
| if HAVE_GLIB_RUNTIME_LIBDIR |
| ABS_GLIB_RUNTIME_LIBDIR = $(realpath $(libdir)/$(GLIB_RUNTIME_LIBDIR)) |
| else |
| ABS_GLIB_RUNTIME_LIBDIR = $(libdir) |
| endif |
| |
| install-data-hook: libgobject-gdb.py |
| mkdir -p $(DESTDIR)$(datadir)/gdb/auto-load/$(ABS_GLIB_RUNTIME_LIBDIR) |
| $(INSTALL) $(builddir)/libgobject-gdb.py $(DESTDIR)$(datadir)/gdb/auto-load/$(ABS_GLIB_RUNTIME_LIBDIR)/libgobject-2.0.so.0.$(LT_CURRENT).$(LT_REVISION)-gdb.py |
| if HAVE_GLIB_RUNTIME_LIBDIR |
| mkdir -p $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR) |
| mv $(DESTDIR)$(libdir)/libgobject-2.0.so.0 $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR) |
| mv $(DESTDIR)$(libdir)/libgobject-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR) |
| rm -f $(DESTDIR)$(libdir)/libgobject-2.0.so |
| ln -s $(GLIB_RUNTIME_LIBDIR)/libgobject-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/libgobject-2.0.so |
| endif |