applied glib-tml-981120-0, change log appended below.
[platform/upstream/glib.git] / makefile.msc
1 ## Makefile for building the GLib and gmodule dll 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 ################################################################
9
10 # Nothing much configurable below
11
12 # cl -? described the options
13 CC = cl -G5 -GF -Ox -W3 -D_DLL -nologo
14
15 LDFLAGS = /link /nodefaultlib:libc msvcrt.lib # /debug:full /debugtype:cv 
16 INSTALL = copy
17 TOUCH = copy makefile.msc+nul
18
19 GLIB_VER = 1.1
20
21 CFLAGS = -I. 
22
23 all : \
24         glibconfig.h    \
25         config.h        \
26         glib-$(GLIB_VER).dll    \
27         gmodule\gmoduleconf.h \
28         gmodule-$(GLIB_VER).dll \
29         testglib.exe    \
30         testgmodule.exe
31
32 install : all
33         $(INSTALL) glib-$(GLIB_VER).dll $(BIN)
34         $(INSTALL) gmodule-$(GLIB_VER).dll $(BIN)
35
36 glib_OBJECTS = \
37         garray.obj      \
38         gcache.obj      \
39         gcompletion.obj \
40         gdataset.obj    \
41         gerror.obj      \
42         ghook.obj       \
43         ghash.obj       \
44         glist.obj       \
45         gmem.obj        \
46         gmessages.obj   \
47         gnode.obj       \
48         gprimes.obj     \
49         gslist.obj      \
50         gtimer.obj      \
51         gtree.obj       \
52         grel.obj        \
53         gstring.obj     \
54         gstrfuncs.obj   \
55         gscanner.obj    \
56         gutils.obj
57
58 glib-$(GLIB_VER).dll : $(glib_OBJECTS)
59         $(CC) $(CFLAGS) -MD -LD -Feglib-$(GLIB_VER).dll $(glib_OBJECTS) user32.lib advapi32.lib $(LDFLAGS) /def:glib.def
60
61 glibconfig.h: glibconfig.h.win32
62         copy glibconfig.h.win32 glibconfig.h
63
64 config.h: config.h.win32
65         copy config.h.win32 config.h
66
67 .c.obj :
68         $(CC) $(CFLAGS) -GD -c -DHAVE_CONFIG_H -DGLIB_COMPILATION -DG_LOG_DOMAIN=g_log_domain_glib $<
69
70 gmodule_OBJECTS = \
71         gmodule.obj
72
73 gmodule-$(GLIB_VER).dll : $(gmodule_OBJECTS)
74         $(CC) $(CFLAGS) -MD -LD -Fegmodule-$(GLIB_VER).dll $(gmodule_OBJECTS) glib-$(GLIB_VER).lib $(LDFLAGS) /def:gmodule\gmodule.def
75
76 gmodule.obj : gmodule\gmodule.c gmodule\gmodule-win32.c
77         $(CC) $(CFLAGS) -Igmodule -c -DG_LIB_DOMAIN=g_log_domain_gmodule gmodule\gmodule.c
78
79 gmodule\gmoduleconf.h: gmodule\gmoduleconf.h.win32
80         copy gmodule\gmoduleconf.h.win32 gmodule\gmoduleconf.h
81
82 testglib.exe : glib-$(GLIB_VER).dll testglib.obj
83         $(CC) $(CFLAGS) -MD -Fetestglib.exe testglib.obj glib-$(GLIB_VER).lib $(LDFLAGS) /map
84
85 testglib.obj : testglib.c
86         $(CC) -c $(CFLAGS) testglib.c
87
88 testgmodule.exe : glib-$(GLIB_VER).dll gmodule-$(GLIB_VER).dll testgmodule.obj libgplugin_a.dll libgplugin_b.dll
89         $(CC) $(CFLAGS) -MD testgmodule.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib $(LDFLAGS)
90
91 testgmodule.obj : gmodule\testgmodule.c
92         $(CC) $(CFLAGS) -Igmodule -c gmodule\testgmodule.c
93
94 libgplugin_a.dll : libgplugin_a.obj
95         $(CC) $(CFLAGS) -MD -LD libgplugin_a.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib $(LDFLAGS)
96
97 libgplugin_a.obj : gmodule\libgplugin_a.c
98         $(CC) $(CFLAGS) -Igmodule -c gmodule\libgplugin_a.c
99
100 libgplugin_b.dll : libgplugin_b.obj
101         $(CC) $(CFLAGS) -MD -LD libgplugin_b.obj glib-$(GLIB_VER).lib gmodule-$(GLIB_VER).lib  $(LDFLAGS)
102
103 libgplugin_b.obj : gmodule\libgplugin_b.c
104         $(CC) $(CFLAGS) -Igmodule -c gmodule\libgplugin_b.c
105
106 clean:
107         del config.h
108         del glibconfig.h
109         del gmodule\gmoduleconf.h
110         del *.exe
111         del *.obj
112         del *.dll
113         del *.lib
114         del *.err
115         del *.map
116         del *.sym
117         del *.exp
118         del *.lk1
119         del *.mk1
120         del *.pdb
121         del *.ilk