mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 15:06:14 +01:00
388454cc3b
2001-01-25 Tor Lillqvist <tml@iki.fi> * makefile.mingw.in * */makefile.mingw.in: Protect the rule to rebuild makefile.mingw if makefile.mingw.in has changed with a check if said .in file exists. (This rule is mainly a convenience for yours truly.)
84 lines
2.8 KiB
Plaintext
84 lines
2.8 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
|
|
|
|
# Possibly override GLib version in build/win32/module.defs
|
|
GLIB_VER = @GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@
|
|
|
|
################################################################
|
|
|
|
# Nothing much configurable below
|
|
|
|
INCLUDES = -I .. -I .
|
|
DEFINES = -DHAVE_CONFIG_H -DGOBJECT_COMPILATION -DG_LOG_DOMAIN=g_log_domain_gruntime -DG_ENABLE_DEBUG
|
|
|
|
srcdir=.
|
|
|
|
BUILD_DLL = ../build-dll
|
|
|
|
all : \
|
|
gobject-$(GLIB_VER).dll \
|
|
glib-genmarshal.exe
|
|
|
|
ifeq ($(wildcard makefile.mingw.in),makefile.mingw.in)
|
|
makefile.mingw: makefile.mingw.in
|
|
sed -e 's,@GLIB[_]MAJOR_VERSION@,@GLIB_MAJOR_VERSION@,' \
|
|
-e 's,@GLIB[_]MINOR_VERSION@,@GLIB_MINOR_VERSION@,' \
|
|
-e 's,@RE[B]UILD@,,' <$< >$@
|
|
endif
|
|
|
|
gobject_OBJECTS = \
|
|
gboxed.o \
|
|
gbsearcharray.o \
|
|
gclosure.o \
|
|
genums.o \
|
|
gobject.o \
|
|
gparam.o \
|
|
gparamspecs.o \
|
|
gsignal.o \
|
|
gtype.o \
|
|
gtypemodule.o \
|
|
gtypeplugin.o \
|
|
gvalue.o \
|
|
gvaluetypes.o
|
|
|
|
gobject-$(GLIB_VER).dll : $(gobject_OBJECTS) gobject.def
|
|
$(BUILD_DLL) gobject $(GLIB_VER) gobject.def $(gobject_OBJECTS) -L .. -lglib-$(GLIB_VER)
|
|
|
|
glib-genmarshal.exe : glib-genmarshal.c
|
|
$(CC) -o $@ $(CFLAGS) -UGOBJECT_COMPILATION $< -L .. -lglib-$(GLIB_VER) -L . -lgobject-$(GLIB_VER)
|
|
|
|
# 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
|