]> Pileus Git - ~andy/gtk/blob - gtk/makefile.mingw.in
Make C-Down step through the sequence of paragraph ends (old behaviour
[~andy/gtk] / gtk / makefile.mingw.in
1 ####
2 #### Out of order! Use autoconfiscation.
3 ####
4
5 ## Makefile for building the GTK DLL with gcc on Win32
6 ## Use: make -f makefile.mingw
7
8 ## There is no install target, you have to decide where and 
9 ## how to install for yourself.
10
11 OPTIMIZE = -g
12
13 TOP = ../..
14
15 include ../build/win32/make.mingw
16
17 ################################################################
18
19 # Possibly override versions from build/win32/module.defs
20 GTK_VER = @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@
21 GDK_PIXBUF_VER = @GDK_PIXBUF_MAJOR@.@GDK_PIXBUF_MINOR@
22
23 GDK_LIBS = -L ../gdk -lgdk-win32-$(GTK_VER)
24 GTK_LIBS = -L . -lgtk-win32-$(GTK_VER)
25 GDK_PIXBUF_LIBS = -L ../gdk-pixbuf -lgdk_pixbuf-$(GDK_PIXBUF_VER)
26
27 # Perl and awk are needed to generate some source files.
28 # These generated source files are distributed with the Win32 GTk+ source
29 # distributions, so don't worry if you don't have perl and awk.
30 PERL = perl
31 AWK = awk
32
33 INCLUDES = -I . -I .. -I ../gdk -I ../gdk-pixbuf
34 DEPCFLAGS = $(PANGO_CFLAGS) $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) $(INTL_CFLAGS)
35 DEFINES = -DGTK_COMPILATION -DG_LOG_DOMAIN=\"Gtk\" -DGTK_VERSION=\"@GTK_VERSION@\"
36
37 GLIB_GENMARSHAL = $(GLIB)/gobject/glib-genmarshal.exe
38
39 all :                           \
40         ../config.h             \
41         generated               \
42         gtk-win32-$(GTK_VER).dll\
43         testcalendar.exe        \
44         testdnd.exe             \
45         testgtk.exe             \
46         testinput.exe           \
47         testrgb.exe             \
48         testselection.exe       \
49         testtext.exe            \
50         testtextbuffer.exe      \
51         simple.exe
52
53 gtk_OBJECTS =                   \
54         fnmatch.o               \
55         gtkaccelgroup.o         \
56         gtkaccellabel.o         \
57         gtkadjustment.o         \
58         gtkalignment.o          \
59         gtkarg.o                \
60         gtkarrow.o              \
61         gtkaspectframe.o        \
62         gtkbin.o                \
63         gtkbindings.o           \
64         gtkbbox.o               \
65         gtkbox.o                \
66         gtkbutton.o             \
67         gtkcalendar.o           \
68         gtkcellrenderer.o       \
69         gtkcellrenderertext.o   \
70         gtkcellrenderertextpixbuf.o     \
71         gtkcellrenderertoggle.o \
72         gtkcellrendererpixbuf.o \
73         gtkcheckbutton.o        \
74         gtkcheckmenuitem.o      \
75         gtkclipboard.o          \
76         gtkclist.o              \
77         gtkcolorsel.o           \
78         gtkcolorseldialog.o     \
79         gtkcombo.o              \
80         gtkcontainer.o          \
81         gtkctree.o              \
82         gtkcurve.o              \
83         gtkdialog.o             \
84         gtkdnd.o                \
85         gtkdrawingarea.o        \
86         gtkeditable.o           \
87         gtkentry.o              \
88         gtkeventbox.o           \
89         gtkfilesel.o            \
90         gtkfixed.o              \
91         gtkfontsel.o            \
92         gtkframe.o              \
93         gtkgamma.o              \
94         gtkgc.o                 \
95         gtkhandlebox.o          \
96         gtkhbbox.o              \
97         gtkhbox.o               \
98         gtkhpaned.o             \
99         gtkhruler.o             \
100         gtkhscale.o             \
101         gtkhscrollbar.o         \
102         gtkhseparator.o         \
103         gtkhsv.o                \
104         gtkiconfactory.o        \
105         gtkimage.o              \
106         gtkimagemenuitem.o      \
107         gtkimcontext.o          \
108         gtkimcontextsimple.o    \
109         gtkimmodule.o           \
110         gtkimmulticontext.o     \
111         gtkinputdialog.o        \
112         gtkinvisible.o          \
113         gtkitem.o               \
114         gtkitemfactory.o        \
115         gtklabel.o              \
116         gtklayout.o             \
117         gtklist.o               \
118         gtklistitem.o           \
119         gtkmain.o               \
120         gtkmenu.o               \
121         gtkmenubar.o            \
122         gtkmenufactory.o        \
123         gtkmenuitem.o           \
124         gtkmenushell.o          \
125         gtkmessagedialog.o      \
126         gtkmisc.o               \
127         gtknotebook.o           \
128         gtkobject.o             \
129         gtkoldeditable.o        \
130         gtkoptionmenu.o         \
131         gtkpacker.o             \
132         gtkpaned.o              \
133         gtkpixmap.o             \
134         gtkplug.o               \
135         gtkpreview.o            \
136         gtkprogress.o           \
137         gtkprogressbar.o        \
138         gtkradiobutton.o        \
139         gtkradiomenuitem.o      \
140         gtkrange.o              \
141         gtkrbtree.o             \
142         gtkrc.o                 \
143         gtkruler.o              \
144         gtkscale.o              \
145         gtkscrollbar.o          \
146         gtkscrolledwindow.o     \
147         gtkselection.o          \
148         gtkseparator.o          \
149         gtkseparatormenuitem.o  \
150         gtksettings.o           \
151         gtksignal.o             \
152         gtksocket.o             \
153         gtkspinbutton.o         \
154         gtkstyle.o              \
155         gtkstatusbar.o          \
156         gtkstock.o              \
157         gtktable.o              \
158         gtktearoffmenuitem.o    \
159         gtktext.o               \
160         gtktextbtree.o          \
161         gtktextbuffer.o         \
162         gtktextchild.o          \
163         gtktextdisplay.o        \
164         gtktextiter.o           \
165         gtktextlayout.o         \
166         gtktextmark.o           \
167         gtktextsegment.o        \
168         gtktexttag.o            \
169         gtktexttagtable.o       \
170         gtktexttypes.o          \
171         gtktextview.o           \
172         gtkthemes.o             \
173         gtktipsquery.o          \
174         gtktogglebutton.o       \
175         gtktoolbar.o            \
176         gtktooltips.o           \
177         gtktree.o               \
178         gtktreeitem.o           \
179         gtktreedatalist.o       \
180         gtktreednd.o            \
181         gtktreemodel.o          \
182         gtktreemodelsort.o      \
183         gtktreeselection.o      \
184         gtktreestore.o          \
185         gtktreeview.o           \
186         gtktreeviewcolumn.o     \
187         gtktypeutils.o          \
188         gtkvbbox.o              \
189         gtkvbox.o               \
190         gtkviewport.o           \
191         gtkvpaned.o             \
192         gtkvruler.o             \
193         gtkvscale.o             \
194         gtkvscrollbar.o         \
195         gtkvseparator.o         \
196         gtkwidget.o             \
197         gtkwindow.o             \
198         gtkwindow-decorate.o
199
200 # Source headers which are non-autogenerated headers
201 gtk_public_h_sources =          \
202         gtk.h                   \
203         gtkaccelgroup.h         \
204         gtkaccellabel.h         \
205         gtkadjustment.h         \
206         gtkalignment.h          \
207         gtkarg.h                \
208         gtkarrow.h              \
209         gtkaspectframe.h        \
210         gtkbin.h                \
211         gtkbindings.h           \
212         gtkbbox.h               \
213         gtkbox.h                \
214         gtkbutton.h             \
215         gtkcalendar.h           \
216         gtkcheckbutton.h        \
217         gtkcheckmenuitem.h      \
218         gtkseparatormenuitem.h  \
219         gtkclist.h              \
220         gtkclipboard.h          \
221         gtkcolorsel.h           \
222         gtkcolorseldialog.h     \
223         gtkcombo.h              \
224         gtkcontainer.h          \
225         gtkctree.h              \
226         gtkcurve.h              \
227         gtkcellrenderer.h       \
228         gtkcellrenderertext.h   \
229         gtkcellrenderertextpixbuf.h     \
230         gtkcellrenderertoggle.h \
231         gtkcellrendererpixbuf.h \
232         gtkdebug.h              \
233         gtkdialog.h             \
234         gtkdnd.h                \
235         gtkdrawingarea.h        \
236         gtkeditable.h           \
237         gtkentry.h              \
238         gtkenums.h              \
239         gtkeventbox.h           \
240         gtkfilesel.h            \
241         gtkfixed.h              \
242         gtkfontsel.h            \
243         gtkframe.h              \
244         gtkgamma.h              \
245         gtkgc.h                 \
246         gtkhandlebox.h          \
247         gtkhbbox.h              \
248         gtkhbox.h               \
249         gtkhpaned.h             \
250         gtkhruler.h             \
251         gtkhscale.h             \
252         gtkhscrollbar.h         \
253         gtkhseparator.h         \
254         gtkhsv.h                \
255         gtkiconfactory.h        \
256         gtkimage.h              \
257         gtkimagemenuitem.h      \
258         gtkimcontext.h          \
259         gtkimmodule.h           \
260         gtkimmulticontext.h     \
261         gtkinputdialog.h        \
262         gtkinvisible.h          \
263         gtkitem.h               \
264         gtkitemfactory.h        \
265         gtklabel.h              \
266         gtklayout.h             \
267         gtklist.h               \
268         gtklistitem.h           \
269         gtkliststore.h          \
270         gtkmain.h               \
271         gtkmenu.h               \
272         gtkmenubar.h            \
273         gtkmenufactory.h        \
274         gtkmenuitem.h           \
275         gtkmenushell.h          \
276         gtkmessagedialog.h      \
277         gtkmisc.h               \
278         gtknotebook.h           \
279         gtkoldeditable.h        \
280         gtkobject.h             \
281         gtkoptionmenu.h         \
282         gtkpacker.h             \
283         gtkpaned.h              \
284         gtkpixmap.h             \
285         gtkplug.h               \
286         gtkpreview.h            \
287         gtkprivate.h            \
288         gtkprogress.h           \
289         gtkprogressbar.h        \
290         gtkradiobutton.h        \
291         gtkradiomenuitem.h      \
292         gtkrange.h              \
293         gtkrc.h                 \
294         gtkruler.h              \
295         gtkscale.h              \
296         gtkscrollbar.h          \
297         gtkscrolledwindow.h     \
298         gtkselection.h          \
299         gtkseparator.h          \
300         gtksettings.h           \
301         gtksignal.h             \
302         gtksocket.h             \
303         gtkspinbutton.h         \
304         gtkstyle.h              \
305         gtkstatusbar.h          \
306         gtkstock.h              \
307         gtktable.h              \
308         gtktearoffmenuitem.h    \
309         gtktextbuffer.h         \
310         gtktextchild.h          \
311         gtktextdisplay.h        \
312         gtktextiter.h           \
313         gtktextlayout.h         \
314         gtktextmark.h           \
315         gtktexttag.h            \
316         gtktexttagtable.h       \
317         gtktextview.h           \
318         gtktext.h               \
319         gtktipsquery.h          \
320         gtktogglebutton.h       \
321         gtktoolbar.h            \
322         gtktooltips.h           \
323         gtktree.h               \
324         gtktreednd.h            \
325         gtktreeitem.h           \
326         gtktreemodel.h          \
327         gtktreemodelsort.h      \
328         gtktreeselection.h      \
329         gtktreesortable.h       \
330         gtktreestore.h          \
331         gtktreeview.h           \
332         gtktreeviewcolumn.h     \
333         gtktypeutils.h          \
334         gtkvbbox.h              \
335         gtkvbox.h               \
336         gtkviewport.h           \
337         gtkvpaned.h             \
338         gtkvruler.h             \
339         gtkvscale.h             \
340         gtkvscrollbar.h         \
341         gtkvseparator.h         \
342         gtkwidget.h             \
343         gtkwindow.h
344
345 # More headers to use when autogenerating.
346 gdk_headers =                   \
347         ../gdk/gdkcolor.h       \
348         ../gdk/gdkcursor.h      \
349         ../gdk/gdkdnd.h         \
350         ../gdk/gdkdrawable.h    \
351         ../gdk/gdkevents.h      \
352         ../gdk/gdkfont.h        \
353         ../gdk/gdkgc.h          \
354         ../gdk/gdkimage.h       \
355         ../gdk/gdkinput.h       \
356         ../gdk/gdkpixmap.h      \
357         ../gdk/gdkproperty.h    \
358         ../gdk/gdkregion.h      \
359         ../gdk/gdkrgb.h         \
360         ../gdk/gdkselection.h   \
361         ../gdk/gdktypes.h       \
362         ../gdk/gdkvisual.h      \
363         ../gdk/gdkwindow.h
364
365 ../config.h : ../config.h.win32
366         cp $< $@
367
368 GENERATED = gtk.defs gtktypebuiltins.h gtktypebuiltins_vars.c gtktypebuiltins_ids.c gtktypebuiltins_evals.c gtkmarshal.h gtkmarshal.c
369
370 #
371 # Generated source files:
372 #
373 generated : $(GENERATED)
374
375 gtk.defs : makeenums.pl gtk-boxed.defs $(gtk_public_h_sources) $(gdk_headers)
376         $(PERL) makeenums.pl defs $(gtk_public_h_sources) $(gdk_headers) >gd.tmp
377         cat gd.tmp gtk-boxed.defs >gtk.defs
378         rm gd.tmp
379
380 # generate type identifier header (GTK_TYPE_WIDGET_FLAGS)
381 gtktypebuiltins.h: gtk.defs maketypes.awk
382         $(AWK) -f maketypes.awk gtk.defs macros >gtktypebuiltins.h
383
384 # generate type identifier variables (GTK_TYPE_WIDGET_FLAGS)
385 gtktypebuiltins_vars.c: gtk.defs maketypes.awk
386         $(AWK) -f maketypes.awk gtk.defs variables >gtktypebuiltins_vars.c
387
388 # generate type entries for type-id registration
389 gtktypebuiltins_ids.c: gtk.defs maketypes.awk
390         $(AWK) -f maketypes.awk gtk.defs entries >gtktypebuiltins_ids.c
391
392 # generate enum value arrays
393 gtktypebuiltins_evals.c: makeenums.pl gtk.defs
394         $(PERL) makeenums.pl arrays $(gtk_public_h_sources) $(gdk_headers) >gtktypebuiltins_evals.c
395
396 gtkmarshal.h : gtkmarshal.list
397         $(GLIB_GENMARSHAL) --prefix=gtk_marshal gtkmarshal.list --header >gtkmarshal.h
398
399 gtkmarshal.c : gtkmarshal.list
400         $(GLIB_GENMARSHAL) --prefix=gtk_marshal gtkmarshal.list --body >gtkmarshal.c
401
402 #
403 # Linking:
404 #
405 gtk-win32-$(GTK_VER).dll : generated $(gtk_OBJECTS) gtk.def 
406         $(GLIB)/build-dll gtk-win32 $(GTK_VER) gtk.def $(gtk_OBJECTS) $(GDK_LIBS) $(GDK_PIXBUF_LIBS) $(PANGO_LIBS) $(GLIB_LIBS) $(LIBICONV_LIBS) $(INTL_LIBS) -luser32
407
408 #
409 # Test programs:
410 #
411 testcalendar.exe : testcalendar.o
412         $(CC) $(CFLAGS) -o $@ testcalendar.o $(GTK_LIBS) $(GDK_LIBS) $(PANGO_LIBS) $(GLIB_LIBS) $(LDFLAGS)
413
414 # Must have separate rules for these objects that don't go in the DLL
415 testcalendar.o : testcalendar.c
416         $(CC) $(CFLAGS) -UGTK_COMPILATION -c -DG_LOG_DOMAIN=\"testcalendar\" testcalendar.c
417
418 testdnd.exe : testdnd.o
419         $(CC) $(CFLAGS) -o $@ testdnd.o $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
420
421 testdnd.o : testdnd.c
422         $(CC) $(CFLAGS) -UGTK_COMPILATION -c -DG_LOG_DOMAIN=\"testdnd\" testdnd.c
423
424 testgtk.exe : testgtk.o
425         $(CC) $(CFLAGS) -o $@  testgtk.o $(GTK_LIBS) $(GDK_LIBS) $(PANGO_LIBS) $(GLIB_LIBS) $(LDFLAGS)
426
427 testgtk.o : testgtk.c
428         $(CC) $(CFLAGS) -UGTK_COMPILATION -c -DG_LOG_DOMAIN=\"testgtk\" testgtk.c
429
430 testinput.exe : testinput.o
431         $(CC) $(CFLAGS) -o $@  testinput.o $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
432
433 testinput.o : testinput.c
434         $(CC) $(CFLAGS) -UGTK_COMPILATION -c -DG_LOG_DOMAIN=\"testinput\" testinput.c
435
436 testrgb.exe : testrgb.o
437         $(CC) $(CFLAGS) -o $@  testrgb.o $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
438
439 testrgb.o : testrgb.c
440         $(CC) $(CFLAGS) -UGTK_COMPILATION -c -DG_LOG_DOMAIN=\"testrgb\" testrgb.c
441
442 testselection.exe : testselection.o
443         $(CC) $(CFLAGS) -o $@  testselection.o $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
444
445 testselection.o : testselection.c
446         $(CC) $(CFLAGS) -UGTK_COMPILATION -c -DG_LOG_DOMAIN=\"testselection\" testselection.c
447
448 testtext.exe : testtext.o
449         $(CC) $(CFLAGS) -o $@  testtext.o $(PANGO_LIBS) $(GDK_PIXBUF_LIBS) $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
450
451 testtext.o : testtext.c
452         $(CC) $(CFLAGS) -UGTK_COMPILATION -c -DG_LOG_DOMAIN=\"testtext\" testtext.c
453
454 testtextbuffer.exe : testtextbuffer.o
455         $(CC) $(CFLAGS) -o $@  testtextbuffer.o $(GDK_PIXBUF_LIBS) $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
456
457 testtextbuffer.o : testtextbuffer.c
458         $(CC) $(CFLAGS) -UGTK_COMPILATION -c -DG_LOG_DOMAIN=\"testtextbuffer\" testtextbuffer.c
459
460 simple.exe : simple.o
461         $(CC) $(CFLAGS) -o $@  simple.o $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
462
463 simple.o : simple.c
464         $(CC) $(CFLAGS) -UGTK_COMPILATION -c -DG_LOG_DOMAIN=\"simple\" simple.c
465
466 # The rmgen target removes just the generated source files
467 rmgen:
468         -rm $(GENERATED)
469
470 # Hack to get an updated makefile.mingw automatically after updating
471 # makefile.mingw.in. Only for developer use.
472 makefile.mingw: makefile.mingw.in
473         sed -e 's,@GTK_MAJOR[_]VERSION@,@GTK_MAJOR_VERSION@,' \
474             -e 's,@GTK_MINOR[_]VERSION@,@GTK_MINOR_VERSION@,' \
475             -e 's,@GTK[_]VERSION@,@GTK_VERSION@,' \
476             -e 's,@GDK_PIXBUF[_]MAJOR@,@GDK_PIXBUF_MAJOR@,'   \
477             -e 's,@GDK_PIXBUF[_]MINOR@,@GDK_PIXBUF_MINOR@,'     <$< >$@