1 ## Makefile for building the GLib, gmodule and gthread dlls with Microsoft C
2 ## Use: nmake -f makefile.msc install
4 # Change this to wherever you want to install the DLLs. This directory
5 # should be in your PATH.
8 # This is the location of pthreads for Win32,
9 # see http://sourceware.cygnus.com/pthreads-win32/
10 PTHREAD_LIB = ..\lib\pthread.lib
11 PTHREAD_INC = ..\include
13 ################################################################
15 # Nothing much configurable below
17 # cl -? described the options
18 CC = cl -G5 -GF -Ox -W3 -MD -nologo
20 # No general LDFLAGS needes
26 CFLAGS = -I. -DHAVE_CONFIG_H
31 glib-$(GLIB_VER).dll \
32 gmodule\gmoduleconf.h \
33 gmodule-$(GLIB_VER).dll \
34 gthread-$(GLIB_VER).dll \
42 $(INSTALL) glib-$(GLIB_VER).dll $(BIN)
43 $(INSTALL) gmodule-$(GLIB_VER).dll $(BIN)
44 $(INSTALL) gthread-$(GLIB_VER).dll $(BIN)
76 glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def
77 $(CC) $(CFLAGS) -LD -Feglib-$(GLIB_VER).dll $(glib_OBJECTS) user32.lib advapi32.lib wsock32.lib $(LDFLAGS) /def:glib.def
79 glibconfig.h: glibconfig.h.win32
80 copy glibconfig.h.win32 glibconfig.h
82 config.h: config.h.win32
83 copy config.h.win32 config.h
86 $(CC) $(CFLAGS) -GD -c -DGLIB_COMPILATION -DG_LOG_DOMAIN=g_log_domain_glib $<
91 gmodule-$(GLIB_VER).dll : $(gmodule_OBJECTS)
92 $(CC) $(CFLAGS) -LD -Fegmodule-$(GLIB_VER).dll $(gmodule_OBJECTS) glib-$(GLIB_VER).lib $(LDFLAGS) /def:gmodule\gmodule.def
94 gmodule.obj : gmodule\gmodule.c gmodule\gmodule-win32.c
95 $(CC) $(CFLAGS) -GD -Igmodule -c -DG_LOG_DOMAIN=g_log_domain_gmodule gmodule\gmodule.c
97 gmodule\gmoduleconf.h: gmodule\gmoduleconf.h.win32
98 copy gmodule\gmoduleconf.h.win32 gmodule\gmoduleconf.h
103 gthread-$(GLIB_VER).dll : $(gthread_OBJECTS)
104 $(CC) $(CFLAGS) -LD -Fegthread-$(GLIB_VER).dll $(gthread_OBJECTS) glib-$(GLIB_VER).lib $(PTHREAD_LIB) glib-$(GLIB_VER).lib $(LDFLAGS) /def:gthread\gthread.def
106 gthread.obj : gthread\gthread.c gthread\gthread-posix.c
107 $(CC) $(CFLAGS) -GD -I$(PTHREAD_INC) -DG_LOG_DOMAIN=\"GThread\" -c gthread\gthread.c
109 testglib.exe : glib-$(GLIB_VER).dll testglib.obj
110 $(CC) $(CFLAGS) -Fetestglib.exe testglib.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
112 testglib.obj : testglib.c
113 $(CC) -c $(CFLAGS) testglib.c
115 testgdate.exe : glib-$(GLIB_VER).dll testgdate.obj
116 $(CC) $(CFLAGS) -Fetestgdate.exe testgdate.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
118 testgdate.obj : testgdate.c
119 $(CC) -c $(CFLAGS) testgdate.c
121 testgdateparser.exe : glib-$(GLIB_VER).dll testgdateparser.obj
122 $(CC) $(CFLAGS) -Fetestgdateparser.exe testgdateparser.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
124 testgdateparser.obj : testgdateparser.c
125 $(CC) -c $(CFLAGS) testgdateparser.c
127 testgmodule.exe : glib-$(GLIB_VER).dll gmodule-$(GLIB_VER).dll testgmodule.obj libgplugin_a.dll libgplugin_b.dll
128 $(CC) $(CFLAGS) testgmodule.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
130 testgmodule.obj : gmodule\testgmodule.c
131 $(CC) $(CFLAGS) -Igmodule -c gmodule\testgmodule.c
133 libgplugin_a.dll : libgplugin_a.obj
134 $(CC) $(CFLAGS) -LD libgplugin_a.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib $(LDFLAGS)
136 libgplugin_a.obj : gmodule\libgplugin_a.c
137 $(CC) $(CFLAGS) -Igmodule -c gmodule\libgplugin_a.c
139 libgplugin_b.dll : libgplugin_b.obj
140 $(CC) $(CFLAGS) -LD libgplugin_b.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib $(LDFLAGS)
142 libgplugin_b.obj : gmodule\libgplugin_b.c
143 $(CC) $(CFLAGS) -Igmodule -c gmodule\libgplugin_b.c
145 testgthread.exe : glib-$(GLIB_VER).dll gthread-$(GLIB_VER).dll testgthread.obj
146 $(CC) $(CFLAGS) testgthread.obj glib-$(GLIB_VER).lib gthread-$(GLIB_VER).lib $(PTHREAD_LIB) $(LDFLAGS) /subsystem:console
148 testgthread.obj : gthread\testgthread.c
149 $(CC) $(CFLAGS) -I$(PTHREAD_INC) -c gthread\testgthread.c
154 del gmodule\gmoduleconf.h