| ## Makefile for building the GLib and gmodule dll 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 |
| |
| ################################################################ |
| |
| # Nothing much configurable below |
| |
| # cl -? described the options |
| CC = cl -G5 -GF -Ox -W3 -D_DLL -nologo |
| |
| LDFLAGS = /link /nodefaultlib:libc msvcrt.lib # /debug:full /debugtype:cv |
| INSTALL = copy |
| TOUCH = copy makefile.msc+nul |
| |
| GLIB_VER = 1.1 |
| |
| CFLAGS = -I. |
| |
| all : \ |
| glibconfig.h \ |
| config.h \ |
| glib-$(GLIB_VER).dll \ |
| gmodule\gmoduleconf.h \ |
| gmodule-$(GLIB_VER).dll \ |
| testglib.exe \ |
| testgmodule.exe |
| |
| install : all |
| $(INSTALL) glib-$(GLIB_VER).dll $(BIN) |
| $(INSTALL) gmodule-$(GLIB_VER).dll $(BIN) |
| |
| glib_OBJECTS = \ |
| garray.obj \ |
| gcache.obj \ |
| gcompletion.obj \ |
| gdataset.obj \ |
| gerror.obj \ |
| ghook.obj \ |
| ghash.obj \ |
| glist.obj \ |
| gmem.obj \ |
| gmessages.obj \ |
| gnode.obj \ |
| gprimes.obj \ |
| gslist.obj \ |
| gtimer.obj \ |
| gtree.obj \ |
| grel.obj \ |
| gstring.obj \ |
| gstrfuncs.obj \ |
| gscanner.obj \ |
| gutils.obj |
| |
| glib-$(GLIB_VER).dll : $(glib_OBJECTS) |
| $(CC) $(CFLAGS) -MD -LD -Feglib-$(GLIB_VER).dll $(glib_OBJECTS) user32.lib advapi32.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 -DHAVE_CONFIG_H -DGLIB_COMPILATION -DG_LOG_DOMAIN=g_log_domain_glib $< |
| |
| gmodule_OBJECTS = \ |
| gmodule.obj |
| |
| gmodule-$(GLIB_VER).dll : $(gmodule_OBJECTS) |
| $(CC) $(CFLAGS) -MD -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) -Igmodule -c -DG_LIB_DOMAIN=g_log_domain_gmodule gmodule\gmodule.c |
| |
| gmodule\gmoduleconf.h: gmodule\gmoduleconf.h.win32 |
| copy gmodule\gmoduleconf.h.win32 gmodule\gmoduleconf.h |
| |
| testglib.exe : glib-$(GLIB_VER).dll testglib.obj |
| $(CC) $(CFLAGS) -MD -Fetestglib.exe testglib.obj glib-$(GLIB_VER).lib $(LDFLAGS) /map |
| |
| testglib.obj : testglib.c |
| $(CC) -c $(CFLAGS) testglib.c |
| |
| testgmodule.exe : glib-$(GLIB_VER).dll gmodule-$(GLIB_VER).dll testgmodule.obj libgplugin_a.dll libgplugin_b.dll |
| $(CC) $(CFLAGS) -MD testgmodule.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib $(LDFLAGS) |
| |
| testgmodule.obj : gmodule\testgmodule.c |
| $(CC) $(CFLAGS) -Igmodule -c gmodule\testgmodule.c |
| |
| libgplugin_a.dll : libgplugin_a.obj |
| $(CC) $(CFLAGS) -MD -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) -MD -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 |