makefile.msc.in 15.8 KB
Newer Older
1 2 3 4 5 6
## Makefile for building the gtk DLL with Microsoft C
## Use: nmake -f makefile.msc

## There is no install target, you have to decide where and 
## how to install for yourself.

7
TOP = ..\..
8
!INCLUDE $(TOP)/glib/build/win32/make.msc
9 10 11

################################################################

Hans Breuer's avatar
Hans Breuer committed
12
# Not the real version but the one used in the DLL names
Hans Breuer's avatar
Hans Breuer committed
13
GTK_VER = 3.0
14

15

16 17
GDK_LIBS = ../gdk/gdk-win32-$(GTK_VER).lib
GTK_LIBS = gtk-win32-$(GTK_VER).lib
Hans Breuer's avatar
Hans Breuer committed
18
GTK_BINARY_VERSION = @GTK_BINARY_VERSION@
19 20 21 22 23 24 25

# Perl and awk are needed to generate some source files.
# These generated source files are distribuyted with the Win32 GTk+ source
# distributions, so don't worry if you don't have perl and awk.
PERL = perl
AWK = gawk

Hans Breuer's avatar
Hans Breuer committed
26
INCLUDES = -FImsvc_recommended_pragmas.h -I . -I .. -I ../gdk $(GDK_PIXBUF_CFLAGS)
Hans Breuer's avatar
Hans Breuer committed
27
DEPCFLAGS = $(PANGO_CFLAGS) $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) \
28
		$(INTL_CFLAGS) $(ATK_CFLAGS) $(CAIRO_CFLAGS)
29
LDFLAGS = $(ATK_LIBS) /link /machine:ix86 $(LINKDEBUG)
30
# Some files use near as an identifier
31
# Don't define GTK_COMPILATION here, because it's for gtk-x.x.dll only
32 33 34
DEFINES = \
	-DHAVE_CONFIG_H \
	$(G_DEBUGGING) -DGTK_DISABLE_COMPAT_H -DG_LOG_DOMAIN=\"Gtk\" -Dnear=xxnear \
Hans Breuer's avatar
Hans Breuer committed
35 36
	-DPANGO_ENABLE_BACKEND \
	-DGTK_VERSION=\"$(GTK_VER)\" -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\" \
37
	-DGTK_HOST=\"win32\" \
38
	-DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED \
Hans Breuer's avatar
Hans Breuer committed
39 40
	-DGTK_PRINT_BACKENDS=\"file,lpr\" \
	-DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED \
41 42
	-DGTK_PRINT_PREVIEW_COMMAND="\"evince --unlink-tempfile --preview %f\"" \
	-DGTK_LIBDIR=\"/magic/path/replaced/at/runtime\"
43

Hans Breuer's avatar
Hans Breuer committed
44 45 46 47 48 49 50
EXTRALIBS = \
	$(GDK_LIBS) \
	$(GDK_PIXBUF_LIBS) \
	$(PANGO_LIBS) $(INTL_LIBS) \
	$(GLIB_LIBS) $(GMODULE_LIBS) $(GIO_LIBS) \
	$(CAIRO_LIBS) $(PANGOCAIRO_LIBS) $(CAIRO_GOBJECT_LIBS) \

51 52
TOUCH = copy makefile.msc+nul

53 54 55 56
gtkbuiltincache.h: gtk-update-icon-cache.exe
	del gtkicontheme.obj
	gtk-update-icon-cache --force --ignore-theme-index 	\
	   --source builtin_icons stock-icons > gtkbuiltincache.h
57

58 59
GENERATED = \
	gtktypebuiltins.h gtktypebuiltins.c \
Hans Breuer's avatar
Hans Breuer committed
60
	gtkmarshalers.h gtkmarshalers.c \
Hans Breuer's avatar
Hans Breuer committed
61
	gtk.def gtktypefuncs.c
62

63 64
all :						\
	..\config.h				\
65
	$(GENERATED)				\
66 67
	gtk-update-icon-cache.exe		\
	gtkbuiltincache.h			\
68
	libgtk-win32-$(GTK_VER)-0.dll		\
69
	gtk-query-immodules-$(GTK_VER).exe \
