Update the pthreads snapshot version we want. Advice how to hand-expand
[platform/upstream/glib.git] / makefile.msc.in
1 ## Makefile for building the GLib, gmodule and gthread dlls with Microsoft C
2 ## Use: nmake -f makefile.msc install
3
4 # Change this to wherever you want to install the DLLs. This directory
5 # should be in your PATH.
6 BIN = C:\bin
7
8 # This is the location of pthreads for Win32, 
9 # see http://sourceware.cygnus.com/pthreads-win32/
10 # We want the 1999-05-30 snapshot.
11 PTHREADS = ..\pthreads-snap-1999-05-30
12 PTHREAD_LIB = $(PTHREADS)\pthread.lib
13 PTHREAD_INC = -I $(PTHREADS)
14
15 # Full optimization:
16 OPTIMIZE = -Ox
17 # Debugging:
18 #OPTIMIZE = -Zi
19
20 ################################################################
21
22 # Nothing much configurable below
23
24 # cl -? describes the options
25 CC = cl -G5 -GF $(OPTIMIZE) -W3 -MD -nologo
26
27 # No general LDFLAGS needed
28 LDFLAGS = /link # /debug
29 INSTALL = copy
30
31 GLIB_VER = @GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@
32
33 CFLAGS = -I. -DHAVE_CONFIG_H
34
35 all : \
36         glibconfig.h    \
37         config.h        \
38         glib-$(GLIB_VER).dll    \
39         gmodule\gmoduleconf.h \
40         gmodule-$(GLIB_VER).dll \
41         gthread-$(GLIB_VER).dll \
42         testglib.exe    \
43         testgmodule.exe \
44         testgdate.exe   \
45         testgdateparser.exe
46
47 install : all
48         $(INSTALL) glib-$(GLIB_VER).dll $(BIN)
49         $(INSTALL) gmodule-$(GLIB_VER).dll $(BIN)
50         $(INSTALL) gthread-$(GLIB_VER).dll $(BIN)
51
52 glib_OBJECTS = \
53         garray.obj      \
54         gcache.obj      \
55         gcompletion.obj \
56         gdataset.obj    \
57         gdate.obj       \
58         gerror.obj      \
59         ghook.obj       \
60         ghash.obj       \
61         giochannel.obj  \
62         giowin32.obj    \
63         glist.obj       \
64         gmain.obj       \
65         gmem.obj        \
66         gmessages.obj   \
67         gnode.obj       \
68         gprimes.obj     \
69         gqueue.obj      \
70         grand.obj       \
71         gslist.obj      \
72         gstack.obj      \
73         gthread.obj     \
74         gtimer.obj      \
75         gtree.obj       \
76         grel.obj        \
77         gstring.obj     \
78         gstrfuncs.obj   \
79         gscanner.obj    \
80         gutils.obj
81
82 glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def
83         $(CC) $(CFLAGS) -LD -Feglib-$(GLIB_VER).dll $(glib_OBJECTS) user32.lib advapi32.lib wsock32.lib $(LDFLAGS) /def:glib.def
84
85 glibconfig.h: glibconfig.h.win32
86         copy glibconfig.h.win32 glibconfig.h
87
88 config.h: config.h.win32
89         copy config.h.win32 config.h
90
91 .c.obj :
92         $(CC) $(CFLAGS) -GD -c -DGLIB_COMPILATION -DG_LOG_DOMAIN=g_log_domain_glib $<
93
94 gmodule_OBJECTS = \
95         gmodule.obj
96
97 gmodule-$(GLIB_VER).dll : $(gmodule_OBJECTS) gmodule\gmodule.def
98         $(CC) $(CFLAGS) -LD -Fegmodule-$(GLIB_VER).dll $(gmodule_OBJECTS) glib-$(GLIB_VER).lib $(LDFLAGS) /def:gmodule\gmodule.def
99
100 gmodule.obj : gmodule\gmodule.c gmodule\gmodule-win32.c
101         $(CC) $(CFLAGS) -GD -Igmodule -c -DG_LOG_DOMAIN=g_log_domain_gmodule gmodule\gmodule.c
102
103 gmodule\gmoduleconf.h: gmodule\gmoduleconf.h.win32
104         copy gmodule\gmoduleconf.h.win32 gmodule\gmoduleconf.h
105
106 gthread_OBJECTS = \
107         gthread-impl.obj
108
109 gthread-$(GLIB_VER).dll : $(gthread_OBJECTS) gthread\gthread.def
110         $(CC) $(CFLAGS) -LD -Fegthread-$(GLIB_VER).dll $(gthread_OBJECTS) glib-$(GLIB_VER).lib $(PTHREAD_LIB) $(LDFLAGS) /def:gthread\gthread.def
111
112 gthread-impl.obj : gthread\gthread-impl.c gthread\gthread-posix.c
113         $(CC) $(CFLAGS) -GD $(PTHREAD_INC) -DG_LOG_DOMAIN=\"GThread\" -c gthread\gthread-impl.c
114
115 testglib.exe : glib-$(GLIB_VER).dll testglib.obj
116         $(CC) $(CFLAGS) -Fetestglib.exe testglib.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
117
118 testglib.obj : testglib.c
119         $(CC) -c $(CFLAGS) testglib.c
120
121 testgdate.exe : glib-$(GLIB_VER).dll testgdate.obj
122         $(CC) $(CFLAGS) -Fetestgdate.exe testgdate.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
123
124 testgdate.obj : testgdate.c
125         $(CC) -c $(CFLAGS) testgdate.c
126
127 testgdateparser.exe : glib-$(GLIB_VER).dll testgdateparser.obj
128         $(CC) $(CFLAGS) -Fetestgdateparser.exe testgdateparser.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
129
130 testgdateparser.obj : testgdateparser.c
131         $(CC) -c $(CFLAGS) testgdateparser.c
132
133 testgmodule.exe : glib-$(GLIB_VER).dll gmodule-$(GLIB_VER).dll testgmodule.obj libgplugin_a.dll libgplugin_b.dll
134         $(CC) $(CFLAGS) testgmodule.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console 
135
136 testgmodule.obj : gmodule\testgmodule.c
137         $(CC) $(CFLAGS) -Igmodule -c gmodule\testgmodule.c
138
139 libgplugin_a.dll : libgplugin_a.obj
140         $(CC) $(CFLAGS) -LD libgplugin_a.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib $(LDFLAGS)
141
142 libgplugin_a.obj : gmodule\libgplugin_a.c
143         $(CC) $(CFLAGS) -Igmodule -c gmodule\libgplugin_a.c
144
145 libgplugin_b.dll : libgplugin_b.obj
146         $(CC) $(CFLAGS) -LD libgplugin_b.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib  $(LDFLAGS)
147
148 libgplugin_b.obj : gmodule\libgplugin_b.c
149         $(CC) $(CFLAGS) -Igmodule -c gmodule\libgplugin_b.c
150
151 clean:
152         del config.h
153         del glibconfig.h
154         del gmodule\gmoduleconf.h
155         del *.exe
156         del *.obj
157         del *.dll
158         del *.lib
159         del *.err
160         del *.map
161         del *.sym
162         del *.exp
163         del *.lk1
164         del *.mk1
165         del *.pdb
166         del *.ilk