7db5737ab4cd89ac705862219f3a0928a3a2cf15
[platform/upstream/glib.git] / glib / makefile.msc.in
1 ## Makefile for building the GLib 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 TOP = ..
9
10 !INCLUDE $(TOP)\build\win32\make.msc
11
12 # Possibly override GLib version in build\win32\module.defs
13 GLIB_VER = @GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@
14
15 ################################################################
16
17 # Nothing much configurable below
18
19 INCLUDES = -I .
20 DEFINES = -DHAVE_CONFIG_H -DGLIB_COMPILATION -DG_LOG_DOMAIN=g_log_domain_glib
21 DEPCFLAGS = $(LIBICONV_CFLAGS)
22
23 DLLS_TO_BUILD = \
24         glib-$(GLIB_VER).dll \
25         sub-gmodule \
26         sub-gthread \
27         sub-gobject
28
29 all : \
30         config.h        \
31         glibconfig.h    \
32         $(DLLS_TO_BUILD) \
33         gspawn-win32-helper.exe \
34         testglib.exe    \
35         testgdate.exe   \
36         testgdateparser.exe
37
38 install : all
39         copy glib-$(GLIB_VER).dll $(BIN)
40
41 glib_OBJECTS = \
42         garray.obj      \
43         gasyncqueue.obj \
44         gbacktrace.obj  \
45         gcache.obj      \
46         gcompletion.obj \
47         gdataset.obj    \
48         gdate.obj       \
49         gerror.obj      \
50         gfileutils.obj  \
51         gconvert.obj    \
52         ghash.obj       \
53         ghook.obj       \
54         giochannel.obj  \
55         giowin32.obj    \
56         glist.obj       \
57         gmain.obj       \
58         gmem.obj        \
59         gmessages.obj   \
60         gnode.obj       \
61         gprimes.obj     \
62         gqueue.obj      \
63         grand.obj       \
64         grel.obj        \
65         gscanner.obj    \
66         gshell.obj      \
67         gslist.obj      \
68         gstrfuncs.obj   \
69         gstring.obj     \
70         gspawn-win32.obj \
71         gthread.obj     \
72         gthreadpool.obj \
73         gtimer.obj      \
74         gtree.obj       \
75         gunidecomp.obj  \
76         guniprop.obj    \
77         gutf8.obj       \
78         gutils.obj      \
79         gwin32.obj
80
81 glibconfig.h: glibconfig.h.win32
82         copy glibconfig.h.win32 glibconfig.h
83
84 config.h: config.h.win32
85         copy config.h.win32 config.h
86
87 makefile.msc: makefile.msc.in
88         $(SED) -e s,@GLIB[_]MAJOR_VERSION@,@GLIB_MAJOR_VERSION@, \
89                -e s,@GLIB[_]MINOR_VERSION@,@GLIB_MINOR_VERSION@, <makefile.msc.in >$@
90
91 ################ glib
92
93 glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def
94         $(CC) $(CFLAGS) -LD -Feglib-$(GLIB_VER).dll $(glib_OBJECTS) $(LIBICONV_LIBS) user32.lib advapi32.lib wsock32.lib $(LDFLAGS) /def:glib.def
95
96 gspawn-win32-helper.exe : gspawn-win32.c glib-$(GLIB_VER).dll
97         $(CC) $(CFLAGS) -Fe$@ -DGSPAWN_HELPER -DG_LOG_DOMAIN=\"gspawn-win32-helper\" gspawn-win32.c glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:windows user32.lib
98
99 ################ subdirectories
100
101 sub-gmodule :
102         cd gmodule
103         -$(MAKE) -f makefile.msc all
104         cd ..
105
106 sub-gthread :
107         cd gthread
108         -$(MAKE) -f makefile.msc all
109         cd ..
110
111 sub-gobject :
112         cd gobject
113         -$(MAKE) -f makefile.msc all
114         cd ..
115
116 ################ test progs
117
118 testglib.obj : testglib.c
119         $(CC) -c $(CFLAGS) -DG_LOG_DOMAIN=\"testglib\" testglib.c
120
121 testglib.exe : glib-$(GLIB_VER).dll testglib.obj
122         $(CC) $(CFLAGS) -Fetestglib.exe testglib.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
123
124 testgdate.obj : testgdate.c
125         $(CC) -c $(CFLAGS) -DG_LOG_DOMAIN=\"testgdate\" testgdate.c
126
127 testgdate.exe : glib-$(GLIB_VER).dll testgdate.obj
128         $(CC) $(CFLAGS) -Fetestgdate.exe testgdate.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
129
130 testgdateparser.obj : testgdateparser.c
131         $(CC) -c $(CFLAGS) -DG_LOG_DOMAIN=\"testgdateparser\" testgdateparser.c
132
133 testgdateparser.exe : glib-$(GLIB_VER).dll testgdateparser.obj
134         $(CC) $(CFLAGS) -Fetestgdateparser.exe testgdateparser.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
135
136 ################ other stuff
137
138 clean::
139         del config.h
140         del glibconfig.h
141         cd gmodule
142         $(MAKE) -f makefile.msc clean
143         cd ..
144         cd gthread
145         $(MAKE) -f makefile.msc clean
146         cd ..
147         cd gobject
148         $(MAKE) -f makefile.msc clean
149         cd ..