Hans Breuer's avatar
Hans Breuer committed
70 71
#	gtk-win32-$(GTK_VER)s.lib \
#	gtk-x11-$(GTK_VER).dll
72

73
gtk_OBJECTS_cell = \
Hans Breuer's avatar
Hans Breuer committed
74 75 76 77
	gtkcellarea.obj \
	gtkcellareabox.obj \
	gtkcellareaboxcontext.obj \
	gtkcellareacontext.obj \
78 79 80
	gtkcelleditable.obj \
	gtkcelllayout.obj \
	gtkcellrenderer.obj \
81
	gtkcellrendereraccel.obj \
82
	gtkcellrenderercombo.obj \
83 84
	gtkcellrendererpixbuf.obj \
	gtkcellrendererprogress.obj \
Hans Breuer's avatar
Hans Breuer committed
85
	gtkcellrendererspin.obj	\
Hans Breuer's avatar
Hans Breuer committed
86
	gtkcellrendererspinner.obj \
Hans Breuer's avatar
Hans Breuer committed
87 88
	gtkcellrenderertext.obj \
	gtkcellrenderertoggle.obj \
89 90 91
	gtkcellview.obj \
	gtkliststore.obj \
	gtktreednd.obj \
Hans Breuer's avatar
Hans Breuer committed
92
	gtktreemenu.obj \
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
	gtktreemodel.obj \
	gtktreemodelfilter.obj \
	gtktreemodelsort.obj \
	gtktreeselection.obj \
	gtktreesortable.obj \
	gtktreestore.obj \
	gtktreeview.obj \
	gtktreeviewcolumn.obj \

gtk_OBJECTS_file = \
	gtkfilechooser.obj \
	gtkfilechooserbutton.obj \
	gtkfilechooserdefault.obj \
	gtkfilechooserdialog.obj \
	gtkfilechooserembed.obj \
	gtkfilechooserentry.obj \
Hans Breuer's avatar
Hans Breuer committed
109
#	gtkfilechoosersettings.obj \
110 111 112 113 114 115 116 117 118
	gtkfilechooserutils.obj \
	gtkfilechooserwidget.obj \
	gtkfilefilter.obj \
	gtkfilesystem.obj \
	gtkfilesystemmodel.obj \

gtk_OBJECTS_print = \
	gtkprint-win32.obj \
	gtkprintcontext.obj \
Hans Breuer's avatar
Hans Breuer committed
119
	gtkprintoperation-win32.obj \
120 121 122 123 124 125
	gtkprintoperation.obj \
	gtkprintoperationpreview.obj \
	gtkprintsettings.obj \
	gtkprintutils.obj \

gtk_OBJECTS_text = \
Hans Breuer's avatar
Hans Breuer committed
126
	gtktextattributes.obj \
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
	gtktextbtree.obj \
	gtktextbuffer.obj \
	gtktextbufferrichtext.obj \
	gtktextbufferserialize.obj \
	gtktextchild.obj \
	gtktextdisplay.obj \
	gtktextiter.obj \
	gtktextlayout.obj \
	gtktextmark.obj \
	gtktextsegment.obj \
	gtktexttag.obj \
	gtktexttagtable.obj \
	gtktexttypes.obj \
	gtktextutil.obj	\
	gtktextview.obj \

gtk_OBJECTS_recent = \
144
	gtkrecentaction.obj \
Hans Breuer's avatar
Hans Breuer committed
145 146
	gtkrecentchooserdefault.obj \
	gtkrecentchooserdialog.obj \
147
	gtkrecentchoosermenu.obj \
Hans Breuer's avatar
Hans Breuer committed
148 149
	gtkrecentchooserwidget.obj \
	gtkrecentchooserutils.obj \
150 151 152 153 154 155
	gtkrecentchooser.obj \
	gtkrecentfilter.obj \
	gtkrecentmanager.obj \

gtk_OBJECTS = \
	fnmatch.obj \
Hans Breuer's avatar
Hans Breuer committed
156
	gtk9slice.obj \
157 158 159 160 161 162 163
	gtkaboutdialog.obj \
	gtkaccelgroup.obj \
	gtkaccellabel.obj \
	gtkaccelmap.obj	\
	gtkaccessible.obj \
	gtkaction.obj \
	gtkactiongroup.obj \
