| ## Makefile for building the GLib, gmodule and gthread dlls with Microsoft C |
| ## Use: nmake -f makefile.msc install |
| |
| # Change this to wherever you want to install the DLLs. This directory |
| # should be in your PATH. |
| BIN = C:\bin |
| |
| # This is the location of pthreads for Win32, |
| # see http://sourceware.cygnus.com/pthreads-win32/ |
| # We want the 1999-05-30 snapshot. |
| PTHREADS = ..\pthreads-snap-1999-05-30 |
| PTHREAD_LIB = $(PTHREADS)\pthread.lib |
| PTHREAD_INC = -I $(PTHREADS) |
| |
| ################################################################ |
| |
| # Nothing much configurable below |
| |
| !IFNDEF DEBUG |
| # Full optimization: |
| OPTIMIZE = -Ox -MD |
| LINKDEBUG = |
| !ELSE |
| # Debugging: |
| OPTIMIZE = -Zi -MDd |
| LINKDEBUG = /debug |
| !ENDIF |
| |
| # cl -? describes the options |
| CC = cl -G5 -GF $(OPTIMIZE) -W3 -nologo |
| |
| # No general LDFLAGS needed |
| LDFLAGS = /link $(LINKDEBUG) |
| INSTALL = copy |
| |
| GLIB_VER = @GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@ |
| |
| CFLAGS = -I. -DHAVE_CONFIG_H |
| |
| all : \ |
| glibconfig.h \ |
| config.h \ |
| glib-$(GLIB_VER).dll \ |
| gmodule\gmoduleconf.h \ |
| gmodule-$(GLIB_VER).dll \ |
| gthread-$(GLIB_VER).dll \ |
| testglib.exe \ |
| testgmodule.exe \ |
| testgdate.exe \ |
| testgdateparser.exe |
| |
| install : all |
| $(INSTALL) glib-$(GLIB_VER).dll $(BIN) |
| $(INSTALL) gmodule-$(GLIB_VER).dll $(BIN) |
| $(INSTALL) gthread-$(GLIB_VER).dll $(BIN) |
| |
| glib_OBJECTS = \ |
| garray.obj \ |
| gasyncqueue.obj \ |
| gcache.obj \ |
| gcompletion.obj \ |
| gdataset.obj \ |
| gdate.obj \ |
| gerror.obj \ |
| ghash.obj \ |
| ghook.obj \ |
| giochannel.obj \ |
| giowin32.obj \ |
| glist.obj \ |
| gmain.obj \ |
| gmem.obj \ |
| gmessages.obj \ |
| gnode.obj \ |
| gprimes.obj \ |
| gqueue.obj \ |
| grand.obj \ |
| grel.obj \ |
| gscanner.obj \ |
| gslist.obj \ |
| gstrfuncs.obj \ |
| gstring.obj \ |
| gthread.obj \ |
| gthreadpool.obj \ |
| gtimer.obj \ |
| gtree.obj \ |
| gunidecomp.obj \ |
| guniprop.obj \ |
| gutf8.obj \ |
| gutils.obj \ |
| gwin32.obj |
| |
| glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def |
| $(CC) $(CFLAGS) -LD -Feglib-$(GLIB_VER).dll $(glib_OBJECTS) user32.lib advapi32.lib wsock32.lib $(LDFLAGS) /def:glib.def |
| |
| glibconfig.h: glibconfig.h.win32 |
| copy glibconfig.h.win32 glibconfig.h |
| |
| config.h: config.h.win32 |
| copy config.h.win32 config.h |
| |
| .c.obj : |
| $(CC) $(CFLAGS) -GD -c -DGLIB_COMPILATION -DG_LOG_DOMAIN=g_log_domain_glib $< |
| |
| .c.i : |
| $(CC) $(CFLAGS) -GD -E -DGLIB_COMPILATION -DG_LOG_DOMAIN=g_log_domain_glib $< >$@ |
| |
| gmodule_OBJECTS = \ |
| gmodule.obj |
| |
| gmodule-$(GLIB_VER).dll : $(gmodule_OBJECTS) gmodule\gmodule.def |
| $(CC) $(CFLAGS) -LD -Fegmodule-$(GLIB_VER).dll $(gmodule_OBJECTS) glib-$(GLIB_VER).lib $(LDFLAGS) /def:gmodule\gmodule.def |
| |
| gmodule.obj : gmodule\gmodule.c gmodule\gmodule-win32.c |
| $(CC) $(CFLAGS) -GD -Igmodule -c -DG_LOG_DOMAIN=g_log_domain_gmodule gmodule\gmodule.c |
| |
| gmodule\gmoduleconf.h: gmodule\gmoduleconf.h.win32 |
| copy gmodule\gmoduleconf.h.win32 gmodule\gmoduleconf.h |
| |
| gthread_OBJECTS = \ |
| gthread-impl.obj |
| |
| gthread-$(GLIB_VER).dll : $(gthread_OBJECTS) gthread\gthread.def |
| $(CC) $(CFLAGS) -LD -Fegthread-$(GLIB_VER).dll $(gthread_OBJECTS) glib-$(GLIB_VER).lib $(PTHREAD_LIB) $(LDFLAGS) /def:gthread\gthread.def |
| |
| gthread-impl.obj : gthread\gthread-impl.c gthread\gthread-posix.c |
| $(CC) $(CFLAGS) -GD $(PTHREAD_INC) -DG_LOG_DOMAIN=\"GThread\" -c gthread\gthread-impl.c |
| |
| testglib.exe : glib-$(GLIB_VER).dll testglib.obj |
| $(CC) $(CFLAGS) -Fetestglib.exe testglib.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console |
| |
| testglib.obj : testglib.c |
| $(CC) -c $(CFLAGS) testglib.c |
| |
| testgdate.exe : glib-$(GLIB_VER).dll testgdate.obj |
| $(CC) $(CFLAGS) -Fetestgdate.exe testgdate.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console |
| |
| testgdate.obj : testgdate.c |
| $(CC) -c $(CFLAGS) testgdate.c |
| |
| testgdateparser.exe : glib-$(GLIB_VER).dll testgdateparser.obj |
| $(CC) $(CFLAGS) -Fetestgdateparser.exe testgdateparser.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console |
| |
| testgdateparser.obj : testgdateparser.c |
| $(CC) -c $(CFLAGS) testgdateparser.c |
| |
| testgmodule.exe : glib-$(GLIB_VER).dll gmodule-$(GLIB_VER).dll testgmodule.obj libgplugin_a.dll libgplugin_b.dll |
| $(CC) $(CFLAGS) testgmodule.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console |
| |
| testgmodule.obj : gmodule\testgmodule.c |
| $(CC) $(CFLAGS) -Igmodule -c gmodule\testgmodule.c |
| |
| libgplugin_a.dll : libgplugin_a.obj |
| $(CC) $(CFLAGS) -LD libgplugin_a.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib $(LDFLAGS) |
| |
| libgplugin_a.obj : gmodule\libgplugin_a.c |
| $(CC) $(CFLAGS) -Igmodule -c gmodule\libgplugin_a.c |
| |
| libgplugin_b.dll : libgplugin_b.obj |
| $(CC) $(CFLAGS) -LD libgplugin_b.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib $(LDFLAGS) |
| |
| libgplugin_b.obj : gmodule\libgplugin_b.c |
| $(CC) $(CFLAGS) -Igmodule -c gmodule\libgplugin_b.c |
| |
| clean: |
| del config.h |
| del glibconfig.h |
| del gmodule\gmoduleconf.h |
| del *.exe |
| del *.obj |
| del *.dll |
| del *.lib |
| del *.err |
| del *.map |
| del *.sym |
| del *.exp |
| del *.lk1 |
| del *.mk1 |
| del *.pdb |
| del *.ilk |