mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 11:26:16 +01:00
8f7579774c
* gmain.c, gmain.h (g_main_context_new, g_main_context_destroy): GMainContext useful in implementing some additional styles of main loop usage. To do this, however, Joe Hacker needs to be able to create/destroy GMainContext's at will. This is just an export of existing functionality, rather than new functionality. They are listed in the "Low level functions for implementing custom main loops" section of the header file, to avoid confusing people. * gobject/Makefile.am: . You have to 'touch oldest-source-stamp' if you want to avoid having the Makefile constantly rebuild itself. . Fix marshaller generation rules to work with srcdir != builddir (there were issues with trying to run "./glib-genmarshal", etc.)
192 lines
5.9 KiB
Makefile
192 lines
5.9 KiB
Makefile
# 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_builddir) \
|
|
@GLIB_DEBUG_FLAGS@ \
|
|
@STRIP_END@
|
|
|
|
# libraries to compile and install
|
|
lib_LTLIBRARIES = libgobject-1.3.la
|
|
|
|
# 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 \
|
|
@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 \
|
|
gtype.h \
|
|
gtypemodule.h \
|
|
gtypeplugin.h \
|
|
gvalue.h \
|
|
gvaluecollector.h \
|
|
gvaluetypes.h \
|
|
@STRIP_END@
|
|
# GRuntime header files that don't get installed
|
|
gruntime_private_h_sources =
|
|
# 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 \
|
|
gtype.c \
|
|
gtypemodule.c \
|
|
gtypeplugin.c \
|
|
gvalue.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)
|
|
Makefile: oldest-source-stamp # oh boy, does automake SUCK!
|
|
|
|
oldest-source-stamp: $(gruntime_built_sources)
|
|
@touch oldest-source-stamp
|
|
CLEANFILES+=oldest-source-stamp
|
|
|
|
$(OBJECTS): oldest-source-stamp ${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
|
|
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
|
|
# source files
|
|
gobject_query_SOURCES = gobject-query.c
|
|
glib_genmarshal_SOURCES = glib-genmarshal.c
|
|
# link programs against libgobject
|
|
progs_LDADD = ../libglib-1.3.la libgobject-1.3.la
|
|
glib_genmarshal_LDADD = ../libglib-1.3.la # can't have libgobject here
|
|
gobject_query_LDADD = $(progs_LDADD)
|
|
|
|
#
|
|
# manual pages to install
|
|
#
|
|
man_MANS = glib-genmarshal.1
|
|
|
|
#
|
|
# auxillary files
|
|
#
|
|
EXTRA_DIST += \
|
|
makefile.mingw.in \
|
|
makefile.msc.in \
|
|
gobject.def \
|
|
gobject.rc.in \
|
|
glib-genmarshal.1
|
|
|
|
BUILT_EXTRA_DIST = \
|
|
makefile.mingw \
|
|
makefile.msc \
|
|
gobject.rc
|
|
|
|
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
|