Hans Breuer's avatar
Hans Breuer committed
164
	gtkactivatable.obj \
165 166
	gtkadjustment.obj \
	gtkalignment.obj \
Hans Breuer's avatar
Hans Breuer committed
167 168 169 170 171 172 173 174 175
	gtkanimationdescription.obj \
	gtkappchooser.obj \
	gtkappchooserbutton.obj \
	gtkappchooserdialog.obj \
	gtkappchoosermodule.obj \
	gtkappchooseronline.obj \
	gtkappchooseronlinepk.obj \
	gtkappchooserwidget.obj \
	gtkapplication.obj \
176 177 178 179 180 181 182
	gtkarrow.obj \
	gtkaspectframe.obj \
	gtkassistant.obj \
	gtkbin.obj \
	gtkbindings.obj \
	gtkbbox.obj \
	gtkbox.obj \
Hans Breuer's avatar
Hans Breuer committed
183
	gtkborder.obj \
184 185 186 187 188 189 190 191 192 193 194 195
	gtkbuildable.obj \
	gtkbuilder.obj \
	gtkbuilderparser.obj \
	gtkbutton.obj \
	gtkcalendar.obj \
	gtkcheckbutton.obj \
	gtkcheckmenuitem.obj \
	gtkclipboard.obj \
	gtkcolorbutton.obj \
	gtkcolorsel.obj \
	gtkcolorseldialog.obj \
	gtkcombobox.obj	\
Hans Breuer's avatar
Hans Breuer committed
196
	gtkcomboboxtext.obj \
197
	gtkcontainer.obj \
Hans Breuer's avatar
Hans Breuer committed
198
	gtkcssprovider.obj \
199 200 201 202 203
	gtkdialog.obj \
	gtkdnd.obj \
	gtkdrawingarea.obj \
	gtkeditable.obj \
	gtkentry.obj \
Hans Breuer's avatar
Hans Breuer committed
204
	gtkentrybuffer.obj \
205 206 207 208 209 210 211
	gtkentrycompletion.obj \
	gtkeventbox.obj \
	gtkexpander.obj \
	gtkfixed.obj \
	gtkfontsel.obj \
	gtkfontbutton.obj \
	gtkframe.obj \
Hans Breuer's avatar
Hans Breuer committed
212 213
	gtkgradient.obj \
	gtkgrid.obj \
214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232
	gtkhandlebox.obj \
	gtkhbbox.obj \
	gtkhbox.obj \
	gtkhpaned.obj \
	gtkhscale.obj \
	gtkhscrollbar.obj \
	gtkhseparator.obj \
	gtkhsv.obj \
	gtkiconcache.obj \
	gtkiconcachevalidator.obj \
	gtkiconfactory.obj \
	gtkicontheme.obj \
	gtkiconview.obj \
	gtkimage.obj \
	gtkimagemenuitem.obj \
	gtkimcontext.obj \
	gtkimcontextsimple.obj \
	gtkimmodule.obj	\
	gtkimmulticontext.obj \
Hans Breuer's avatar
Hans Breuer committed
233
	gtkinfobar.obj \
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248
	gtkinvisible.obj \
	gtkkeyhash.obj	\
	gtklabel.obj \
	gtklayout.obj \
	gtklinkbutton.obj \
	gtkmain.obj \
	gtkmarshalers.obj \
	gtkmenu.obj \
	gtkmenubar.obj \
	gtkmenuitem.obj \
	gtkmenushell.obj \
	gtkmenutoolbutton.obj \
	gtkmessagedialog.obj \
	gtkmisc.obj \
	gtkmnemonichash.obj \
Hans Breuer's avatar
Hans Breuer committed
249
	gtkmodifierstyle.obj \
250 251
	gtkmodules.obj \
	gtkmountoperation.obj \
Hans Breuer's avatar
Hans Breuer committed
252
	gtkmountoperation-stub.obj \
253
	gtknotebook.obj \
Hans Breuer's avatar
Hans Breuer committed
254
	gtknumerableicon.obj \
Hans Breuer's avatar
Hans Breuer committed
255
	gtkoffscreenwindow.obj \
