.cvsignore updates
[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 ################################################################
16
17 # Nothing much configurable below
18
19 !IFNDEF DEBUG
20 # Full optimization:
21 OPTIMIZE = -Ox -MD
22 LINKDEBUG =
23 !ELSE
24 # Debugging:
25 OPTIMIZE = -Zi -MDd
26 LINKDEBUG = /debug
27 !ENDIF
28
29 # cl -? describes the options
30 CC = cl -G5 -GF $(OPTIMIZE) -W3 -nologo
31
32 # No general LDFLAGS needed
33 LDFLAGS = /link $(LINKDEBUG)
34 INSTALL = copy
35
36 GLIB_VER = @GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@
37
38 CFLAGS = -I. -DHAVE_CONFIG_H
39
40 all : \
41         glibconfig.h    \
42         config.h        \
43         glib-$(GLIB_VER).dll    \
44         gmodule\gmoduleconf.h \
45         gmodule-$(GLIB_VER).dll \
46         gthread-$(GLIB_VER).dll \
47         testglib.exe    \
48         testgmodule.exe \
49         testgdate.exe   \
50         testgdateparser.exe
51
52 install : all
53         $(INSTALL) glib-$(GLIB_VER).dll $(BIN)
54         $(INSTALL) gmodule-$(GLIB_VER).dll $(BIN)
55         $(INSTALL) gthread-$(GLIB_VER).dll $(BIN)
56
57 glib_OBJECTS = \
58         garray.obj      \
59         gasyncqueue.obj \
60         gcache.obj      \
61         gcompletion.obj \
62         gdataset.obj    \
63         gdate.obj       \
64         gerror.obj      \
65         ghash.obj       \
66         ghook.obj       \
67         giochannel.obj  \
68         giowin32.obj    \
69         glist.obj       \
70         gmain.obj       \
71         gmem.obj        \
72         gmessages.obj   \
73         gnode.obj       \
74         gprimes.obj     \
75         gqueue.obj      \
76         grand.obj       \
77         grel.obj        \
78         gscanner.obj    \
79         gslist.obj      \
80         gstrfuncs.obj   \
81         gstring.obj     \
82         gthread.obj     \
83         gthreadpool.obj \
84         gtimer.obj      \
85         gtree.obj       \
86         gunidecomp.obj  \
87         guniprop.obj    \
88         gutf8.obj       \
89         gutils.obj      \
90         gwin32.obj
91
92 glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def
93         $(CC) $(CFLAGS) -LD -Feglib-$(GLIB_VER).dll $(glib_OBJECTS) user32.lib advapi32.lib wsock32.lib $(LDFLAGS) /def:glib.def
94
95 glibconfig.h: glibconfig.h.win32
96         copy glibconfig.h.win32 glibconfig.h
97
98 config.h: config.h.win32
99         copy config.h.win32 config.h
100
101 .c.obj :
102         $(CC) $(CFLAGS) -GD -c -DGLIB_COMPILATION -DG_LOG_DOMAIN=g_log_domain_glib $<
103
104 .c.i :
105         $(CC) $(CFLAGS) -GD -E -DGLIB_COMPILATION -DG_LOG_DOMAIN=g_log_domain_glib $< >$@
106
107 gmodule_OBJECTS = \
108         gmodule.obj
109
110 gmodule-$(GLIB_VER).dll : $(gmodule_OBJECTS) gmodule\gmodule.def
111         $(CC) $(CFLAGS) -LD -Fegmodule-$(GLIB_VER).dll $(gmodule_OBJECTS) glib-$(GLIB_VER).lib $(LDFLAGS) /def:gmodule\gmodule.def
112
113 gmodule.obj : gmodule\gmodule.c gmodule\gmodule-win32.c
114         $(CC) $(CFLAGS) -GD -Igmodule -c -DG_LOG_DOMAIN=g_log_domain_gmodule gmodule\gmodule.c
115
116 gmodule\gmoduleconf.h: gmodule\gmoduleconf.h.win32
117         copy gmodule\gmoduleconf.h.win32 gmodule\gmoduleconf.h
118
119 gthread_OBJECTS = \
120         gthread-impl.obj
121
122 gthread-$(GLIB_VER).dll : $(gthread_OBJECTS) gthread\gthread.def
123         $(CC) $(CFLAGS) -LD -Fegthread-$(GLIB_VER).dll $(gthread_OBJECTS) glib-$(GLIB_VER).lib $(PTHREAD_LIB) $(LDFLAGS) /def:gthread\gthread.def
124
125 gthread-impl.obj : gthread\gthread-impl.c gthread\gthread-posix.c
126         $(CC) $(CFLAGS) -GD $(PTHREAD_INC) -DG_LOG_DOMAIN=\"GThread\" -c gthread\gthread-impl.c
127
128 testglib.exe : glib-$(GLIB_VER).dll testglib.obj
129         $(CC) $(CFLAGS) -Fetestglib.exe testglib.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
130
131 testglib.obj : testglib.c
132         $(CC) -c $(CFLAGS) testglib.c
133
134 testgdate.exe : glib-$(GLIB_VER).dll testgdate.obj
135         $(CC) $(CFLAGS) -Fetestgdate.exe testgdate.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
136
137 testgdate.obj : testgdate.c
138         $(CC) -c $(CFLAGS) testgdate.c
139
140 testgdateparser.exe : glib-$(GLIB_VER).dll testgdateparser.obj
141         $(CC) $(CFLAGS) -Fetestgdateparser.exe testgdateparser.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
142
143 testgdateparser.obj : testgdateparser.c
144         $(CC) -c $(CFLAGS) testgdateparser.c
145
146 testgmodule.exe : glib-$(GLIB_VER).dll gmodule-$(GLIB_VER).dll testgmodule.obj libgplugin_a.dll libgplugin_b.dll
147         $(CC) $(CFLAGS) testgmodule.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console 
148
149 testgmodule.obj : gmodule\testgmodule.c
150         $(CC) $(CFLAGS) -Igmodule -c gmodule\testgmodule.c
151
152 libgplugin_a.dll : libgplugin_a.obj
153         $(CC) $(CFLAGS) -LD libgplugin_a.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib $(LDFLAGS)
154
155 libgplugin_a.obj : gmodule\libgplugin_a.c
156         $(CC) $(CFLAGS) -Igmodule -c gmodule\libgplugin_a.c
157
158 libgplugin_b.dll : libgplugin_b.obj
159         $(CC) $(CFLAGS) -LD libgplugin_b.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib  $(LDFLAGS)
160
161 libgplugin_b.obj : gmodule\libgplugin_b.c
162         $(CC) $(CFLAGS) -Igmodule -c gmodule\libgplugin_b.c
163
164 clean:
165         del config.h
166         del glibconfig.h
167         del gmodule\gmoduleconf.h
168         del *.exe
169         del *.obj
170         del *.dll
171         del *.lib
172         del *.err
173         del *.map
174         del *.sym
175         del *.exp
176         del *.lk1
177         del *.mk1
178         del *.pdb
179         del *.ilk