]> Pileus Git - ~andy/gtk/blob - gdk-pixbuf/makefile.msc
GtkWindow: Add gtk_window_has_group()
[~andy/gtk] / gdk-pixbuf / makefile.msc
1 TOP = ..\..
2 PRJ_TOP = ..
3 PACKAGE = gdk_pixbuf
4 PKG_VER = $(GDK_PIXBUF_VER)
5
6 !INCLUDE $(TOP)/glib/build/win32/make.msc
7
8 !IFNDEF PERL
9 PERL = perl
10 !ENDIF
11
12 GDK_PIXBUF_VER = 2.0
13
14 # -DINCLUDE_gdiplus _replaces_ -DINCLUDE_bmp -DINCLUDE_gif -DINCLUDE_ico -DINCLUDE_jpeg  -DINCLUDE_tiff
15 # but not yet -DINCLUDE_png 
16 ##USEGDIP=1
17 # to get _working_ include modules we need respective defines ...
18 #   
19 BUILT_IN_FORMATS = \
20 !IFDEF USEGDIP
21         -DINCLUDE_gdiplus \
22 !ELSE
23         -DINCLUDE_bmp -DINCLUDE_gif -DINCLUDE_ico -DINCLUDE_jpeg -DINCLUDE_tiff \
24 !ENDIF
25         -DINCLUDE_png \
26         -DINCLUDE_xpm -DINCLUDE_wbmp \
27         -DINCLUDE_pnm -DINCLUDE_ras
28
29 PKG_CFLAGS = -FImsvc_recommended_pragmas.h \
30 !IFNDEF USEGDIP
31         $(JPEG_CFLAGS) $(TIFF_CFLAGS) \
32 !ENDIF
33         -I. -I.. $(GLIB_CFLAGS) \
34         $(BUILT_IN_FORMATS) \
35         $(PNG_CFLAGS) $(INTL_CFLAGS) \
36         $(G_DEBUGGING) \
37         -DGDK_PIXBUF_ENABLE_BACKEND \
38         -DGTK_PREFIX=\"/just/some/non/existing/path/\" \
39         -UUSE_GMODULE # use built-in
40 #       -DUSE_GMODULE -DPIXBUF_LIBDIR=\".\"
41
42 PKG_LINK = $(GLIB_LIBS) \
43 !IFNDEF USEGDIP
44         $(TIFF_LIBS) $(JPEG_LIBS) \
45 !ENDIF
46         $(PNG_LIBS) $(INTL_LIBS) \
47         pixops\pixops.lib \
48  
49 OBJECTS_NON_NATIVE = \
50         io-bmp.obj \
51         io-gif.obj \
52         io-ico.obj \
53         io-tiff.obj \
54         io-jpeg.obj \
55
56 OBJECTS_NATIVE = \
57         io-gdip-animation.obj \
58         io-gdip-bmp.obj \
59         io-gdip-emf.obj \
60         io-gdip-gif.obj \
61         io-gdip-ico.obj \
62         io-gdip-jpeg.obj \
63         io-gdip-tiff.obj \
64         io-gdip-utils.obj \
65         io-gdip-wmf.obj
66
67 OBJECTS = \
68         gdk-pixbuf-enum-types.obj \
69         gdk-pixbuf-animation.obj \
70         gdk-pixbuf-data.obj \
71         gdk-pixbuf-io.obj \
72         gdk-pixbuf-loader.obj \
73         gdk-pixbuf-scale.obj \
74         gdk-pixbuf-scaled-anim.obj \
75         gdk-pixbuf-util.obj \
76         gdk-pixbuf.obj \
77         gdk-pixbuf-simple-anim.obj \
78         gdk-pixdata.obj \
79         io-wbmp.obj \
80         io-gif-animation.obj \
81         io-png.obj \
82         io-pnm.obj \
83         io-ras.obj \
84         io-xpm.obj \
85 !IFDEF USEGDIP
86         $(OBJECTS_NATIVE)
87 !ELSE
88         $(OBJECTS_NON_NATIVE)
89 !ENDIF
90
91 gdk_pixbuf_headers =    \
92         gdk-pixbuf.h    \
93         gdk-pixbuf-core.h       \
94         gdk-pixbuf-loader.h     \
95         gdk-pixbuf-transform.h
96
97 gdk-pixbuf-marshal.h: gdk-pixbuf-marshal.list
98         ..\..\glib\gobject\glib-genmarshal --prefix=_gdk_pixbuf_marshal gdk-pixbuf-marshal.list --header >gdk-pixbuf-marshal.h
99
100 gdk-pixbuf-marshal.c: gdk-pixbuf-marshal.h gdk-pixbuf-marshal.list
101         ..\..\glib\gobject\glib-genmarshal --prefix=_gdk_pixbuf_marshal gdk-pixbuf-marshal.list --body >gdk-pixbuf-marshal.c
102
103 gdk-pixbuf-alias.h: gdk-pixbuf.symbols
104         perl makegdkpixbufalias.pl < gdk-pixbuf.symbols > gdk-pixbuf-alias.h
105
106 gdk_pixbuf.def: gdk-pixbuf.symbols makefile.msc
107         echo EXPORTS > gdk_pixbuf.def
108         cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES \
109         -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= -DG_GNUC_PRINTF=;G_GNUC_PRINTF \
110         gdk-pixbuf.symbols >> gdk_pixbuf.def
111
112 gdk-pixbuf-aliasdef.c: gdk-pixbuf.symbols
113          perl makegdkpixbufalias.pl -def < gdk-pixbuf.symbols > gdk-pixbuf-aliasdef.c
114
115 ## common stuff
116
117 INSTALL = copy
118
119 CFLAGS = -I. -DHAVE_CONFIG_H
120
121 sub-pixops :
122         cd pixops
123         nmake -f makefile.msc
124         cd ..
125
126 ## targets
127 all : \
128         $(PRJ_TOP)\config.h \
129         gdk-pixbuf-alias.h \
130         gdk-pixbuf-aliasdef.c \
131         gdk-pixbuf-marshal.h \
132         gdk-pixbuf-marshal.c \
133         sub-pixops \
134         lib$(PACKAGE)-$(PKG_VER)-0.dll \
135         $(PACKAGE)-$(PKG_VER)s.lib \
136 #       make-inline-pixbuf.exe \
137         gdk-pixbuf-csource.exe \
138         test-gdk-pixbuf.exe
139
140 $(PACKAGE).res : $(PACKAGE).rc
141         rc -DBUILDNUMBER=0 -r -fo $(PACKAGE).res $(PACKAGE).rc
142
143 $(PACKAGE)-$(PKG_VER)s.lib : $(OBJECTS)
144         lib /out:$(PACKAGE)-$(PKG_VER)s.lib $(OBJECTS) pixops\pixops.lib
145
146 lib$(PACKAGE)-$(PKG_VER)-0.dll : $(OBJECTS) $(PACKAGE).def $(PACKAGE).res
147         $(CC) $(CFLAGS) -LD -Fe$@ $(OBJECTS) $(PKG_LINK) user32.lib advapi32.lib ole32.lib wsock32.lib $(PACKAGE).res \
148         $(LDFLAGS) /implib:$(PACKAGE)-$(PKG_VER).lib /def:$(PACKAGE).def
149
150 make-inline-pixbuf.exe : make-inline-pixbuf.c
151         $(CC) $(PKG_CFLAGS) -Femake-inline-pixbuf.exe make-inline-pixbuf.c $(PKG_LINK) $(PACKAGE)-$(PKG_VER).lib
152
153 gdk-pixbuf-csource.exe : gdk-pixbuf-csource.c
154         $(CC) $(PKG_CFLAGS) -Fegdk-pixbuf-csource.exe gdk-pixbuf-csource.c $(PKG_LINK) $(PACKAGE)-$(PKG_VER).lib
155
156 test-gdk-pixbuf.exe : test-gdk-pixbuf.c
157         $(CC) $(PKG_CFLAGS) -Fetest-gdk-pixbuf.exe test-gdk-pixbuf.c $(PKG_LINK) $(PACKAGE)-$(PKG_VER).lib
158
159 #
160 # gdk-pixbuf-enum-types.h
161 #
162 gdk-pixbuf-enum-types.h : $(gdk_pixbuf_headers) makefile.msc
163         $(PERL) $(GLIB)\gobject\glib-mkenums \
164                 --fhead "#ifndef __GDK_PIXBUF__ENUM_TYPES_H__\n#define __GDK_PIXBUF_ENUM_TYPES_H__\n" \
165                 --fprod "/* enumerations from \"@filename@\" */\n" \
166                 --vhead "GType @enum_name@_get_type (void);\n#define GDK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n"         \
167                 --ftail "#endif /* __GDK_PIXBUF_ENUM_TYPES_H__ */" \
168                 $(gdk_pixbuf_headers) ) > gdk-pixbuf-enum-types.h
169
170 #
171 # gdk-pixbuf-enum-types.c
172 #
173 gdk-pixbuf-enum-types.c: $(gdk_pixbuf_headers) makefile.msc
174         $(PERL) $(GLIB)\gobject\glib-mkenums \
175                 --fhead "#include <gdk-pixbuf/gdk-pixbuf.h>" \
176                 --fprod "\n/* enumerations from \"@filename@\" */" \
177                 --vhead "GType\n@enum_name@_get_type (void)\n{\n  static GType etype = 0;\n  if (etype == 0) {\n    static const G@Type@Value values[] = {"       \
178                 --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
179                 --vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
180                   $(gdk_pixbuf_headers) > gdk-pixbuf-enum-types.c
181
182 gdk-pixbuf-enum-types.obj : gdk-pixbuf-enum-types.c gdk-pixbuf-enum-types.h
183
184 $(PRJ_TOP)\config.h: $(PRJ_TOP)\config.h.win32
185         copy $(PRJ_TOP)\config.h.win32 $(PRJ_TOP)\config.h
186
187 .c.obj :
188         $(CC) $(CFLAGS) -GD -c $(PKG_CFLAGS) $<
189
190 clean::
191         del config.h
192         del gdk-pixbuf-marshal.h
193         del gdk-pixbuf-marshal.c
194         del gdk-pixbuf-alaias.h
195
196
197