Hans Breuer's avatar
Hans Breuer committed
256
	gtkorientable.obj \
257 258
	gtkpagesetup.obj \
	gtkpaned.obj \
Hans Breuer's avatar
Hans Breuer committed
259
	gtkpango.obj \
260 261 262 263 264 265 266 267 268 269 270 271 272
	gtkpapersize.obj \
	gtkpathbar.obj \
	gtkprogressbar.obj \
	gtkquery.obj \
	gtkradioaction.obj \
	gtkradiobutton.obj \
	gtkradiotoolbutton.obj \
	gtkradiomenuitem.obj \
	gtkrange.obj \
	gtkrbtree.obj \
	gtkrc.obj \
	gtkscale.obj \
	gtkscalebutton.obj \
Hans Breuer's avatar
Hans Breuer committed
273
	gtkscrollable.obj \
274 275 276 277 278 279 280 281
	gtkscrollbar.obj \
	gtkscrolledwindow.obj \
	gtksearchengine.obj \
	gtksearchenginebeagle.obj \
	gtksearchenginesimple.obj \
	gtksearchenginetracker.obj \
	gtkselection.obj \
	gtkseparator.obj \
282
	gtkseparatormenuitem.obj \
Hans Breuer's avatar
Hans Breuer committed
283
	gtkseparatortoolitem.obj \
284
	gtksettings.obj \
Hans Breuer's avatar
Hans Breuer committed
285
	gtkshow.obj \
286
	gtksizegroup.obj \
Hans Breuer's avatar
Hans Breuer committed
287
	gtksizerequest.obj \
288
	gtkspinbutton.obj \
Hans Breuer's avatar
Hans Breuer committed
289
	gtkspinner.obj \
290 291
	gtkstatusicon.obj \
	gtkstyle.obj \
Hans Breuer's avatar
Hans Breuer committed
292 293 294
	gtkstylecontext.obj \
	gtkstyleproperties.obj \
	gtkstyleprovider.obj \
295 296
	gtkstatusbar.obj \
	gtkstock.obj \
Hans Breuer's avatar
Hans Breuer committed
297 298
	gtkswitch.obj \
	gtksymboliccolor.obj \
299 300
	gtktable.obj \
	gtktearoffmenuitem.obj \
Hans Breuer's avatar
Hans Breuer committed
301
	gtktestutils.obj \
Hans Breuer's avatar
Hans Breuer committed
302 303
	gtkthemingengine.obj \
	gtktimeline.obj \
304 305 306
	gtktoggleaction.obj \
	gtktogglebutton.obj \
	gtktoggletoolbutton.obj \
Hans Breuer's avatar
Hans Breuer committed
307
	gtktoolbar.obj \
308 309
	gtktoolbutton.obj \
	gtktoolitem.obj \
Hans Breuer's avatar
Hans Breuer committed
310 311
	gtktoolitemgroup.obj \
	gtktoolpalette.obj \
312 313 314
	gtktoolshell.obj \
	gtktooltip.obj \
	gtktreedatalist.obj \
315
	gtktypebuiltins.obj \
316 317 318 319 320 321 322 323 324 325
	gtkuimanager.obj \
	gtkvbbox.obj \
	gtkvbox.obj \
	gtkviewport.obj \
	gtkvolumebutton.obj \
	gtkvpaned.obj \
	gtkvscale.obj \
	gtkvscrollbar.obj \
	gtkvseparator.obj \
	gtkwidget.obj \
Hans Breuer's avatar
Hans Breuer committed
326
	gtkwidgetpath.obj \
327 328 329
	gtkwin32embed.obj \
	gtkwin32embedwidget.obj \
	gtkwindow.obj \
Hans Breuer's avatar
Hans Breuer committed
330
#	gtkwrapbox.obj \
331 332

# Source headers which are non-autogenerated headers
Hans Breuer's avatar
Hans Breuer committed
333
gtk_public_h_sources = 		\
334
	gtk.h			\
Hans Breuer's avatar
Hans Breuer committed
335
	gtkaboutdialog.h	\
336 337
	gtkaccelgroup.h		\
	gtkaccellabel.h		\
338
	gtkaccelmap.h		\
