| ## 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=\"GLib-GObject\" -DG_ENABLE_DEBUG |
| |
| srcdir=. |
| |
| all : \ |
| libgobject-2.0.a \ |
| testgobject.exe \ |
| glib-genmarshal.exe |
| |
| gobject_OBJECTS = \ |
| gboxed.o \ |
| gclosure.o \ |
| genums.o \ |
| gobject.o \ |
| gparam.o \ |
| gparamspecs.o \ |
| gsignal.o \ |
| gsourceclosure.o \ |
| gtype.o \ |
| gtypemodule.o \ |
| gtypeplugin.o \ |
| gvalue.o \ |
| gvaluearray.o \ |
| gvaluetransform.o \ |
| gvaluetypes.o |
| |
| libgobject-2.0.a : $(srcdir)/stamp-gmarshal.h gmarshal.c $(gobject_OBJECTS) gobject.def gobject-2.0.rc |
| $(BUILD_DLL) gobject-2.0 @LT_CURRENT@:@LT_REVISION@:@LT_AGE@ gobject.def $(gobject_OBJECTS) -L ../glib -lglib-2.0 |
| |
| glib-genmarshal.exe : glib-genmarshal.c |
| $(CC) -o $@ $(CFLAGS) -UGOBJECT_COMPILATION $< -L ../glib -lglib-2.0 |
| |
| testgobject.exe: libgobject-2.0.a testgobject.o |
| $(CC) $(CFLAGS) -o testgobject.exe testgobject.o -L ../glib -lglib-2.0 -L . -lgobject-2.0 $(LFLAGS) |
| |
| gobject-2.0.rc : gobject.rc |
| cp $< $@ |
| |
| # 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 \ |
| && PATH=../glib:$$PATH ./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 |
| PATH=../glib:$$PATH ./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 |