forked from AuroraMiddleware/gtk
364272b5b9
2003-07-20 Hans Breuer <hans@breuer.org> * makefile.msc : new file to build it all * Makefile.am : ... added to EXTRA_DIST * gdk/makefile.msc gtk/stock-icons/makefile.msc gtk/makefile.msc.in tests/makefile.msc : updated * gdk/gdk.def gtk/gtk.def : export a bunch of new functions * gtk/gtkbbox.c : use g_return_val_if_fail() if there is a value to return * gtk/gtkfontsel.c gtk/gtkiconfactory.c : static correctness * gtk/gtkicontheme.c : ported to use GTimeVal instead of struct timeval and GTK_DATA_PREFIX instead of GTK_DATADIR * gtk/gtkicontheme.c : use HAVE_LC_MESSAGES * gtk/gtkimmulticontext.c : use gtkprivate.h * gtk/stock-icons/stock_color_picker_25.png gtk/stock-icons/stock_jump_to_rtl_16.png gtk/stock-icons/stock_jump_to_rtl_24.png gtk/stock-icons/stock_redo_rtl_16.png gtk/stock-icons/stock_redo_rtl_24.png gtk/stock-icons/stock_undelete_rtl_16.png gtk/stock-icons/stock_undelete_rtl_24.png gtk/stock-icons/stock_undo_rtl_16.png : gtk/stock-icons/stock_undo_rtl_24.png : readded as binary
487 lines
12 KiB
Plaintext
487 lines
12 KiB
Plaintext
## 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.
|
|
|
|
TOP = ..\..
|
|
!INCLUDE $(TOP)/glib/build/win32/make.msc
|
|
|
|
################################################################
|
|
|
|
# Possibly override versions from build/win32/module.defs
|
|
GTK_VER = @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@
|
|
GDK_PIXBUF_VER = @GDK_PIXBUF_MAJOR@.@GDK_PIXBUF_MINOR@
|
|
|
|
|
|
GDK_LIBS = ../gdk/gdk-win32-$(GTK_VER).lib
|
|
GTK_LIBS = gtk-win32-$(GTK_VER).lib
|
|
GDK_PIXBUF_LIBS = ../gdk-pixbuf/gdk_pixbuf-$(GDK_PIXBUF_VER).lib
|
|
GTK_BINARY_VERSION = @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@LT_CURRENT@
|
|
|
|
# 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
|
|
|
|
INCLUDES = -FImsvc_recommended_pragmas.h -I . -I .. -I ../gdk -I ../gdk-pixbuf
|
|
DEPCFLAGS = $(PANGO_CFLAGS) $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) \
|
|
$(INTL_CFLAGS) $(ATK_CFLAGS)
|
|
LDFLAGS = $(ATK_LIBS) /link /machine:ix86 $(LINKDEBUG)
|
|
# Some files use near as an identifier
|
|
# Don't define GTK_COMPILATION here, because it's for gtk-x.x.dll only
|
|
DEFINES = $(G_DEBUGGING) -DGTK_DISABLE_COMPAT_H -DG_LOG_DOMAIN=\"Gtk\" -Dnear=xxnear \
|
|
-DPANGO_ENABLE_BACKEND \
|
|
-DGTK_VERSION=\"$(GTK_VER)\" -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\" \
|
|
-DGTK_HOST=\"win32\"
|
|
|
|
TOUCH = copy makefile.msc+nul
|
|
|
|
gtk-stocks-icons :
|
|
cd stock-icons
|
|
nmake -nologo -f makefile.msc
|
|
cd ..
|
|
|
|
all : \
|
|
..\config.h \
|
|
generated \
|
|
gtk-stocks-icons \
|
|
libgtk-win32-$(GTK_VER)-0.dll \
|
|
gtk-query-immodules-$(GTK_VER).exe \
|
|
# gtk-win32-$(GTK_VER)s.lib \
|
|
# gtk-x11-$(GTK_VER).dll
|
|
|
|
gtk_OBJECTS = \
|
|
fnmatch.obj \
|
|
gtkaccelgroup.obj \
|
|
gtkaccellabel.obj \
|
|
gtkaccelmap.obj \
|
|
gtkaccessible.obj \
|
|
gtkadjustment.obj \
|
|
gtkalignment.obj \
|
|
gtkarrow.obj \
|
|
gtkaspectframe.obj \
|
|
gtkbin.obj \
|
|
gtkbindings.obj \
|
|
gtkbbox.obj \
|
|
gtkbox.obj \
|
|
gtkbutton.obj \
|
|
gtkcalendar.obj \
|
|
gtkcelleditable.obj \
|
|
gtkcelllayout.obj \
|
|
gtkcellrenderer.obj \
|
|
gtkcellrenderertext.obj \
|
|
gtkcellrenderertoggle.obj \
|
|
gtkcellrendererpixbuf.obj \
|
|
gtkcheckbutton.obj \
|
|
gtkcheckmenuitem.obj \
|
|
gtkclipboard.obj \
|
|
gtkclist.obj \
|
|
gtkcolorbutton.obj \
|
|
gtkcolorsel.obj \
|
|
gtkcolorseldialog.obj \
|
|
gtkcombo.obj \
|
|
gtkcontainer.obj \
|
|
gtkctree.obj \
|
|
gtkcurve.obj \
|
|
gtkdialog.obj \
|
|
gtkdnd.obj \
|
|
gtkdrawingarea.obj \
|
|
gtkeditable.obj \
|
|
gtkentry.obj \
|
|
gtkentrycompletion.obj \
|
|
gtkeventbox.obj \
|
|
gtkexpander.obj \
|
|
gtkfilesel.obj \
|
|
gtkfixed.obj \
|
|
gtkfontsel.obj \
|
|
gtkfontbutton.obj \
|
|
gtkframe.obj \
|
|
gtkgamma.obj \
|
|
gtkgc.obj \
|
|
gtkhandlebox.obj \
|
|
gtkhbbox.obj \
|
|
gtkhbox.obj \
|
|
gtkhpaned.obj \
|
|
gtkhruler.obj \
|
|
gtkhscale.obj \
|
|
gtkhscrollbar.obj \
|
|
gtkhseparator.obj \
|
|
gtkhsv.obj \
|
|
gtkiconfactory.obj \
|
|
gtkicontheme.obj \
|
|
gtkiconthemeparser.obj \
|
|
gtkimage.obj \
|
|
gtkimagemenuitem.obj \
|
|
gtkimcontext.obj \
|
|
gtkimcontextsimple.obj \
|
|
gtkimmodule.obj \
|
|
gtkimmulticontext.obj \
|
|
gtkinputdialog.obj \
|
|
gtkinvisible.obj \
|
|
gtkitem.obj \
|
|
gtkitemfactory.obj \
|
|
gtkkeyhash.obj \
|
|
gtklabel.obj \
|
|
gtklayout.obj \
|
|
gtklist.obj \
|
|
gtklistitem.obj \
|
|
gtkliststore.obj \
|
|
gtkmain.obj \
|
|
gtkmarshalers.obj \
|
|
gtkmarshal.obj \
|
|
gtkmenu.obj \
|
|
gtkmenubar.obj \
|
|
gtkmenuitem.obj \
|
|
gtkmenushell.obj \
|
|
gtkmessagedialog.obj \
|
|
gtkmisc.obj \
|
|
gtknotebook.obj \
|
|
gtkobject.obj \
|
|
gtkoldeditable.obj \
|
|
gtkoptionmenu.obj \
|
|
gtkpaned.obj \
|
|
gtkpixmap.obj \
|
|
# gtkplug.obj \
|
|
gtkpreview.obj \
|
|
gtkprogress.obj \
|
|
gtkprogressbar.obj \
|
|
gtkradiobutton.obj \
|
|
gtkradiotoolbutton.obj \
|
|
gtkradiomenuitem.obj \
|
|
gtkrange.obj \
|
|
gtkrbtree.obj \
|
|
gtkrc.obj \
|
|
gtkruler.obj \
|
|
gtkscale.obj \
|
|
gtkscrollbar.obj \
|
|
gtkscrolledwindow.obj \
|
|
gtkselection.obj \
|
|
gtkseparator.obj \
|
|
gtkseparatormenuitem.obj \
|
|
gtkseparatortoolitem.obj \
|
|
gtksettings.obj \
|
|
gtksignal.obj \
|
|
gtksizegroup.obj \
|
|
# gtksocket.obj \
|
|
gtkspinbutton.obj \
|
|
gtkstyle.obj \
|
|
gtkstatusbar.obj \
|
|
gtkstock.obj \
|
|
gtktable.obj \
|
|
gtktearoffmenuitem.obj \
|
|
gtktext.obj \
|
|
gtktextbtree.obj \
|
|
gtktextbuffer.obj \
|
|
gtktextchild.obj \
|
|
gtktextdisplay.obj \
|
|
gtktextiter.obj \
|
|
gtktextlayout.obj \
|
|
gtktextmark.obj \
|
|
gtktextsegment.obj \
|
|
gtktexttag.obj \
|
|
gtktexttagtable.obj \
|
|
gtktexttypes.obj \
|
|
gtktextutil.obj \
|
|
gtktextview.obj \
|
|
gtkthemes.obj \
|
|
gtktipsquery.obj \
|
|
gtktogglebutton.obj \
|
|
gtktoggletoolbutton.obj \
|
|
gtktoolbar.obj \
|
|
gtktoolbutton.obj \
|
|
gtktoolitem.obj \
|
|
gtktooltips.obj \
|
|
gtktree.obj \
|
|
gtktreedatalist.obj \
|
|
gtktreednd.obj \
|
|
gtktreeitem.obj \
|
|
gtktreemodel.obj \
|
|
gtktreemodelfilter.obj \
|
|
gtktreemodelsort.obj \
|
|
gtktreeselection.obj \
|
|
gtktreesortable.obj \
|
|
gtktreestore.obj \
|
|
gtktreeview.obj \
|
|
gtktreeviewcolumn.obj \
|
|
gtktypeutils.obj \
|
|
gtktypebuiltins.obj \
|
|
gtkvbbox.obj \
|
|
gtkvbox.obj \
|
|
gtkviewport.obj \
|
|
gtkvpaned.obj \
|
|
gtkvruler.obj \
|
|
gtkvscale.obj \
|
|
gtkvscrollbar.obj \
|
|
gtkvseparator.obj \
|
|
gtkwidget.obj \
|
|
gtkwindow.obj \
|
|
gtkwindow-decorate.obj
|
|
|
|
# Source headers which are non-autogenerated headers
|
|
gtk_public_h_sources = \
|
|
gtk.h \
|
|
gtkaccelgroup.h \
|
|
gtkaccellabel.h \
|
|
gtkaccelmap.h \
|
|
gtkaccessible.h \
|
|
gtkadjustment.h \
|
|
gtkalignment.h \
|
|
gtkarrow.h \
|
|
gtkaspectframe.h \
|
|
gtkbbox.h \
|
|
gtkbin.h \
|
|
gtkbindings.h \
|
|
gtkbox.h \
|
|
gtkbutton.h \
|
|
gtkcalendar.h \
|
|
gtkcelleditable.h \
|
|
gtkcelllayout.h \
|
|
gtkcellrenderer.h \
|
|
gtkcellrendererpixbuf.h \
|
|
gtkcellrenderertext.h \
|
|
gtkcellrenderertoggle.h \
|
|
gtkcheckbutton.h \
|
|
gtkcheckmenuitem.h \
|
|
gtkclipboard.h \
|
|
gtkclist.h \
|
|
gtkclipboard.h \
|
|
gtkcolorbutton.h \
|
|
gtkcolorsel.h \
|
|
gtkcolorseldialog.h \
|
|
gtkcombo.h \
|
|
gtkcontainer.h \
|
|
gtkctree.h \
|
|
gtkcurve.h \
|
|
gtkdebug.h \
|
|
gtkdialog.h \
|
|
gtkdnd.h \
|
|
gtkdrawingarea.h \
|
|
gtkeditable.h \
|
|
gtkentry.h \
|
|
gtkentrycompletion.h \
|
|
gtkenums.h \
|
|
gtkeventbox.h \
|
|
gtkexpander.h \
|
|
gtkfilesel.h \
|
|
gtkfixed.h \
|
|
gtkfontbutton.h \
|
|
gtkfontsel.h \
|
|
gtkframe.h \
|
|
gtkgamma.h \
|
|
gtkgc.h \
|
|
gtkhandlebox.h \
|
|
gtkhbbox.h \
|
|
gtkhbox.h \
|
|
gtkhpaned.h \
|
|
gtkhruler.h \
|
|
gtkhscale.h \
|
|
gtkhscrollbar.h \
|
|
gtkhseparator.h \
|
|
gtkhsv.h \
|
|
gtkiconfactory.h \
|
|
gtkicontheme.h \
|
|
gtkimage.h \
|
|
gtkimagemenuitem.h \
|
|
gtkimcontext.h \
|
|
gtkimcontextsimple.h \
|
|
gtkimmodule.h \
|
|
gtkimmulticontext.h \
|
|
gtkinputdialog.h \
|
|
gtkinvisible.h \
|
|
gtkitem.h \
|
|
gtkitemfactory.h \
|
|
gtklabel.h \
|
|
gtklayout.h \
|
|
gtklist.h \
|
|
gtklistitem.h \
|
|
gtkliststore.h \
|
|
gtkmain.h \
|
|
gtkmarshal.h \
|
|
gtkmenu.h \
|
|
gtkmenubar.h \
|
|
gtkmenuitem.h \
|
|
gtkmenushell.h \
|
|
gtkmessagedialog.h \
|
|
gtkmisc.h \
|
|
gtknotebook.h \
|
|
gtkobject.h \
|
|
gtkoldeditable.h \
|
|
gtkoptionmenu.h \
|
|
gtkpaned.h \
|
|
gtkpixmap.h \
|
|
gtkplug.h \
|
|
gtkpreview.h \
|
|
gtkprivate.h \
|
|
gtkprogress.h \
|
|
gtkprogressbar.h \
|
|
gtkradiobutton.h \
|
|
gtkradiomenuitem.h \
|
|
gtkradiotoolbutton.h \
|
|
gtkrange.h \
|
|
gtkrc.h \
|
|
gtkruler.h \
|
|
gtkscale.h \
|
|
gtkscrollbar.h \
|
|
gtkscrolledwindow.h \
|
|
gtkselection.h \
|
|
gtkseparator.h \
|
|
gtkseparatormenuitem.h \
|
|
gtkseparatortoolitem.h \
|
|
gtksettings.h \
|
|
gtksignal.h \
|
|
gtksizegroup.h \
|
|
gtksignal.h \
|
|
gtksocket.h \
|
|
gtkspinbutton.h \
|
|
gtkstatusbar.h \
|
|
gtkstock.h \
|
|
gtkstyle.h \
|
|
gtktable.h \
|
|
gtktearoffmenuitem.h \
|
|
gtktext.h \
|
|
gtktextbuffer.h \
|
|
gtktextchild.h \
|
|
gtktextdisplay.h \
|
|
gtktextiter.h \
|
|
gtktextlayout.h \
|
|
gtktextmark.h \
|
|
gtktexttag.h \
|
|
gtktexttagtable.h \
|
|
gtktextview.h \
|
|
gtktipsquery.h \
|
|
gtktogglebutton.h \
|
|
gtktoggletoolbutton.h \
|
|
gtktoolbar.h \
|
|
gtktoolbutton.h \
|
|
gtktoolitem.h \
|
|
gtktooltips.h \
|
|
gtktree.h \
|
|
gtktreednd.h \
|
|
gtktreeitem.h \
|
|
gtktreemodel.h \
|
|
gtktreemodelfilter.h \
|
|
gtktreemodelsort.h \
|
|
gtktreeselection.h \
|
|
gtktreesortable.h \
|
|
gtktreestore.h \
|
|
gtktreeview.h \
|
|
gtktreeviewcolumn.h \
|
|
gtktypeutils.h \
|
|
gtkvbbox.h \
|
|
gtkvbox.h \
|
|
gtkviewport.h \
|
|
gtkvpaned.h \
|
|
gtkvruler.h \
|
|
gtkvscale.h \
|
|
gtkvscrollbar.h \
|
|
gtkvseparator.h \
|
|
gtkwidget.h \
|
|
gtkwindow.h
|
|
|
|
# these aren't use here, but listed for reference
|
|
gtk_extra_sources = \
|
|
gtkversion.h \
|
|
gtk-boxed.defs \
|
|
gtkmarshal.list \
|
|
|
|
..\config.h : ..\config.h.win32
|
|
copy ..\config.h.win32 ..\config.h
|
|
|
|
# Removed: gtk.defs
|
|
GENERATED = gtktypebuiltins.h gtktypebuiltins.c gtkmarshal.h gtkmarshal.c gtkmarshalers.h gtkmarshalers.c
|
|
|
|
#
|
|
# Generated source files:
|
|
#
|
|
generated : $(GENERATED)
|
|
$(TOUCH) generated
|
|
|
|
gtk.defs : $(gtk_public_h_sources) makefile.msc
|
|
$(PERL) $(GLIB)\gobject\glib-mkenums \
|
|
--comments ";; @comment@" \
|
|
--fprod "; enumerations from \"@filename@\"\n " \
|
|
--vhead "(define-@type@ @EnumName@" \
|
|
--vprod " (@valuenick@ @VALUENAME@)" \
|
|
--vtail ")" \
|
|
$(gtk_public_h_sources) > xgen-gdef
|
|
copy xgen-gdef gtk.defs
|
|
|
|
# generate type identifier header (GTK_TYPE_WIDGET_FLAGS)
|
|
# 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
|
|
|
|
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
|
|
|
|
# private marshalers
|
|
gtkmarshalers.h : gtkmarshalers.list
|
|
$(GLIB)\gobject\glib-genmarshal --prefix=_gtk_marshal gtkmarshalers.list --header >>gtkmarshalers.h
|
|
|
|
gtkmarshalers.c : gtkmarshalers.list
|
|
$(GLIB)\gobject\glib-genmarshal --prefix=_gtk_marshal gtkmarshalers.list --body >gtkmarshalers.c
|
|
|
|
# public, deprecated marshalers
|
|
gtkmarshal.h : gtkmarshal.list
|
|
echo #ifndef GTK_DISABLE_DEPRECATED >gtkmarshal.h
|
|
$(GLIB)\gobject\glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --header >>gtkmarshal.h
|
|
echo #endif /* GTK_DISABLE_DEPRECATED */ >>gtkmarshal.h
|
|
|
|
gtkmarshal.c : gtkmarshal.list
|
|
$(GLIB)\gobject\glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --body >gtkmarshal.c
|
|
|
|
gtksignal.obj : gtksignal.c gtkmarshal.c gtkmarshal.h
|
|
$(CC) $(CFLAGS) -GD -c -DGTK_COMPILATION -DG_LOG_DOMAIN=\"Gtk\" gtksignal.c
|
|
|
|
#
|
|
# Linking:
|
|
#
|
|
libgtk-win32-$(GTK_VER)-0.dll : $(gtk_OBJECTS) gtk.def
|
|
$(CC) $(CFLAGS) -LD -Fm -Fe$@ $(gtk_OBJECTS) \
|
|
$(GDK_LIBS) $(GDK_PIXBUF_LIBS) $(PANGO_LIBS) $(INTL_LIBS) $(GLIB_LIBS) \
|
|
gdi32.lib user32.lib advapi32.lib wsock32.lib \
|
|
$(LDFLAGS) /implib:gtk-win32-$(GTK_VER).lib /def:gtk.def
|
|
|
|
gtk-win32-$(GTK_VER)s.lib : $(gtk_OBJECTS)
|
|
lib /out:gtk-win32-$(GTK_VER)s.lib $(gtk_OBJECTS)
|
|
|
|
gtk-query-immodules-$(GTK_VER).exe : queryimmodules.obj
|
|
$(CC) $(CFLAGS) -Fe$@ queryimmodules.obj $(GTK_LIBS) $(GLIB_LIBS) $(PANGO_LIBS) $(LDFLAGS)
|
|
|
|
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
|
|
|
|
# General rule for compiling the objects into the DLL
|
|
.c.obj :
|
|
$(CC) $(CFLAGS) -GD -c -DGTK_COMPILATION -DG_LOG_DOMAIN=\"Gtk\" $<
|
|
|
|
$(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)
|
|
|
|
makefile.msc: makefile.msc.in
|
|
sed -e s,@GTK[_]MAJOR_VERSION@,@GTK_MAJOR_VERSION@, \
|
|
-e s,@GTK[_]MINOR_VERSION@,@GTK_MINOR_VERSION@, \
|
|
-e 's,@GTK[_]VERSION@,@GTK_VERSION@,' \
|
|
-e 's,@GDK_PIXBUF[_]MAJOR@,@GDK_PIXBUF_MAJOR@,' \
|
|
-e 's,@GDK_PIXBUF[_]MINOR@,@GDK_PIXBUF_MINOR@,' <makefile.msc.in >$@
|