339
	gtkaccessible.h		\
340 341
	gtkaction.h		\
	gtkactiongroup.h	\
Hans Breuer's avatar
Hans Breuer committed
342
	gtkactivatable.h	\
343 344
	gtkadjustment.h		\
	gtkalignment.h		\
Hans Breuer's avatar
Hans Breuer committed
345 346 347 348 349
	gtkappchooser.h		\
	gtkappchooserbutton.h	\
	gtkappchooserdialog.h	\
	gtkappchooserwidget.h	\
	gtkapplication.h	\
350 351
	gtkarrow.h		\
	gtkaspectframe.h	\
352
	gtkassistant.h		\
353
	gtkbbox.h		\
354 355
	gtkbin.h		\
	gtkbindings.h		\
Hans Breuer's avatar
Hans Breuer committed
356
	gtkborder.h		\
357
	gtkbox.h		\
358 359
	gtkbuilder.h		\
	gtkbuildable.h		\
360 361
	gtkbutton.h		\
	gtkcalendar.h		\
Hans Breuer's avatar
Hans Breuer committed
362 363 364
	gtkcellarea.h		\
	gtkcellareacontext.h	\
	gtkcellareabox.h	\
365 366 367
	gtkcelleditable.h	\
	gtkcelllayout.h		\
	gtkcellrenderer.h	\
368
	gtkcellrendereraccel.h	\
369
	gtkcellrenderercombo.h	\
370
	gtkcellrendererpixbuf.h	\
371
	gtkcellrendererprogress.h \
Hans Breuer's avatar
Hans Breuer committed
372 373
	gtkcellrendererspin.h	\
	gtkcellrendererspinner.h\
374 375
	gtkcellrenderertext.h	\
	gtkcellrenderertoggle.h	\
376
	gtkcellview.h		\
377 378
	gtkcheckbutton.h	\
	gtkcheckmenuitem.h	\
379 380
	gtkclipboard.h		\
	gtkcolorbutton.h	\
381 382
	gtkcolorsel.h		\
	gtkcolorseldialog.h	\
383
	gtkcombobox.h		\
Hans Breuer's avatar
Hans Breuer committed
384
	gtkcomboboxtext.h	\
385
	gtkcontainer.h		\
Hans Breuer's avatar
Hans Breuer committed
386 387
	gtkcssprovider.h	\
	gtkdebug.h		\
388 389 390
	gtkdialog.h		\
	gtkdnd.h		\
	gtkdrawingarea.h	\
Hans Breuer's avatar
Hans Breuer committed
391
	gtkeditable.h		\
392
	gtkentry.h		\
Hans Breuer's avatar
Hans Breuer committed
393
	gtkentrybuffer.h	\
394
	gtkentrycompletion.h	\
395 396
	gtkenums.h		\
	gtkeventbox.h		\
397
	gtkexpander.h		\
Hans Breuer's avatar
Hans Breuer committed
398 399 400 401
	gtkfilechooser.h	\
	gtkfilechooserbutton.h	\
	gtkfilechooserdialog.h	\
	gtkfilechooserwidget.h	\
402
	gtkfilefilter.h		\
403
	gtkfixed.h		\
404
	gtkfontbutton.h		\
405 406
	gtkfontsel.h		\
	gtkframe.h		\
Hans Breuer's avatar
Hans Breuer committed
407 408
	gtkgradient.h		\
	gtkgrid.h		\
409 410 411 412 413 414 415
	gtkhandlebox.h		\
	gtkhbbox.h		\
	gtkhbox.h		\
	gtkhpaned.h		\
	gtkhscale.h		\
	gtkhscrollbar.h		\
	gtkhseparator.h		\
Hans Breuer's avatar
Hans Breuer committed
416
	gtkhsv.h		\
417
	gtkiconfactory.h	\
418
	gtkicontheme.h		\
419
	gtkiconview.h		\
420
	gtkimage.h		\
421
	gtkimagemenuitem.h	\
422
	gtkimcontext.h		\
423
	gtkimcontextsimple.h	\
424
	gtkimmodule.h		\
425
	gtkimmulticontext.h	\
Hans Breuer's avatar
Hans Breuer committed
426
	gtkinfobar.h		\
