glib/gobject/makefile.mingw.in
Tor Lillqvist 020b44f5ac Add variable for LT_CURRENT minus LT_AGE (the suffix used by libtool on
2001-09-17  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Add variable for LT_CURRENT minus LT_AGE (the
	suffix used by libtool on Win32 for DLLs). Set variables for the
	compiled resource files on Windows. Handle the native Win32
	gthread stuff.

	* glib/Makefile.am
	* gmodule/Makefile.am
	* gobject/Makefile.am: (Win32) Add minor hacks to link in the object
	file produced from the resource file. Use the lt-compile-resource
	script from the build module. The non-hack way would be to teach
	libtool, autoconf and automake about .rc files (which are a kind
	of source code, after all, that gets compiled to object
	files). But then there would be problems for those who wouldn't have
	bleeding edge auto* and libtool.

	* glib/glib.def
	* gobject/gobject.def: Updates.

	* glib/glib.rc.in
	* gmodule/gmodule.rc.in
	* gobject/gobject.rc.in
	* gthread/gthread.rc.in: Update InternalName and OriginalFilename to
	match libtool's naming convention for DLLs.

	* glib/gutils.c: Ditto when constructing the DLL name in the
	definition for GLIB_LOCALE_DIR.

	* glib/makefile.mingw.in
	* gmodule/makefile.mingw.in
	* gobject/makefile.mingw.in
	* gthread/makefile.mingw.in: Update import library names.
2001-09-17 00:41:39 +00:00

80 lines
3.0 KiB
Plaintext

## Makefile for building the gobject DLL with gcc for mingw. The build
## uses tools running on cygwin, however.
## Use: make -f makefile.mingw
TOP = ../..
include ../build/win32/make.mingw
################################################################
# Nothing much configurable below
INCLUDES = -I .. -I ../glib -I .
DEFINES = -DHAVE_CONFIG_H -DGOBJECT_COMPILATION -DG_LOG_DOMAIN=g_log_domain_gruntime -DG_ENABLE_DEBUG
srcdir=.
all : \
libgobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@.a \
testgruntime.exe \
glib-genmarshal.exe
gobject_OBJECTS = \
gboxed.o \
gclosure.o \
genums.o \
gobject.o \
gparam.o \
gparamspecs.o \
gsignal.o \
gtype.o \
gtypemodule.o \
gtypeplugin.o \
gvalue.o \
gvaluearray.o \
gvaluetransform.o \
gvaluetypes.o
libgobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@.a : $(srcdir)/stamp-gmarshal.h gmarshal.c $(gobject_OBJECTS) gobject.def
$(BUILD_DLL) gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@ @LT_CURRENT@:@LT_REVISION@:@LT_AGE@ gobject.def $(gobject_OBJECTS) -L ../glib -lglib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@
glib-genmarshal.exe : glib-genmarshal.c
$(CC) -o $@ $(CFLAGS) -UGOBJECT_COMPILATION $< -L ../glib -lglib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@
testgruntime.exe: libgobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@.a testgruntime.o
$(CC) $(CFLAGS) -o testgruntime.exe testgruntime.o -L ../glib -lglib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@ -L . -lgobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@ $(LFLAGS)
# Copied from Makefile.am:
# 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.exe
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
clean::
-rm gmarshal.h gmarshal.c stamp-gmarshal.h