mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-05 08:56:16 +01:00
d22f051252
2005-07-09 Tor Lillqvist <tml@novell.com> * configure.in: Don't use autoconf variables for the resource object files on Win32 any longer. Instead handle that in the Makefile.am files. Check for windres. * glibconfig.h.win32.in: Minor tuning to match the configure-produced glibconfig.h closely. * */Makefile.am: Don't use the scripts in build/win32 to compile the .rc file into a resource object file. (This means we loose the build number increment magic, but I doubt it was that useful anyway.) Instead use windres directly. To pass the normal .o file produced by windres through libtool, which wants .lo files, pass it directly to the linker using a -Wl option. * */*.rc.in: Thus replace BUILDNUMBER with 0.
260 lines
6.6 KiB
Makefile
260 lines
6.6 KiB
Makefile
# 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
|
|
|
|
gobject.def: gobject.symbols
|
|
(echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DINCLUDE_INTERNAL_SYMBOLS -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gobject.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g' | sort) > gobject.def
|
|
|
|
gobjectalias.h: gobject.symbols
|
|
$(PERL) $(srcdir)/makegobjectalias.pl < $(srcdir)/gobject.symbols > gobjectalias.h
|
|
|
|
gobjectaliasdef.c: gobject.symbols
|
|
$(PERL) $(srcdir)/makegobjectalias.pl -def < $(srcdir)/gobject.symbols > gobjectaliasdef.c
|
|
|
|
if OS_LINUX
|
|
if HAVE_GNUC_VISIBILITY
|
|
TESTS = abicheck.sh
|
|
endif
|
|
endif
|
|
|
|
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 gobject.def
|
|
|
|
install-def-file:
|
|
$(INSTALL) gobject.def $(DESTDIR)$(libdir)/gobject-2.0.def
|
|
|
|
uninstall-def-file:
|
|
-rm $(DESTDIR)$(libdir)/gobject-2.0.def
|
|
else
|
|
install-def-file:
|
|
uninstall-def-file:
|
|
|
|
export_symbols = $(LIBTOOL_EXPORT_OPTIONS)
|
|
endif
|
|
|
|
if OS_WIN32
|
|
gobject_win32_res = gobject-win32-res.o
|
|
gobject_win32_res_ldflag = -Wl,$(gobject_win32_res)
|
|
endif
|
|
|
|
# libtool stuff: set version and export symbols for resolving
|
|
libgobjectincludedir = $(includedir)/glib-2.0/gobject
|
|
libgobject_2_0_la_LDFLAGS = \
|
|
$(gobject_win32_res_ldflag) \
|
|
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
|
|
-export-dynamic $(no_undefined) $(export_symbols)
|
|
|
|
libgobject_2_0_la_LIBADD = $(libglib)
|
|
|
|
libgobject_2_0_la_DEPENDENCIES = $(gobject_win32_res) $(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 gobjectalias.h gobjectaliasdef.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 \
|
|
gobject.symbols
|
|
|
|
|
|
#
|
|
# 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) \
|
|
makegobjectalias.pl
|
|
|
|
#
|
|
# 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.rc.in \
|
|
glib-genmarshal.1 \
|
|
glib-mkenums.in \
|
|
glib-mkenums.1 \
|
|
abicheck.sh
|
|
|
|
BUILT_EXTRA_DIST = \
|
|
makefile.msc \
|
|
gobject.rc \
|
|
gmarshal.h \
|
|
gmarshal.c \
|
|
stamp-gmarshal.h \
|
|
gobjectalias.h \
|
|
gobjectaliasdef.c
|
|
|
|
|
|
if OS_WIN32
|
|
gobject-win32-res.o: gobject.rc
|
|
$(WINDRES) 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-def-file
|
|
|
|
uninstall-local: uninstall-ms-lib uninstall-def-file
|
|
|
|
distclean-local:
|
|
if test $(srcdir) = .; then :; else \
|
|
rm -f $(BUILT_EXTRA_DIST); \
|
|
fi
|