427 428
	gtkinvisible.h		\
	gtklabel.h		\
Hans Breuer's avatar
Hans Breuer committed
429
	gtklayout.h		\
Hans Breuer's avatar
Hans Breuer committed
430
	gtklinkbutton.h		\
431
	gtkliststore.h		\
432 433 434 435 436
	gtkmain.h		\
	gtkmenu.h		\
	gtkmenubar.h		\
	gtkmenuitem.h		\
	gtkmenushell.h		\
437
	gtkmenutoolbutton.h	\
438
	gtkmessagedialog.h	\
439
	gtkmisc.h		\
440
	gtkmodules.h		\
441
	gtkmountoperation.h	\
442
	gtknotebook.h		\
Hans Breuer's avatar
Hans Breuer committed
443
	gtkoffscreenwindow.h	\
Hans Breuer's avatar
Hans Breuer committed
444
	gtkorientable.h		\
445
	gtkpagesetup.h		\
446
	gtkpaned.h		\
447
	gtkpapersize.h		\
448
	gtkplug.h		\
449 450
	gtkprintcontext.h	\
	gtkprintoperation.h	\
Hans Breuer's avatar
Hans Breuer committed
451
	gtkprintoperationpreview.h \
452
	gtkprintsettings.h	\
453
	gtkprogressbar.h	\
454
	gtkradioaction.h	\
455 456
	gtkradiobutton.h	\
	gtkradiomenuitem.h	\
457
	gtkradiotoolbutton.h	\
458 459
	gtkrange.h		\
	gtkrc.h			\
460
	gtkrecentaction.h	\
Hans Breuer's avatar
Hans Breuer committed
461
	gtkrecentchooser.h	\
Hans Breuer's avatar
Hans Breuer committed
462
	gtkrecentchooserdialog.h \
Hans Breuer's avatar
Hans Breuer committed
463
	gtkrecentchoosermenu.h	\
Hans Breuer's avatar
Hans Breuer committed
464
	gtkrecentchooserwidget.h \
Hans Breuer's avatar
Hans Breuer committed
465 466
	gtkrecentfilter.h	\
	gtkrecentmanager.h	\
467
	gtkscale.h		\
468
	gtkscalebutton.h	\
Hans Breuer's avatar
Hans Breuer committed
469
	gtkscrollable.h		\
470 471 472 473
	gtkscrollbar.h		\
	gtkscrolledwindow.h	\
	gtkselection.h		\
	gtkseparator.h		\
474 475 476
	gtkseparatormenuitem.h	\
	gtkseparatortoolitem.h	\
	gtksettings.h		\
Hans Breuer's avatar
Hans Breuer committed
477
	gtkshow.h		\
478
	gtksizegroup.h		\
Hans Breuer's avatar
Hans Breuer committed
479
	gtksizerequest.h	\
480 481
	gtksocket.h		\
	gtkspinbutton.h		\
Hans Breuer's avatar
Hans Breuer committed
482
	gtkspinner.h		\
483
	gtkstatusbar.h		\
484
	gtkstatusicon.h		\
485
	gtkstock.h		\
Hans Breuer's avatar
Hans Breuer committed
486 487 488
	gtkstylecontext.h	\
	gtkstyleproperties.h	\
	gtkstyleprovider.h	\
489
	gtkstyle.h		\
Hans Breuer's avatar
Hans Breuer committed
490 491
	gtkswitch.h		\
	gtksymboliccolor.h	\
492
	gtktable.h		\
Hans Breuer's avatar
Hans Breuer committed
493 494
	gtktearoffmenuitem.h	\
	gtktestutils.h		\
495
	gtktextbuffer.h		\
Hans Breuer's avatar
Hans Breuer committed
496
	gtktextbufferrichtext.h	\
497 498
	gtktextchild.h		\
	gtktextdisplay.h	\
499 500 501 502 503
	gtktextiter.h		\
	gtktextmark.h		\
	gtktexttag.h		\
	gtktexttagtable.h	\
	gtktextview.h		\
Hans Breuer's avatar
Hans Breuer committed
504
	gtkthemingengine.h	\
505
	gtktoggleaction.h	\
506
	gtktogglebutton.h	\
