Revamp to be like makefile.mingw.in, make the MSVC build actually work
[platform/upstream/glib.git] / makefile.mingw.in
1 ## Makefile for building the GLib DLL with gcc for mingw. The build
2 ## uses tools running on cygwin, however.
3
4 ## Use: make -f makefile.mingw
5
6 # Change this to wherever you want to install the DLLs. This directory
7 # should be in your PATH.
8 BIN = /bin
9
10 TOP = ..
11
12 include build/win32/make.mingw
13
14 # Possibly override GLib version in build/win32/module.defs
15 GLIB_VER = @GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@
16
17 ################################################################
18
19 # Nothing much configurable below
20
21 INCLUDES = -I .
22 DEFINES = -DHAVE_CONFIG_H -DGLIB_COMPILATION -DG_LOG_DOMAIN=g_log_domain_glib
23 DEPCFLAGS = $(LIBICONV_CFLAGS)
24
25 DLLS_TO_BUILD = \
26         glib-$(GLIB_VER).dll \
27         gmodule/gmodule-$(GLIB_VER).dll \
28         gthread/gthread-$(GLIB_VER).dll \
29         gobject/gobject-$(GLIB_VER).dll \
30
31
32 all : \
33         config.h \
34         glibconfig.h \
35         $(DLLS_TO_BUILD) \
36         testglib.exe \
37         testgdate.exe \
38         testgdateparser.exe
39
40 install : all
41         $(INSTALL) $(DLLS_TO_BUILD) $(BIN)
42
43 glib_OBJECTS = \
44         garray.o \
45         gasyncqueue.o \
46         gbacktrace.o \
47         gcache.o \
48         gcompletion.o \
49         gconvert.o \
50         gdataset.o \
51         gdate.o \
52         gerror.o \
53         ghook.o \
54         ghash.o \
55         giochannel.o \
56         giowin32.o \
57         glist.o \
58         gmain.o \
59         gmem.o \
60         gmessages.o \
61         gnode.o \
62         gprimes.o \
63         gqueue.o \
64         grand.o \
65         gslist.o \
66         gthread.o \
67         gthreadpool.o \
68         gtimer.o \
69         gtree.o \
70         grel.o \
71         gstring.o \
72         gstrfuncs.o \
73         gscanner.o \
74         gunidecomp.o \
75         guniprop.o \
76         gutf8.o \
77         gutils.o \
78         gwin32.o
79
80 glibconfig.h: glibconfig.h.win32
81         cp $< $@
82
83 config.h: config.h.win32
84         cp $< $@
85
86 makefile.mingw: makefile.mingw.in
87         sed -e 's,@GLIB[_]MAJOR_VERSION@,@GLIB_MAJOR_VERSION@,' \
88             -e 's,@GLIB[_]MINOR_VERSION@,@GLIB_MINOR_VERSION@,' <$< >$@
89
90 ################ glib
91
92 glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def
93         ./build-dll glib $(GLIB_VER) glib.def $(glib_OBJECTS) $(LIBICONV_LIBS) -luser32 -lwsock32
94
95 ################ subdirectories
96
97 gmodule/gmodule-$(GLIB_VER).dll : glib-$(GLIB_VER).dll
98         cd gmodule && $(MAKE) -f makefile.mingw all
99
100 gthread/gthread-$(GLIB_VER).dll : glib-$(GLIB_VER).dll
101         cd gthread && $(MAKE) -f makefile.mingw all
102
103 gobject/gobject-$(GLIB_VER).dll : glib-$(GLIB_VER).dll
104         cd gobject && $(MAKE) -f makefile.mingw all
105
106 ################ test progs
107
108 testglib.o : testglib.c
109         $(CC) -c $(CFLAGS) -DG_LOG_DOMAIN=\"testglib\" $<
110
111 testglib.exe : glib-$(GLIB_VER).dll testglib.o
112         $(CC) $(CFLAGS) -o testglib testglib.o -L . -lglib-$(GLIB_VER) $(LDFLAGS)
113
114 testgdate.o : testgdate.c
115         $(CC) -c $(CFLAGS) -DG_LOG_DOMAIN=\"testgdate\" $<
116
117 testgdate.exe : glib-$(GLIB_VER).dll testgdate.o
118         $(CC) $(CFLAGS) -o testgdate.exe testgdate.o -L . -lglib-$(GLIB_VER) $(LDFLAGS)
119
120 testgdateparser.o : testgdateparser.c
121         $(CC) -c $(CFLAGS) -DG_LOG_DOMAIN=\"testgdateparser\" $<
122
123 testgdateparser.exe : glib-$(GLIB_VER).dll testgdateparser.o
124         $(CC) $(CFLAGS) -o testgdateparser.exe testgdateparser.o -L . -lglib-$(GLIB_VER) $(LDFLAGS)
125
126
127 ################ other stuff
128
129 clean::
130         -rm config.h glibconfig.h gmodule/gmoduleconf.h