forked from AuroraMiddleware/gtk
d9eb9ba9d6
2001-11-18 Hans Breuer <hans@breuer.org> * gtk/gdkaccelmap.c : make it compile with msvc: !HAVE_UNISTD_H; no label without op, even if it's a no-op. * gtk/gtk.def : * gtk/makefile.msc.in : reflect marshaler split, some clean-up * config.h.win32.in : remove definition of HAVE_DIRENT_H * gtk/gtkfilesel.c : due to GDir (new in glib) DIR isn't required anymore, replace it. * gtk/queryimmodules.c : DIR -> GDir replacement, also getcwd() -> g_get_current_dir() * gdk/win32/gdkgeometry-win32.c : adapt to refactored gdkgeometry-x11.c Even 'noisy laugh' scolling appears to work, though I still can't claim to have fully understood what it is supposed to do ...
435 lines
11 KiB
Plaintext
435 lines
11 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 = -I . -I .. -I ../gdk -I ../gdk-pixbuf -DPANGO_ENABLE_BACKEND
|
|
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 \
|
|
-DGTK_VERSION=\"$(GTK_VER)\" -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\"
|
|
|
|
TOUCH = copy makefile.msc+nul
|
|
|
|
gtk-stocks-icons :
|
|
cd stock-icons
|
|
nmake -nologo -f makefile.msc
|
|
cd ..
|
|
|
|
all : \
|
|
..\config.h \
|
|
generated \
|
|
gtk-stocks-icons \
|
|
gtk-win32-$(GTK_VER).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 \
|
|
gtkcellrenderer.obj \
|
|
gtkcellrenderertext.obj \
|
|
gtkcellrenderertoggle.obj \
|
|
gtkcellrendererpixbuf.obj \
|
|
gtkcheckbutton.obj \
|
|
gtkcheckmenuitem.obj \
|
|
gtkclipboard.obj \
|
|
gtkclist.obj \
|
|
gtkcolorsel.obj \
|
|
gtkcolorseldialog.obj \
|
|
gtkcombo.obj \
|
|
gtkcontainer.obj \
|
|
gtkctree.obj \
|
|
gtkcurve.obj \
|
|
gtkdialog.obj \
|
|
gtkdnd.obj \
|
|
gtkdrawingarea.obj \
|
|
gtkeditable.obj \
|
|
gtkentry.obj \
|
|
gtkeventbox.obj \
|
|
gtkfilesel.obj \
|
|
gtkfixed.obj \
|
|
gtkfontsel.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 \
|
|
gtkimage.obj \
|
|
gtkimagemenuitem.obj \
|
|
gtkimcontext.obj \
|
|
gtkimcontextsimple.obj \
|
|
gtkimmodule.obj \
|
|
gtkimmulticontext.obj \
|
|
gtkinputdialog.obj \
|
|
gtkinvisible.obj \
|
|
gtkitem.obj \
|
|
gtkitemfactory.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 \
|
|
gtkradiomenuitem.obj \
|
|
gtkrange.obj \
|
|
gtkrbtree.obj \
|
|
gtkrc.obj \
|
|
gtkruler.obj \
|
|
gtkscale.obj \
|
|
gtkscrollbar.obj \
|
|
gtkscrolledwindow.obj \
|
|
gtkselection.obj \
|
|
gtkseparator.obj \
|
|
gtkseparatormenuitem.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 \
|
|
gtktextview.obj \
|
|
gtkthemes.obj \
|
|
gtktipsquery.obj \
|
|
gtktogglebutton.obj \
|
|
gtktoolbar.obj \
|
|
gtktooltips.obj \
|
|
gtktree.obj \
|
|
gtktreedatalist.obj \
|
|
gtktreednd.obj \
|
|
gtktreeitem.obj \
|
|
gtktreemodel.obj \
|
|
gtktreemodelsort.obj \
|
|
gtktreeselection.obj \
|
|
gtktreesortable.obj \
|
|
gtktreestore.obj \
|
|
gtktreeview.obj \
|
|
gtktreeviewcolumn.obj \
|
|
gtktypeutils.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 \
|
|
gtkaccessible.h \
|
|
gtkadjustment.h \
|
|
gtkalignment.h \
|
|
gtkarrow.h \
|
|
gtkaspectframe.h \
|
|
gtkbin.h \
|
|
gtkbindings.h \
|
|
gtkbbox.h \
|
|
gtkbox.h \
|
|
gtkbutton.h \
|
|
gtkcalendar.h \
|
|
gtkcheckbutton.h \
|
|
gtkcheckmenuitem.h \
|
|
gtkclist.h \
|
|
gtkclipboard.h \
|
|
gtkcolorsel.h \
|
|
gtkcolorseldialog.h \
|
|
gtkcombo.h \
|
|
gtkcontainer.h \
|
|
gtkctree.h \
|
|
gtkcurve.h \
|
|
gtkcelleditable.h \
|
|
gtkcellrenderer.h \
|
|
gtkcellrenderertext.h \
|
|
gtkcellrenderertoggle.h \
|
|
gtkcellrendererpixbuf.h \
|
|
gtkdebug.h \
|
|
gtkdialog.h \
|
|
gtkdnd.h \
|
|
gtkdrawingarea.h \
|
|
gtkeditable.h \
|
|
gtkentry.h \
|
|
gtkenums.h \
|
|
gtkeventbox.h \
|
|
gtkfilesel.h \
|
|
gtkfixed.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 \
|
|
gtkimage.h \
|
|
gtkimcontext.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 \
|
|
gtkoldeditable.h \
|
|
gtkobject.h \
|
|
gtkoptionmenu.h \
|
|
gtkpaned.h \
|
|
gtkpixmap.h \
|
|
gtkplug.h \
|
|
gtkpreview.h \
|
|
gtkprivate.h \
|
|
gtkprogress.h \
|
|
gtkprogressbar.h \
|
|
gtkradiobutton.h \
|
|
gtkradiomenuitem.h \
|
|
gtkrange.h \
|
|
gtkrc.h \
|
|
gtkruler.h \
|
|
gtkscale.h \
|
|
gtkscrollbar.h \
|
|
gtkscrolledwindow.h \
|
|
gtkselection.h \
|
|
gtkseparator.h \
|
|
gtksizegroup.h \
|
|
gtksignal.h \
|
|
gtksocket.h \
|
|
gtkspinbutton.h \
|
|
gtkstyle.h \
|
|
gtkstatusbar.h \
|
|
gtkstock.h \
|
|
gtktable.h \
|
|
gtktearoffmenuitem.h \
|
|
gtktextbuffer.h \
|
|
gtktextchild.h \
|
|
gtktextdisplay.h \
|
|
gtktextiter.h \
|
|
gtktextlayout.h \
|
|
gtktextmark.h \
|
|
gtktexttag.h \
|
|
gtktexttagtable.h \
|
|
gtktextview.h \
|
|
gtktext.h \
|
|
gtktipsquery.h \
|
|
gtktogglebutton.h \
|
|
gtktoolbar.h \
|
|
gtktooltips.h \
|
|
gtktree.h \
|
|
gtktreeitem.h \
|
|
gtktreemodel.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 \
|
|
maketypes.awk \
|
|
makeenums.h \
|
|
gtk-boxed.defs \
|
|
gtkmarshal.list \
|
|
|
|
..\config.h : ..\config.h.win32
|
|
copy ..\config.h.win32 ..\config.h
|
|
|
|
GENERATED = gtk.defs gtktypebuiltins.h gtktypebuiltins_vars.c gtktypebuiltins_ids.c gtktypebuiltins_evals.c gtkmarshal.h gtkmarshal.c gtkmarshalers.h gtkmarshalers.c
|
|
|
|
#
|
|
# Generated source files:
|
|
#
|
|
generated : $(GENERATED)
|
|
$(TOUCH) generated
|
|
|
|
gtk.defs : makeenums.pl gtk-boxed.defs $(gtk_public_h_sources) makefile.msc
|
|
$(PERL) makeenums.pl defs $(gtk_public_h_sources) >gd.tmp
|
|
copy gd.tmp+gtk-boxed.defs gtk.defs
|
|
@erase gd.tmp
|
|
|
|
# generate type identifier header (GTK_TYPE_WIDGET_FLAGS)
|
|
gtktypebuiltins.h: gtk.defs maketypes.awk
|
|
$(AWK) -f maketypes.awk gtk.defs macros >gtktypebuiltins.h
|
|
|
|
# generate type identifier variables (GTK_TYPE_WIDGET_FLAGS)
|
|
gtktypebuiltins_vars.c: gtk.defs maketypes.awk
|
|
$(AWK) -f maketypes.awk gtk.defs variables >gtktypebuiltins_vars.c
|
|
|
|
# generate type entries for type-id registration
|
|
gtktypebuiltins_ids.c: gtk.defs maketypes.awk
|
|
$(AWK) -f maketypes.awk gtk.defs entries >gtktypebuiltins_ids.c
|
|
|
|
# generate enum value arrays
|
|
gtktypebuiltins_evals.c: makeenums.pl gtk.defs
|
|
$(PERL) makeenums.pl arrays $(gtk_public_h_sources) $(gdk_headers) >gtktypebuiltins_evals.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:
|
|
#
|
|
gtk-win32-$(GTK_VER).dll : $(gtk_OBJECTS) gtk.def
|
|
$(CC) $(CFLAGS) -LD -Fm -Fegtk-win32-$(GTK_VER).dll $(gtk_OBJECTS) $(GDK_LIBS) $(GDK_PIXBUF_LIBS) $(PANGO_LIBS) $(INTL_LIBS) $(GLIB_LIBS) gdi32.lib user32.lib advapi32.lib wsock32.lib $(LDFLAGS) /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 >$@
|