507
	gtktoggletoolbutton.h	\
508
	gtktoolbar.h		\
509 510
	gtktoolbutton.h		\
	gtktoolitem.h		\
Hans Breuer's avatar
Hans Breuer committed
511
	gtktoolitemgroup.h	\
Hans Breuer's avatar
Hans Breuer committed
512
	gtktoolpalette.h	\
Hans Breuer's avatar
Hans Breuer committed
513
	gtktoolshell.h		\
514
	gtktooltip.h		\
515
	gtktreednd.h		\
516
	gtktreemodel.h		\
517
	gtktreemodelfilter.h	\
518
	gtktreemodelsort.h	\
519
	gtktreeselection.h	\
520
	gtktreesortable.h	\
521 522 523
	gtktreestore.h		\
	gtktreeview.h		\
	gtktreeviewcolumn.h	\
524
	gtkuimanager.h		\
525 526 527
	gtkvbbox.h		\
	gtkvbox.h		\
	gtkviewport.h		\
528
	gtkvolumebutton.h	\
529 530 531 532 533
	gtkvpaned.h		\
	gtkvscale.h		\
	gtkvscrollbar.h		\
	gtkvseparator.h		\
	gtkwidget.h		\
Hans Breuer's avatar
Hans Breuer committed
534
	gtkwidgetpath.h		\
535 536
	gtkwindow.h

537 538
# these aren't use here, but listed for reference
gtk_extra_sources = \
539
	gtkversion.h		\
540 541 542
	gtk-boxed.defs		\
	gtkmarshal.list		\

543 544 545
..\config.h : ..\config.h.win32
	copy ..\config.h.win32 ..\config.h

546
gtk.def: gtk.symbols makefile.msc
Hans Breuer's avatar
Hans Breuer committed
547
	echo EXPORTS > gtk.def
Hans Breuer's avatar
Hans Breuer committed
548
	cl /EP -DG_OS_WIN32 -DGDK_WINDOWING_WIN32 \
549 550
		-DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \
		-DG_GNUC_PRINTF=;G_GNUC_PRINTF gtk.symbols >> gtk.def
Hans Breuer's avatar
Hans Breuer committed
551

552
# generate type identifier header (GTK_TYPE_WIDGET_FLAGS)
553 554 555 556 557 558 559 560 561 562 563
# use 'echo' to work around 'command line too long'
gtktypebuiltins.h: $(gtk_public_h_sources) makefile.msc
	echo #ifndef __GTK_TYPE_BUILTINS_H__ > gtktypebuiltins.h
	echo #define __GTK_TYPE_BUILTINS_H__ >> gtktypebuiltins.h
	echo #include "glib-object.h" >> gtktypebuiltins.h
	echo G_BEGIN_DECLS >> gtktypebuiltins.h
	$(PERL) $(GLIB)\gobject\glib-mkenums \
		--fprod "/* enumerations from \"@filename@\" */\n" \
		--vhead "GType @enum_name@_get_type (void);\n#define GTK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
		--ftail "G_END_DECLS\n\n#endif /* __GTK_TYPE_BUILTINS_H__ */" \
		$(gtk_public_h_sources) >> gtktypebuiltins.h
564

