glib/gobject/makefile.mingw.in

89 lines
2.9 KiB
Plaintext
Raw Normal View History

## 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
Warn if no callback. Call callback correctly. (g_io_win32_create_watch): 2000-12-14 Tor Lillqvist <tml@iki.fi> * giowin32.c (g_io_win32_dispatch): Warn if no callback. Call callback correctly. (g_io_win32_create_watch): Fix typo. (g_io_win32_fd_create_watch): Ditto. (g_io_channel_unix_new): If it is a file descriptor (i.e., a Unix fd lookalike provided by the C library), call g_io_channel_win32_new_fd(). If it is a socket (from WinSock), call g_io_cahnnel_win32_new_stream_socket(). Hopefully sockets and fds don't overlap. TODO: Implement also datagram sockets. (g_io_channel_win32_poll): Call g_main_context_get_poll_func(). * gcompletion.h: Include <unistd.h> only on Unix. Is this inclusion really needed here? OTOH, do include <stddef.h>, for size_t. * gmessages.c: (Win32) Don't define a function called "write" that might clash with the prototype from <io.h>, use a #define. * glib.def: Update. * gmain.c (g_source_add_poll): Don't return a value from void function. (g_main_context_get_poll_func): Compile also for non-Win32, as presumably was intended. The result var is a GPollFunc, not a GPollFunc*. Return the result! gobject: 2000-12-14 Tor Lillqvist <tml@iki.fi> * makefile.mingw.in: Update, include parts from Makefile.am to build gmarshal.[ch]. Some day, we won't need these separate makefiles for Win32 compilation. I hope. * makefile.msc.in: Update. No use trying to build gmarshal.[ch] here, it would require Unixish tools. MSVC users building from CVS sources are out of luck. * gobject.def: Update.
2000-12-14 22:02:20 +01:00
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@,' \
Warn if no callback. Call callback correctly. (g_io_win32_create_watch): 2000-12-14 Tor Lillqvist <tml@iki.fi> * giowin32.c (g_io_win32_dispatch): Warn if no callback. Call callback correctly. (g_io_win32_create_watch): Fix typo. (g_io_win32_fd_create_watch): Ditto. (g_io_channel_unix_new): If it is a file descriptor (i.e., a Unix fd lookalike provided by the C library), call g_io_channel_win32_new_fd(). If it is a socket (from WinSock), call g_io_cahnnel_win32_new_stream_socket(). Hopefully sockets and fds don't overlap. TODO: Implement also datagram sockets. (g_io_channel_win32_poll): Call g_main_context_get_poll_func(). * gcompletion.h: Include <unistd.h> only on Unix. Is this inclusion really needed here? OTOH, do include <stddef.h>, for size_t. * gmessages.c: (Win32) Don't define a function called "write" that might clash with the prototype from <io.h>, use a #define. * glib.def: Update. * gmain.c (g_source_add_poll): Don't return a value from void function. (g_main_context_get_poll_func): Compile also for non-Win32, as presumably was intended. The result var is a GPollFunc, not a GPollFunc*. Return the result! gobject: 2000-12-14 Tor Lillqvist <tml@iki.fi> * makefile.mingw.in: Update, include parts from Makefile.am to build gmarshal.[ch]. Some day, we won't need these separate makefiles for Win32 compilation. I hope. * makefile.msc.in: Update. No use trying to build gmarshal.[ch] here, it would require Unixish tools. MSVC users building from CVS sources are out of luck. * gobject.def: Update.
2000-12-14 22:02:20 +01:00
-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 \
gvaluearray.o \
gvaluetransform.o \
gvaluetypes.o
gobject-$(GLIB_VER).dll : $(srcdir)/stamp-gmarshal.h gmarshal.c $(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)
Warn if no callback. Call callback correctly. (g_io_win32_create_watch): 2000-12-14 Tor Lillqvist <tml@iki.fi> * giowin32.c (g_io_win32_dispatch): Warn if no callback. Call callback correctly. (g_io_win32_create_watch): Fix typo. (g_io_win32_fd_create_watch): Ditto. (g_io_channel_unix_new): If it is a file descriptor (i.e., a Unix fd lookalike provided by the C library), call g_io_channel_win32_new_fd(). If it is a socket (from WinSock), call g_io_cahnnel_win32_new_stream_socket(). Hopefully sockets and fds don't overlap. TODO: Implement also datagram sockets. (g_io_channel_win32_poll): Call g_main_context_get_poll_func(). * gcompletion.h: Include <unistd.h> only on Unix. Is this inclusion really needed here? OTOH, do include <stddef.h>, for size_t. * gmessages.c: (Win32) Don't define a function called "write" that might clash with the prototype from <io.h>, use a #define. * glib.def: Update. * gmain.c (g_source_add_poll): Don't return a value from void function. (g_main_context_get_poll_func): Compile also for non-Win32, as presumably was intended. The result var is a GPollFunc, not a GPollFunc*. Return the result! gobject: 2000-12-14 Tor Lillqvist <tml@iki.fi> * makefile.mingw.in: Update, include parts from Makefile.am to build gmarshal.[ch]. Some day, we won't need these separate makefiles for Win32 compilation. I hope. * makefile.msc.in: Update. No use trying to build gmarshal.[ch] here, it would require Unixish tools. MSVC users building from CVS sources are out of luck. * gobject.def: Update.
2000-12-14 22:02:20 +01:00
# 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