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