565 566 567 568 569 570 571 572 573
gtktypebuiltins.c: $(gtk_public_h_sources) makefile.msc
	$(PERL) $(GLIB)\gobject\glib-mkenums \
		--fhead "#define GTK_ENABLE_BROKEN\n#include \"gtk.h\"\n#include \"gtkprivate.h\"" \
		--fprod "\n/* enumerations from \"@filename@\" */" \
		--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[] = {" \
		--vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
		--vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
		$(gtk_public_h_sources) > xgen-gtbc
	copy xgen-gtbc gtktypebuiltins.c
574

575
# private marshalers
576 577
gtkmarshalers.h : gtkmarshalers.list makefile.msc
	$(GLIB)\gobject\glib-genmarshal --prefix=_gtk_marshal gtkmarshalers.list --header >gtkmarshalers.h
578

579
gtkmarshalers.c : gtkmarshalers.list makefile.msc
580 581
	$(GLIB)\gobject\glib-genmarshal --prefix=_gtk_marshal gtkmarshalers.list --body >gtkmarshalers.c

582 583
gtktypefuncs.c : makefile.msc
	echo /*none*/ > gtktypefuncs.c
584

585 586
gtk-win32.res : gtk-win32.rc
	rc -DBUILDNUMBER=0 -r -fo gtk-win32.res gtk-win32.rc
587

588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616
# build some static limits to covercome command line too long
# may also speed up the build

gtk-cell.lib : $(gtk_OBJECTS_cell)
	lib /out:gtk-cell.lib $(gtk_OBJECTS_cell)

gtk-file.lib : $(gtk_OBJECTS_file)
	lib /out:gtk-file.lib $(gtk_OBJECTS_file)

gtk-print.lib : $(gtk_OBJECTS_print)
	lib /out:gtk-print.lib $(gtk_OBJECTS_print)

gtk-recent.lib : $(gtk_OBJECTS_recent)
	lib /out:gtk-recent.lib $(gtk_OBJECTS_recent)

gtk-text.lib : $(gtk_OBJECTS_text)
	lib /out:gtk-text.lib $(gtk_OBJECTS_text)

gtk-core.lib : $(gtk_OBJECTS) 
	lib /out:gtk-core.lib $(gtk_OBJECTS)

gtk_SUBLIBS = \
	gtk-cell.lib \
	gtk-file.lib \
	gtk-print.lib \
	gtk-recent.lib \
	gtk-text.lib \
	gtk-core.lib

617 618 619
#
# Linking:
#
620
libgtk-win32-$(GTK_VER)-0.dll : $(gtk_SUBLIBS) gtk.def gtk-win32.res
Hans Breuer's avatar
Hans Breuer committed
621 622 623
	$(CC) $(CFLAGS) -LD -Fm -Fe$@ $(gtk_SUBLIBS) gtk-win32.res $(EXTRALIBS) \
	gdi32.lib user32.lib advapi32.lib wsock32.lib shell32.lib ole32.lib \
	comdlg32.lib winspool.lib comctl32.lib \
624
	$(LDFLAGS) /implib:gtk-win32-$(GTK_VER).lib /def:gtk.def
625 626 627

gtk-win32-$(GTK_VER)s.lib : $(gtk_OBJECTS)
	lib /out:gtk-win32-$(GTK_VER)s.lib $(gtk_OBJECTS)
628

629 630 631
gtk-query-immodules-$(GTK_VER).exe : queryimmodules.obj
	$(CC) $(CFLAGS) -Fe$@ queryimmodules.obj $(GTK_LIBS) $(GLIB_LIBS) $(PANGO_LIBS) $(LDFLAGS)

632
gtk-update-icon-cache.exe : updateiconcache.obj
633
	$(CC) $(CFLAGS) -Fe$@ updateiconcache.obj $(GDK_PIXBUF_LIBS) $(GLIB_LIBS) $(INTL_LIBS) $(PANGO_LIBS) $(LDFLAGS)
634

Hans Breuer's avatar
Hans Breuer committed
635 636 637
gtk-x11-$(GTK_VER).dll : $(gtk_OBJECTS) gtk.def
	$(CC) $(CFLAGS) -LD -Fm -Fegtk-x11-$(GTK_VER).dll $(gtk_OBJECTS) ../gdk/gdk-x11-$(GTK_VER).lib $(GDK_PIXBUF_LIBS) $(PANGO_LIBS) $(INTL_LIBS) $(GLIB_LIBS) gdi32.lib user32.lib advapi32.lib $(LDFLAGS) /def:gtk.def

638 639
# General rule for compiling the objects into the DLL
.c.obj :
640
	$(CC) $(CFLAGS) -GF -Zm400 -GD -c -DGTK_COMPILATION -DG_LOG_DOMAIN=\"Gtk\" $<
641

642 643 644 645 646 647
$(EXAMPLE).obj : ..\examples\$(EXAMPLE)\$(EXAMPLE).c
	$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"$(EXAMPLE)\" ..\examples\$(EXAMPLE)\$(EXAMPLE).c

$(EXAMPLE).exe : $(EXAMPLE).obj
	$(CC) $(CFLAGS) $(EXAMPLE).obj $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)