| # GRuntime - 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=g_log_domain_gruntime \ |
| -I$(top_srcdir) \ |
| -I$(top_srcdir)/glib \ |
| -I$(top_builddir) \ |
| @GLIB_DEBUG_FLAGS@ \ |
| -DG_DISABLE_CONST_RETURNS \ |
| @STRIP_END@ |
| |
| libglib = $(top_builddir)/glib/libglib-1.3.la |
| |
| # libraries to compile and install |
| lib_LTLIBRARIES = libgobject-1.3.la |
| |
| if PLATFORM_WIN32 |
| no_undefined = -no-undefined |
| endif |
| if OS_WIN32 |
| export_symbols = -export-symbols gobject.def |
| endif |
| |
| # libtool stuff: set version and export symbols for resolving |
| libgobjectincludedir = $(includedir)/glib-2.0/gobject |
| libgobject_1_3_la_LDFLAGS = @STRIP_BEGIN@ \ |
| -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ |
| -export-dynamic $(no_undefined) $(export_symbols) \ |
| @STRIP_END@ |
| |
| libgobject_1_3_la_LIBADD = $(libglib) |
| |
| # |
| # setup source file variables |
| # |
| # GRuntime header files for public installation (non-generated) |
| gruntime_public_h_sources = @STRIP_BEGIN@ \ |
| gboxed.h \ |
| gbsearcharray.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@ |
| # GRuntime header files that don't get installed |
| gruntime_private_h_sources = @STRIP_BEGIN@ \ |
| @STRIP_END@ |
| # GRuntime C sources to build the library from |
| gruntime_c_sources = @STRIP_BEGIN@ \ |
| gboxed.c \ |
| gbsearcharray.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 |
| gruntime_built_public_sources = @STRIP_BEGIN@ \ |
| gmarshal.h \ |
| @STRIP_END@ |
| # built sources that don't get installed |
| gruntime_built_sources = @STRIP_BEGIN@ \ |
| stamp-gmarshal.h \ |
| gmarshal.c \ |
| ${gruntime_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 |
| gruntime_extra_sources = @STRIP_BEGIN@ \ |
| gmarshal.list \ |
| gmarshal.strings \ |
| @STRIP_END@ |
| |
| |
| # |
| # setup GRuntime sources and their dependancies |
| # |
| gruntime_target_headers = $(gruntime_public_h_sources) $(gruntime_built_public_sources) |
| gruntime_target_sources = $(gruntime_c_sources) |
| MAINTAINERCLEANFILES += $(gruntime_built_sources) |
| EXTRA_HEADERS += |
| EXTRA_DIST += $(gruntime_private_h_sources) $(gruntime_extra_sources) |
| EXTRA_DIST += $(gruntime_built_sources) |
| |
| # |
| # rules to generate built sources |
| # |
| # setup autogeneration dependancies |
| gen_sources = xgen-gmh xgen-gmc xgen-gms |
| CLEANFILES += $(gen_sources) |
| |
| $(libgobject_1_3_la_OBJECTS): $(gruntime_built_sources) ${gruntime_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 = $(gruntime_target_headers) |
| libgobject_1_3_la_SOURCES = $(gruntime_target_sources) |
| |
| # |
| # programs to compile and install |
| # |
| bin_PROGRAMS = gobject-query glib-genmarshal |
| bin_SCRIPTS = glib-mkenums |
| noinst_PROGRAMS = testgruntime |
| # source files |
| gobject_query_SOURCES = gobject-query.c |
| glib_genmarshal_SOURCES = glib-genmarshal.c |
| testgruntime_SOURCES = testgruntime.c |
| # link programs against libgobject |
| progs_LDADD = ./libgobject-1.3.la $(libglib) |
| glib_genmarshal_LDADD = $(libglib) |
| gobject_query_LDADD = $(progs_LDADD) |
| testgruntime_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 \ |
| glib-mkenums.1 |
| |
| BUILT_EXTRA_DIST = \ |
| makefile.mingw \ |
| makefile.msc \ |
| gobject.rc |
| |
| glib-mkenums: $(srcdir)/glib-mkenums |
| if test -e glib-mkenums; then \ |
| rm glib-mkenums; \ |
| fi; \ |
| cp $(srcdir)/glib-mkenums glib-mkenums |
| |
| 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 |