make static
[platform/upstream/glib.git] / 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 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         gconvert.obj            \
48         gdataset.obj            \
49         gdate.obj               \
50         gerror.obj              \
51         gfileutils.obj          \
52         ghash.obj               \
53         ghook.obj               \
54         giochannel.obj          \
55         giowin32.obj            \
56         glist.obj               \
57         gmain.obj               \
58         gmarkup.obj             \
59         gmem.obj                \
60         gmessages.obj           \
61         gnode.obj               \
62         gprimes.obj             \
63         gqsort.obj              \
64         gqueue.obj              \
65         grand.obj               \
66         grel.obj                \
67         gscanner.obj            \
68         gshell.obj              \
69         gslist.obj              \
70         gspawn-win32.obj        \
71         gstrfuncs.obj           \
72         gstring.obj             \
73         gthread.obj             \
74         gthreadpool.obj         \
75         gtimer.obj              \
76         gtree.obj               \
77         gunibreak.obj           \
78         gunidecomp.obj          \
79         guniprop.obj            \
80         gutf8.obj               \
81         gutils.obj              \
82         gwin32.obj
83
84 glibconfig.h: glibconfig.h.win32
85         copy glibconfig.h.win32 glibconfig.h
86
87 config.h: config.h.win32
88         copy config.h.win32 config.h
89
90 makefile.msc: makefile.msc.in
91         $(SED) -e s,@GLIB[_]MAJOR_VERSION@,@GLIB_MAJOR_VERSION@, \
92                -e s,@GLIB[_]MINOR_VERSION@,@GLIB_MINOR_VERSION@, <makefile.msc.in >$@
93
94 ################ glib
95
96 glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def
97         $(CC) $(CFLAGS) -LD -Feglib-$(GLIB_VER).dll $(glib_OBJECTS) $(LIBICONV_LIBS) user32.lib advapi32.lib wsock32.lib $(LDFLAGS) /def:glib.def
98
99 gspawn-win32-helper.exe : gspawn-win32-helper.c glib-$(GLIB_VER).dll
100         $(CC) $(CFLAGS) -Fe$@ -DGSPAWN_HELPER -DG_LOG_DOMAIN=\"gspawn-win32-helper\" gspawn-win32-helper.c glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:windows user32.lib
101
102 ################ subdirectories
103
104 sub-gmodule :
105         cd gmodule
106         -$(MAKE) -f makefile.msc all
107         cd ..
108
109 sub-gthread :
110         cd gthread
111         -$(MAKE) -f makefile.msc all
112         cd ..
113
114 sub-gobject :
115         cd gobject
116         -$(MAKE) -f makefile.msc all
117         cd ..
118
119 ################ test progs
120
121 testglib.obj : testglib.c
122         $(CC) -c $(CFLAGS) -DG_LOG_DOMAIN=\"testglib\" testglib.c
123
124 testglib.exe : glib-$(GLIB_VER).dll testglib.obj
125         $(CC) $(CFLAGS) -Fetestglib.exe testglib.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
126
127 testgdate.obj : testgdate.c
128         $(CC) -c $(CFLAGS) -DG_LOG_DOMAIN=\"testgdate\" testgdate.c
129
130 testgdate.exe : glib-$(GLIB_VER).dll testgdate.obj
131         $(CC) $(CFLAGS) -Fetestgdate.exe testgdate.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
132
133 testgdateparser.obj : testgdateparser.c
134         $(CC) -c $(CFLAGS) -DG_LOG_DOMAIN=\"testgdateparser\" testgdateparser.c
135
136 testgdateparser.exe : glib-$(GLIB_VER).dll testgdateparser.obj
137         $(CC) $(CFLAGS) -Fetestgdateparser.exe testgdateparser.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
138
139 ################ other stuff
140
141 clean::
142         del config.h
143         del glibconfig.h
144         cd gmodule
145         $(MAKE) -f makefile.msc clean
146         cd ..
147         cd gthread
148         $(MAKE) -f makefile.msc clean
149         cd ..
150         cd gobject
151         $(MAKE) -f makefile.msc clean
152         cd ..