From: Tor Lillqvist Date: Sun, 25 Apr 1999 20:52:42 +0000 (+0000) Subject: More editing. Use gcc, not ld to link. On native Win32 use _unlink(). Use X-Git-Tag: GLIB_1_3_1~191 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d6c6eb3d92e857a296134c68c2cd590636b1fb63;p=platform%2Fupstream%2Fglib.git More editing. Use gcc, not ld to link. On native Win32 use _unlink(). Use * README.win32: More editing. * build-dll: Use gcc, not ld to link. * glib.h: On native Win32 use _unlink(). * gscanner.c: Use corrent NATIVE_WIN32 feature test macro, not _MSC_VER. * gstring.c: Include on Win32 for _read prototype. * gutils.c: Remove old IO channel code (was in #if 0). * makefile.cygwin: Don't need to link with kernel32 and msvcrt explicitly, they are included anyway. --- diff --git a/ChangeLog b/ChangeLog index 9d57690..3073d27 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +1999-04-25 Tor Lillqvist + + * README.win32: More editing. + * build-dll: Use gcc, not ld to link. + * glib.h: On native Win32 use _unlink(). + * gscanner.c: Use corrent NATIVE_WIN32 feature test macro, + not _MSC_VER. + * gstring.c: Include on Win32 for _read prototype. + * gutils.c: Remove old IO channel code (was in #if 0). + * makefile.cygwin: Don't need to link with kernel32 and msvcrt + explicitly, they are included anyway. + 1999-04-24 Tor Lillqvist Support added for building using a GNU toolchain on Win32, diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 9d57690..3073d27 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,15 @@ +1999-04-25 Tor Lillqvist + + * README.win32: More editing. + * build-dll: Use gcc, not ld to link. + * glib.h: On native Win32 use _unlink(). + * gscanner.c: Use corrent NATIVE_WIN32 feature test macro, + not _MSC_VER. + * gstring.c: Include on Win32 for _read prototype. + * gutils.c: Remove old IO channel code (was in #if 0). + * makefile.cygwin: Don't need to link with kernel32 and msvcrt + explicitly, they are included anyway. + 1999-04-24 Tor Lillqvist Support added for building using a GNU toolchain on Win32, diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 9d57690..3073d27 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,15 @@ +1999-04-25 Tor Lillqvist + + * README.win32: More editing. + * build-dll: Use gcc, not ld to link. + * glib.h: On native Win32 use _unlink(). + * gscanner.c: Use corrent NATIVE_WIN32 feature test macro, + not _MSC_VER. + * gstring.c: Include on Win32 for _read prototype. + * gutils.c: Remove old IO channel code (was in #if 0). + * makefile.cygwin: Don't need to link with kernel32 and msvcrt + explicitly, they are included anyway. + 1999-04-24 Tor Lillqvist Support added for building using a GNU toolchain on Win32, diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 9d57690..3073d27 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,15 @@ +1999-04-25 Tor Lillqvist + + * README.win32: More editing. + * build-dll: Use gcc, not ld to link. + * glib.h: On native Win32 use _unlink(). + * gscanner.c: Use corrent NATIVE_WIN32 feature test macro, + not _MSC_VER. + * gstring.c: Include on Win32 for _read prototype. + * gutils.c: Remove old IO channel code (was in #if 0). + * makefile.cygwin: Don't need to link with kernel32 and msvcrt + explicitly, they are included anyway. + 1999-04-24 Tor Lillqvist Support added for building using a GNU toolchain on Win32, diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 9d57690..3073d27 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,15 @@ +1999-04-25 Tor Lillqvist + + * README.win32: More editing. + * build-dll: Use gcc, not ld to link. + * glib.h: On native Win32 use _unlink(). + * gscanner.c: Use corrent NATIVE_WIN32 feature test macro, + not _MSC_VER. + * gstring.c: Include on Win32 for _read prototype. + * gutils.c: Remove old IO channel code (was in #if 0). + * makefile.cygwin: Don't need to link with kernel32 and msvcrt + explicitly, they are included anyway. + 1999-04-24 Tor Lillqvist Support added for building using a GNU toolchain on Win32, diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 9d57690..3073d27 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,15 @@ +1999-04-25 Tor Lillqvist + + * README.win32: More editing. + * build-dll: Use gcc, not ld to link. + * glib.h: On native Win32 use _unlink(). + * gscanner.c: Use corrent NATIVE_WIN32 feature test macro, + not _MSC_VER. + * gstring.c: Include on Win32 for _read prototype. + * gutils.c: Remove old IO channel code (was in #if 0). + * makefile.cygwin: Don't need to link with kernel32 and msvcrt + explicitly, they are included anyway. + 1999-04-24 Tor Lillqvist Support added for building using a GNU toolchain on Win32, diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 9d57690..3073d27 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,15 @@ +1999-04-25 Tor Lillqvist + + * README.win32: More editing. + * build-dll: Use gcc, not ld to link. + * glib.h: On native Win32 use _unlink(). + * gscanner.c: Use corrent NATIVE_WIN32 feature test macro, + not _MSC_VER. + * gstring.c: Include on Win32 for _read prototype. + * gutils.c: Remove old IO channel code (was in #if 0). + * makefile.cygwin: Don't need to link with kernel32 and msvcrt + explicitly, they are included anyway. + 1999-04-24 Tor Lillqvist Support added for building using a GNU toolchain on Win32, diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 9d57690..3073d27 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,15 @@ +1999-04-25 Tor Lillqvist + + * README.win32: More editing. + * build-dll: Use gcc, not ld to link. + * glib.h: On native Win32 use _unlink(). + * gscanner.c: Use corrent NATIVE_WIN32 feature test macro, + not _MSC_VER. + * gstring.c: Include on Win32 for _read prototype. + * gutils.c: Remove old IO channel code (was in #if 0). + * makefile.cygwin: Don't need to link with kernel32 and msvcrt + explicitly, they are included anyway. + 1999-04-24 Tor Lillqvist Support added for building using a GNU toolchain on Win32, diff --git a/README.win32 b/README.win32 index 178c073..d9910aa 100644 --- a/README.win32 +++ b/README.win32 @@ -6,31 +6,56 @@ by the Microsoft runtime C library. Additionally, a pthreads emulation library is used. To build GLib on Win32, you can use either the Microsoft compiler and -tools, or egcs-1.1.2 running under cygwin-b20.1. Both the compiler -from MSVC 5.0 and from MSVC 6.0 have been used successfully. If you -build with egcs, note that the produced executables and DLLs do *not* -require the cygwin dll ("mingw32"). That's the whole point of this -porting effort, more or less. +tools, or gcc. Both the compiler from MSVC 5.0 and from MSVC 6.0 have +been used successfully. With gcc I mean egcs-1.1.2 (as distributed by +Mumit Khan), running under cygwin-b20.1. -The egcs support was added quite recently, but seems to work in all -respects. Debugging with gdk works. +If you build with gcc, note that the produced executables and DLLs do +*not* require the cygwin dll (gcc -mno-cygwin). That's the whole point +of this porting effort, more or less. -Before building you must get the pthreads library for Windows from +The egcs support was added quite recently, but seems to +work. Debugging with gdb works. I prefer to use the msvcrt runtime and +not the default crtdll. This can be achieved by applying the following +diff to the specs file, which typically is installed as +C:/cygnus/cygwin-b20/H-i586-cygwin32/lib/gcc-lib/i586-cygwin32/egcs-2.91.66/specs. + +Sorry for the illegibility of this diff, but the specs file is like +that... This diff replaces -lcrtdll with -lmsvcrt, replaces crt1 with +crt2, and defines __MSVCRT__. + +--- specs.ORIG Sun Apr 25 00:40:40 1999 ++++ specs Sun Apr 25 00:48:04 1999 +@@ -23 +23 @@ +-%{pg:-lgmon} %{!mno-cygwin:-lcygwin} %{mno-cygwin:-lmingw32 -lmoldname -lcrtdll} %{mwindows:-luser32 -lgdi32 -lcomdlg32} -lkernel32 -ladvapi32 -lshell32 ++%{pg:-lgmon} %{!mno-cygwin:-lcygwin} %{mno-cygwin:-lmingw32 -lmoldname -lmsvcrt} %{mwindows:-luser32 -lgdi32 -lcomdlg32} -lkernel32 -ladvapi32 -lshell32 +@@ -29 +29 @@ +-%{mdll: %{!mno-cygwin:dllcrt0%O%s} %{mno-cygwin:dllcrt1%O%s}} %{!mdll: %{!mno-cygwin:crt0%O%s} %{mno-cygwin:crt1%O%s} %{pg:gcrt0%O%s}} ++%{mdll: %{!mno-cygwin:dllcrt0%O%s} %{mno-cygwin:dllcrt2%O%s}} %{!mdll: %{!mno-cygwin:crt0%O%s} %{mno-cygwin:crt2%O%s} %{pg:gcrt0%O%s}} +@@ -38 +38 @@ +--Di386 -D_WIN32 -DWINNT -D_X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__)) -D__cdecl=__attribute__((__cdecl__)) -D__declspec(x)=__attribute__((x)) -Asystem(winnt) -Acpu(i386) -Amachine(i386) ++-Di386 -D_WIN32 %{mno-cygwin:-D__MSVCRT__ } -DWINNT -D_X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__)) -D__cdecl=__attribute__((__cdecl__)) -D__declspec(x)=__attribute__((x)) -Asystem(winnt) -Acpu(i386) -Amachine(i386) + +Note: If you build with gcc, you should also fix the definition of +_dev_t in the header mingw32/sys/types.h to correspond to what it +actually is used by msvcrt.dll. It should be unsigned int, not +short. Otherwise stat() calls will fail. + +Before building you must get the pthreads library for Win32 from http://sourceware.cygnus.com/pthreads-win32/. The pthreads-win32 snapshot from 1999-04-07 is the one that should be used. Edit the -location of the pthreads library and include files in -makefile.msc. +location of the pthreads library and include files in makefile.msc. If using the Microsoft toolchain, build with `nmake -f -makefile.msc`. Install with `nmake -f makefile.msc install`. -If using egcs, build using `make -f makefile.cygwin`. +makefile.msc`. Install with `nmake -f makefile.msc install`. If using +egcs, build using `make -f makefile.cygwin`. To test the GLib functions, go to the tests subdirectory and enter `nmake -f makefile.msc check`. If you would want to use the cygwin tools to generate executables that -*do* usethe cygwin runtime the normal Unix configuration method should -work as if on Unix (knock on wood). +*do* use the cygwin runtime, the normal Unix configuration method +should work as if on Unix (knock on wood). With a little work, it might be possible to use the ./configure mechanism also with a "mingw32" configuration. diff --git a/build-dll b/build-dll index a02d644..ff41e11 100644 --- a/build-dll +++ b/build-dll @@ -1,8 +1,10 @@ #!/bin/sh -# Temporary hack until building dlls with gcc -mno-cygwin is easier +# Temporary hack until building dlls or executables with exported +# entry points is easier with gcc -mno-cygwin. -LD=ld +#LD=ld +GCC=gcc DLLTOOL=dlltool AS=as @@ -24,10 +26,11 @@ for F in $ldargs; do esac done -$LD -s --base-file $library.base --dll -o $dllfile $ldargs -e _DllMain@12 -lmingw32 -$DLLTOOL --as=$AS --dllname $dllfile $defswitch --base-file $library.base --output-exp $library.exp $objs -$LD -s --base-file $library.base $library.exp --dll -o $dllfile $ldargs -e _DllMain@12 -lmingw32 -$DLLTOOL --as=$AS --dllname $dllfile $defswitch --base-file $library.base --output-exp $library.exp $objs -$LD $library.exp --dll -o $dllfile $ldargs -e _DllMain@12 -lmingw32 +$GCC -s -mdll -mno-cygwin -Wl,--base-file,$library.base -o $dllfile $ldargs +$DLLTOOL --as=$AS --dllname $dllfile $defswitch --base-file $library.base --output-exp $library.exp $objs && +$GCC -s -mdll -mno-cygwin -Wl,--base-file,$library.base,$library.exp -o $dllfile $ldargs +$DLLTOOL --as=$AS --dllname $dllfile $defswitch --base-file $library.base --output-exp $library.exp $objs && +$GCC -mdll -mno-cygwin -Wl,$library.exp -o $dllfile $ldargs $DLLTOOL --as=$AS --dllname $dllfile $defswitch --output-lib lib$libname.a $objs -rm $library.base $library.exp + +rm $library.base $library.exp 2>/dev/null diff --git a/glib.h b/glib.h index ae80845..df3dd5c 100644 --- a/glib.h +++ b/glib.h @@ -2773,6 +2773,7 @@ typedef int pid_t; #ifdef __GNUC__ # define stat _stat #endif +# define unlink _unlink # define open _open # define read _read # define write _write diff --git a/glib/glib.h b/glib/glib.h index ae80845..df3dd5c 100644 --- a/glib/glib.h +++ b/glib/glib.h @@ -2773,6 +2773,7 @@ typedef int pid_t; #ifdef __GNUC__ # define stat _stat #endif +# define unlink _unlink # define open _open # define read _read # define write _write diff --git a/glib/gscanner.c b/glib/gscanner.c index 2852860..832ca31 100644 --- a/glib/gscanner.c +++ b/glib/gscanner.c @@ -48,7 +48,7 @@ #include #include /* needed for sys/stat.h */ #include -#ifdef _MSC_VER +#ifdef NATIVE_WIN32 #include /* For _read() */ #endif diff --git a/glib/gstring.c b/glib/gstring.c index f714b3a..a6c7e5b 100644 --- a/glib/gstring.c +++ b/glib/gstring.c @@ -43,6 +43,10 @@ #include #include "glib.h" +#ifdef NATIVE_WIN32 +#include /* For _read */ +#endif + #define G_STRING_BLOCK_SIZE 512 typedef struct _GRealStringChunk GRealStringChunk; diff --git a/glib/gutils.c b/glib/gutils.c index c9362cc..4d90a66 100644 --- a/glib/gutils.c +++ b/glib/gutils.c @@ -662,69 +662,6 @@ g_int_hash (gconstpointer v) return *(const gint*) v; } -#if 0 /* Old IO Channels */ - -GIOChannel* -g_iochannel_new (gint fd) -{ - GIOChannel *channel = g_new (GIOChannel, 1); - - channel->fd = fd; - -#ifdef NATIVE_WIN32 - channel->peer = 0; - channel->peer_fd = 0; - channel->offset = 0; - channel->need_wakeups = 0; -#endif /* NATIVE_WIN32 */ - - return channel; -} - -void -g_iochannel_free (GIOChannel *channel) -{ - g_return_if_fail (channel != NULL); - - g_free (channel); -} - -void -g_iochannel_close_and_free (GIOChannel *channel) -{ - g_return_if_fail (channel != NULL); - - close (channel->fd); - - g_iochannel_free (channel); -} - -#undef g_iochannel_wakeup_peer - -void -g_iochannel_wakeup_peer (GIOChannel *channel) -{ -#ifdef NATIVE_WIN32 - static guint message = 0; -#endif - - g_return_if_fail (channel != NULL); - -#ifdef NATIVE_WIN32 - if (message == 0) - message = RegisterWindowMessage ("gdk-pipe-readable"); - -# if 0 - g_print ("g_iochannel_wakeup_peer: calling PostThreadMessage (%#x, %d, %d, %d)\n", - channel->peer, message, channel->peer_fd, channel->offset); -# endif - PostThreadMessage (channel->peer, message, - channel->peer_fd, channel->offset); -#endif /* NATIVE_WIN32 */ -} - -#endif /* Old IO Channels */ - #ifdef NATIVE_WIN32 int diff --git a/gscanner.c b/gscanner.c index 2852860..832ca31 100644 --- a/gscanner.c +++ b/gscanner.c @@ -48,7 +48,7 @@ #include #include /* needed for sys/stat.h */ #include -#ifdef _MSC_VER +#ifdef NATIVE_WIN32 #include /* For _read() */ #endif diff --git a/gstring.c b/gstring.c index f714b3a..a6c7e5b 100644 --- a/gstring.c +++ b/gstring.c @@ -43,6 +43,10 @@ #include #include "glib.h" +#ifdef NATIVE_WIN32 +#include /* For _read */ +#endif + #define G_STRING_BLOCK_SIZE 512 typedef struct _GRealStringChunk GRealStringChunk; diff --git a/gutils.c b/gutils.c index c9362cc..4d90a66 100644 --- a/gutils.c +++ b/gutils.c @@ -662,69 +662,6 @@ g_int_hash (gconstpointer v) return *(const gint*) v; } -#if 0 /* Old IO Channels */ - -GIOChannel* -g_iochannel_new (gint fd) -{ - GIOChannel *channel = g_new (GIOChannel, 1); - - channel->fd = fd; - -#ifdef NATIVE_WIN32 - channel->peer = 0; - channel->peer_fd = 0; - channel->offset = 0; - channel->need_wakeups = 0; -#endif /* NATIVE_WIN32 */ - - return channel; -} - -void -g_iochannel_free (GIOChannel *channel) -{ - g_return_if_fail (channel != NULL); - - g_free (channel); -} - -void -g_iochannel_close_and_free (GIOChannel *channel) -{ - g_return_if_fail (channel != NULL); - - close (channel->fd); - - g_iochannel_free (channel); -} - -#undef g_iochannel_wakeup_peer - -void -g_iochannel_wakeup_peer (GIOChannel *channel) -{ -#ifdef NATIVE_WIN32 - static guint message = 0; -#endif - - g_return_if_fail (channel != NULL); - -#ifdef NATIVE_WIN32 - if (message == 0) - message = RegisterWindowMessage ("gdk-pipe-readable"); - -# if 0 - g_print ("g_iochannel_wakeup_peer: calling PostThreadMessage (%#x, %d, %d, %d)\n", - channel->peer, message, channel->peer_fd, channel->offset); -# endif - PostThreadMessage (channel->peer, message, - channel->peer_fd, channel->offset); -#endif /* NATIVE_WIN32 */ -} - -#endif /* Old IO Channels */ - #ifdef NATIVE_WIN32 int diff --git a/makefile.cygwin b/makefile.cygwin index ec312b1..4820eaa 100644 --- a/makefile.cygwin +++ b/makefile.cygwin @@ -12,6 +12,8 @@ PTHREADS = ../pthreads-snap-1999-04-07 PTHREAD_LIB = -L$(PTHREADS) -lpthread PTHREAD_INC = -I $(PTHREADS) +OPTIMIZE = -g -O + ################################################################ # Nothing much configurable below @@ -25,7 +27,7 @@ INSTALL = install GLIB_VER = 1.3 -CFLAGS = -g -O2 -I. -DHAVE_CONFIG_H +CFLAGS = $(OPTIMIZE) -I. -DHAVE_CONFIG_H all : \ glibconfig.h \ @@ -76,7 +78,7 @@ glib_OBJECTS = \ gutils.o glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def - ./build-dll glib $(GLIB_VER) glib.def $(glib_OBJECTS) -lmsvcrt -lkernel32 -luser32 -ladvapi32 -lwsock32 + ./build-dll glib $(GLIB_VER) glib.def $(glib_OBJECTS) -luser32 -lwsock32 glibconfig.h: glibconfig.h.win32 $(CP) glibconfig.h.win32 glibconfig.h @@ -91,7 +93,7 @@ gmodule_OBJECTS = \ gmodule.o gmodule-$(GLIB_VER).dll : $(gmodule_OBJECTS) gmodule/gmodule.def - ./build-dll gmodule $(GLIB_VER) gmodule/gmodule.def $(gmodule_OBJECTS) -L. -lglib-$(GLIB_VER) -lmsvcrt -lkernel32 -luser32 -ladvapi32 -lwsock32 + ./build-dll gmodule $(GLIB_VER) gmodule/gmodule.def $(gmodule_OBJECTS) -L. -lglib-$(GLIB_VER) -lwsock32 gmodule.o : gmodule/gmodule.c gmodule/gmodule-win32.c $(CC) $(CFLAGS) -Igmodule -c -DG_LOG_DOMAIN=g_log_domain_gmodule gmodule/gmodule.c @@ -103,25 +105,25 @@ gthread_OBJECTS = \ gthread.o gthread-$(GLIB_VER).dll : $(gthread_OBJECTS) glib-$(GLIB_VER).dll gthread/gthread.def - ./build-dll gthread $(GLIB_VER) gthread/gthread.def $(gthread_OBJECTS) -L. -lglib-$(GLIB_VER) $(PTHREAD_LIB) -lmsvcrt -lkernel32 -luser32 -ladvapi32 -lwsock32 + ./build-dll gthread $(GLIB_VER) gthread/gthread.def $(gthread_OBJECTS) -L. -lglib-$(GLIB_VER) $(PTHREAD_LIB) -lwsock32 gthread.o : gthread/gthread.c gthread/gthread-posix.c $(CC) $(CFLAGS) $(PTHREAD_INC) -DG_LOG_DOMAIN=\"GThread\" -c gthread/gthread.c testglib.exe : glib-$(GLIB_VER).dll testglib.o - $(CC) $(CFLAGS) -o testglib testglib.o -L. -lglib-$(GLIB_VER) -lmsvcrt $(LDFLAGS) + $(CC) $(CFLAGS) -o testglib testglib.o -L. -lglib-$(GLIB_VER) $(LDFLAGS) testglib.o : testglib.c $(CC) -c $(CFLAGS) testglib.c testgdate.exe : glib-$(GLIB_VER).dll testgdate.o - $(CC) $(CFLAGS) -o testgdate.exe testgdate.o -L. -lglib-$(GLIB_VER) -lmsvcrt $(LDFLAGS) + $(CC) $(CFLAGS) -o testgdate.exe testgdate.o -L. -lglib-$(GLIB_VER) $(LDFLAGS) testgdate.o : testgdate.c $(CC) -c $(CFLAGS) testgdate.c testgdateparser.exe : glib-$(GLIB_VER).dll testgdateparser.o - $(CC) $(CFLAGS) -o testgdateparser.exe testgdateparser.o -L. -lglib-$(GLIB_VER) -lmsvcrt $(LDFLAGS) + $(CC) $(CFLAGS) -o testgdateparser.exe testgdateparser.o -L. -lglib-$(GLIB_VER) $(LDFLAGS) testgdateparser.o : testgdateparser.c $(CC) -c $(CFLAGS) testgdateparser.c @@ -130,23 +132,23 @@ testgmodule.exe : glib-$(GLIB_VER).dll gmodule-$(GLIB_VER).dll testgmodule.o lib # Wow, do we really have to do it like this to get some symbols # exported from a .exe? Apparently yes. Does the __declspec(dllexport) # actually do anything in egcs-1.1.2? - $(CC) $(CFLAGS) -Wl,--base-file,testgmodule.base -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) -lmsvcrt $(LDFLAGS) + $(CC) $(CFLAGS) -Wl,--base-file,testgmodule.base -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) $(LDFLAGS) $(DLLTOOL) --base-file testgmodule.base --output-exp testgmodule.exp testgmodule.o - $(CC) $(CFLAGS) -Wl,--base-file,testgmodule.base,testgmodule.exp -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) -lmsvcrt $(LDFLAGS) + $(CC) $(CFLAGS) -Wl,--base-file,testgmodule.base,testgmodule.exp -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) $(LDFLAGS) $(DLLTOOL) --base-file testgmodule.base --output-exp testgmodule.exp testgmodule.o - $(CC) $(CFLAGS) -Wl,testgmodule.exp -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) -lmsvcrt $(LDFLAGS) + $(CC) $(CFLAGS) -Wl,testgmodule.exp -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) $(LDFLAGS) testgmodule.o : gmodule/testgmodule.c $(CC) $(CFLAGS) -Igmodule -c gmodule/testgmodule.c libgplugin_a.dll : libgplugin_a.o - ./build-dll libgplugin_a - - libgplugin_a.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) -lmsvcrt + ./build-dll libgplugin_a - - libgplugin_a.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) libgplugin_a.o : gmodule/libgplugin_a.c $(CC) $(CFLAGS) -Igmodule -c gmodule/libgplugin_a.c libgplugin_b.dll : libgplugin_b.o - ./build-dll libgplugin_b - - libgplugin_b.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) -lmsvcrt + ./build-dll libgplugin_b - - libgplugin_b.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) libgplugin_b.o : gmodule/libgplugin_b.c $(CC) $(CFLAGS) -Igmodule -c gmodule/libgplugin_b.c @@ -158,12 +160,5 @@ testgthread.o : gthread/testgthread.c $(CC) $(CFLAGS) $(PTHREAD_INC) -c gthread/testgthread.c clean: - -rm config.h - -rm glibconfig.h - -rm gmodule/gmoduleconf.h - -rm *.exe - -rm *.o - -rm *.dll - -rm *.a - -rm *.base - -rm *.exp + -rm config.h glibconfig.h gmodule/gmoduleconf.h + -rm *.exe *.o *.dll *.a *.base *.exp