| # 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_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 |
| DTCOMPILE = $(patsubst -W%,,$(LTCOMPILE)) |
| DTCFLAGS = $(patsubst -W%,,$(CFLAGS)) |
| |
| 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," < $@.tmp > $@ && rm -f $@.tmp |
| |
| gobject_probes.lo: gobject_probes.d |
| $(AM_V_GEN) env CC="$(DTCOMPILE)" CFLAGS="$(DTCFLAGS)" $(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 |
| |
| if ENABLE_SYSTEMTAP |
| tapset_in_files = gobject.stp.in |
| tapsetdir = @ABS_TAPSET_DIR@ |
| tapset_DATA = $(tapset_in_files:.stp.in=.stp) |
| EXTRA_DIST += $(tapset_in_files) |
| 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 = \ |
| 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) \ |
| marshal-genstrings.pl |
| |
| # 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. |
| |
| |
| gmarshal.strings: @REBUILD@ $(srcdir)/gmarshal.list |
| $(AM_V_GEN) 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 |
| |
| # 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 |
| # source files |
| gobject_query_SOURCES = gobject-query.c |
| glib_genmarshal_SOURCES = glib-genmarshal.c |
| # link programs against libgobject |
| progs_LDADD = ./libgobject-2.0.la $(libglib) |
| glib_genmarshal_LDADD = $(libglib) |
| gobject_query_LDADD = $(progs_LDADD) |
| |
| # |
| # auxillary files |
| # |
| EXTRA_DIST += \ |
| makefile.msc.in \ |
| gobject.rc.in \ |
| libgobject-gdb.py.in \ |
| glib-mkenums.in |
| |
| CLEANFILES += libgobject-gdb.py |
| |
| BUILT_EXTRA_DIST += \ |
| makefile.msc \ |
| 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) ../build/win32/vs9/gobject.vcproj ../build/win32/vs10/gobject.vcxproj ../build/win32/vs10/gobject.vcxproj.filters |
| 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 |
| |
| ../build/win32/vs9/gobject.vcproj: $(top_srcdir)/build/win32/vs9/gobject.vcprojin |
| for F in $(libgobject_2_0_la_SOURCES); do \ |
| case $$F in \ |
| *.c) echo ' <File RelativePath="..\..\..\gobject\'$$F'" />' \ |
| ;; \ |
| esac; \ |
| done >libgobject.sourcefiles |
| $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gobject.vcprojin >$@ |
| rm libgobject.sourcefiles |
| |
| ../build/win32/vs10/gobject.vcxproj: $(top_srcdir)/build/win32/vs10/gobject.vcxprojin |
| for F in $(libgobject_2_0_la_SOURCES); do \ |
| case $$F in \ |
| *.c) echo ' <ClCompile Include="..\..\..\gobject\'$$F'" />' \ |
| ;; \ |
| esac; \ |
| done >libgobject.vs10.sourcefiles |
| $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gobject.vcxprojin >$@ |
| rm libgobject.vs10.sourcefiles |
| |
| ../build/win32/vs10/gobject.vcxproj.filters: $(top_srcdir)/build/win32/vs10/gobject.vcxproj.filtersin |
| for F in $(libgobject_2_0_la_SOURCES); do \ |
| case $$F in \ |
| *.c) echo ' <ClCompile Include="..\..\..\gobject\'$$F'"><Filter>Source Files</Filter></ClCompile>' \ |
| ;; \ |
| esac; \ |
| done >libgobject.vs10.sourcefiles.filters |
| $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gobject.vcxproj.filtersin >$@ |
| rm libgobject.vs10.sourcefiles.filters |
| |
| 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_SCRIPTS = gobject.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 |
| |
| 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 |