forked from AuroraMiddleware/gtk
447 lines
11 KiB
Plaintext
447 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)/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
|
||
|
|
||
|
# 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
|
||
|
DEPCFLAGS = $(PANGO_CFLAGS) $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) $(INTL_CFLAGS)
|
||
|
LDFLAGS = /link /machine:ix86 $(LINKDEBUG)
|
||
|
# Some files use near as an identifier
|
||
|
DEFINES = -DGTK_DISABLE_COMPAT_H -DGTK_COMPILATION -DG_LOG_DOMAIN=\"Gtk\" -Dnear=xxnear
|
||
|
|
||
|
TOUCH = copy makefile.msc+nul
|
||
|
|
||
|
GTK_VER=1.3
|
||
|
|
||
|
all : \
|
||
|
..\config.h \
|
||
|
gtkcompat.h \
|
||
|
generated \
|
||
|
gtk-win32-$(GTK_VER).dll \
|
||
|
testcalendar.exe \
|
||
|
testdnd.exe \
|
||
|
testgtk.exe \
|
||
|
testinput.exe \
|
||
|
testrgb.exe \
|
||
|
testselection.exe \
|
||
|
testtext.exe \
|
||
|
testtextbuffer.exe \
|
||
|
simple.exe
|
||
|
|
||
|
gtk_OBJECTS = \
|
||
|
fnmatch.obj \
|
||
|
gdk-pixbuf-loader.obj \
|
||
|
gtkaccelgroup.obj \
|
||
|
gtkaccellabel.obj \
|
||
|
gtkadjustment.obj \
|
||
|
gtkalignment.obj \
|
||
|
gtkarg.obj \
|
||
|
gtkarrow.obj \
|
||
|
gtkaspectframe.obj \
|
||
|
gtkbin.obj \
|
||
|
gtkbindings.obj \
|
||
|
gtkbbox.obj \
|
||
|
gtkbox.obj \
|
||
|
gtkbutton.obj \
|
||
|
gtkcalendar.obj \
|
||
|
gtkcheckbutton.obj \
|
||
|
gtkcheckmenuitem.obj \
|
||
|
gtkclipboard.obj \
|
||
|
gtkclist.obj \
|
||
|
gtkcolorsel.obj \
|
||
|
gtkcolorseldialog.obj \
|
||
|
gtkcombo.obj \
|
||
|
gtkcontainer.obj \
|
||
|
gtkctree.obj \
|
||
|
gtkcurve.obj \
|
||
|
gtkdata.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 \
|
||
|
gtkimcontext.obj \
|
||
|
gtkimcontextsimple.obj \
|
||
|
gtkimmulticontext.obj \
|
||
|
gtkinputdialog.obj \
|
||
|
gtkinvisible.obj \
|
||
|
gtkitem.obj \
|
||
|
gtkitemfactory.obj \
|
||
|
gtklabel.obj \
|
||
|
gtklayout.obj \
|
||
|
gtklist.obj \
|
||
|
gtklistitem.obj \
|
||
|
gtkmain.obj \
|
||
|
gtkmarshal.obj \
|
||
|
gtkmenu.obj \
|
||
|
gtkmenubar.obj \
|
||
|
gtkmenufactory.obj \
|
||
|
gtkmenuitem.obj \
|
||
|
gtkmenushell.obj \
|
||
|
gtkmessagedialog.obj \
|
||
|
gtkmisc.obj \
|
||
|
gtknotebook.obj \
|
||
|
gtkobject.obj \
|
||
|
gtkoptionmenu.obj \
|
||
|
gtkpacker.obj \
|
||
|
gtkpaned.obj \
|
||
|
gtkpixmap.obj \
|
||
|
gtkplug.obj \
|
||
|
gtkpreview.obj \
|
||
|
gtkprogress.obj \
|
||
|
gtkprogressbar.obj \
|
||
|
gtkradiobutton.obj \
|
||
|
gtkradiomenuitem.obj \
|
||
|
gtkrange.obj \
|
||
|
gtkrc.obj \
|
||
|
gtkruler.obj \
|
||
|
gtkscale.obj \
|
||
|
gtkscrollbar.obj \
|
||
|
gtkscrolledwindow.obj \
|
||
|
gtkselection.obj \
|
||
|
gtkseparator.obj \
|
||
|
gtksignal.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 \
|
||
|
gtktreeitem.obj \
|
||
|
gtktypeutils.obj \
|
||
|
gtkvbbox.obj \
|
||
|
gtkvbox.obj \
|
||
|
gtkviewport.obj \
|
||
|
gtkvpaned.obj \
|
||
|
gtkvruler.obj \
|
||
|
gtkvscale.obj \
|
||
|
gtkvscrollbar.obj \
|
||
|
gtkvseparator.obj \
|
||
|
gtkwidget.obj \
|
||
|
gtkwindow.obj
|
||
|
|
||
|
# Source headers which are non-autogenerated headers
|
||
|
source_headers = \
|
||
|
gtk.h \
|
||
|
gtkaccelgroup.h \
|
||
|
gtkaccellabel.h \
|
||
|
gtkadjustment.h \
|
||
|
gtkalignment.h \
|
||
|
gtkarg.h \
|
||
|
gtkarrow.h \
|
||
|
gtkaspectframe.h \
|
||
|
gtkbin.h \
|
||
|
gtkbindings.h \
|
||
|
gtkbbox.h \
|
||
|
gtkbox.h \
|
||
|
gtkbutton.h \
|
||
|
gtkcalendar.h \
|
||
|
gtkcheckbutton.h \
|
||
|
gtkcheckmenuitem.h \
|
||
|
gtkclist.h \
|
||
|
gtkcolorsel.h \
|
||
|
gtkcolorseldialog.h \
|
||
|
gtkcombo.h \
|
||
|
gtkcompat.h \
|
||
|
gtkcontainer.h \
|
||
|
gtkctree.h \
|
||
|
gtkcurve.h \
|
||
|
gtkdata.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 \
|
||
|
gtkimage.h \
|
||
|
gtkimcontext.h \
|
||
|
gtkimmulticontext.h \
|
||
|
gtkinputdialog.h \
|
||
|
gtkinvisible.h \
|
||
|
gtkitem.h \
|
||
|
gtkitemfactory.h \
|
||
|
gtklabel.h \
|
||
|
gtklayout.h \
|
||
|
gtklist.h \
|
||
|
gtklistitem.h \
|
||
|
gtkmain.h \
|
||
|
gtkmenu.h \
|
||
|
gtkmenubar.h \
|
||
|
gtkmenufactory.h \
|
||
|
gtkmenuitem.h \
|
||
|
gtkmenushell.h \
|
||
|
gtkmisc.h \
|
||
|
gtknotebook.h \
|
||
|
gtkobject.h \
|
||
|
gtkoptionmenu.h \
|
||
|
gtkpacker.h \
|
||
|
gtkpaned.h \
|
||
|
gdk-pixbuf-loader.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 \
|
||
|
gtksignal.h \
|
||
|
gtksocket.h \
|
||
|
gtkspinbutton.h \
|
||
|
gtkstyle.h \
|
||
|
gtkstatusbar.h \
|
||
|
gtktable.h \
|
||
|
gtktearoffmenuitem.h \
|
||
|
gtktextbuffer.h \
|
||
|
gtktextiter.h \
|
||
|
gtktextmark.h \
|
||
|
gtktexttag.h \
|
||
|
gtktexttagtable.h \
|
||
|
gtktextview.h \
|
||
|
gtktext.h \
|
||
|
gtkthemes.h \
|
||
|
gtktipsquery.h \
|
||
|
gtktogglebutton.h \
|
||
|
gtktoolbar.h \
|
||
|
gtktooltips.h \
|
||
|
gtktree.h \
|
||
|
gtktreeitem.h \
|
||
|
gtktypeutils.h \
|
||
|
gtkvbbox.h \
|
||
|
gtkvbox.h \
|
||
|
gtkviewport.h \
|
||
|
gtkvpaned.h \
|
||
|
gtkvruler.h \
|
||
|
gtkvscale.h \
|
||
|
gtkvscrollbar.h \
|
||
|
gtkvseparator.h \
|
||
|
gtkwidget.h \
|
||
|
gtkwindow.h
|
||
|
|
||
|
# More headers to use when autogenerating.
|
||
|
gdk_headers = \
|
||
|
..\gdk\gdkcc.h \
|
||
|
..\gdk\gdkcolor.h \
|
||
|
..\gdk\gdkcursor.h \
|
||
|
..\gdk\gdkdnd.h \
|
||
|
..\gdk\gdkdrawable.h \
|
||
|
..\gdk\gdkevents.h \
|
||
|
..\gdk\gdkfont.h \
|
||
|
..\gdk\gdkgc.h \
|
||
|
..\gdk\gdkim.h \
|
||
|
..\gdk\gdkimage.h \
|
||
|
..\gdk\gdkinput.h \
|
||
|
..\gdk\gdkpixmap.h \
|
||
|
..\gdk\gdkproperty.h \
|
||
|
..\gdk\gdkregion.h \
|
||
|
..\gdk\gdkrgb.h \
|
||
|
..\gdk\gdkselection.h \
|
||
|
..\gdk\gdktypes.h \
|
||
|
..\gdk\gdkvisual.h \
|
||
|
..\gdk\gdkwindow.h
|
||
|
|
||
|
..\config.h : ..\config.h.win32
|
||
|
copy ..\config.h.win32 ..\config.h
|
||
|
|
||
|
gtkcompat.h : gtkcompat.h.win32
|
||
|
copy gtkcompat.h.win32 gtkcompat.h
|
||
|
|
||
|
GENERATED = gtk.defs gtktypebuiltins.h gtktypebuiltins_vars.c gtktypebuiltins_ids.c gtktypebuiltins_evals.c gtkmarshal.h gtkmarshal.c
|
||
|
|
||
|
#
|
||
|
# Generated source files:
|
||
|
#
|
||
|
generated : $(GENERATED)
|
||
|
$(TOUCH) generated
|
||
|
|
||
|
gtk.defs : makeenums.pl gtk-boxed.defs $(source_headers) $(gdk_headers)
|
||
|
$(PERL) makeenums.pl defs $(source_headers) $(gdk_headers) >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 $(source_headers) $(gdk_headers) >gtktypebuiltins_evals.c
|
||
|
|
||
|
gtkmarshal.h gtkmarshal.c : gtkmarshal.list genmarshal.pl
|
||
|
$(PERL) genmarshal.pl gtkmarshal.list s-gmh s-gmc
|
||
|
del gtkmarshal.c
|
||
|
rename s-gmc gtkmarshal.c
|
||
|
del gtkmarshal.h
|
||
|
rename s-gmh gtkmarshal.h
|
||
|
|
||
|
#
|
||
|
# Linking:
|
||
|
#
|
||
|
gtk-win32-$(GTK_VER).dll : $(gtk_OBJECTS) gtk.def
|
||
|
$(CC) $(CFLAGS) -LD -Fegtk-win32-$(GTK_VER).dll $(gtk_OBJECTS) $(GDK_LIBS) $(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\" $<
|
||
|
|
||
|
#
|
||
|
# Test programs:
|
||
|
#
|
||
|
testcalendar.exe : gtk-win32-$(GTK_VER).dll testcalendar.obj
|
||
|
$(CC) $(CFLAGS) testcalendar.obj $(GTK_LIBS) $(GDK_LIBS) $(PANGO_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||
|
|
||
|
# Must have separate rules for these objects that don't go in the DLL
|
||
|
testcalendar.obj : testcalendar.c
|
||
|
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testcalendar\" testcalendar.c
|
||
|
|
||
|
testdnd.exe : gtk-win32-$(GTK_VER).dll testdnd.obj
|
||
|
$(CC) $(CFLAGS) testdnd.obj $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||
|
|
||
|
testdnd.obj : testdnd.c
|
||
|
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testdnd\" testdnd.c
|
||
|
|
||
|
testgtk.exe : gtk-win32-$(GTK_VER).dll testgtk.obj
|
||
|
$(CC) $(CFLAGS) testgtk.obj $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(PANGO_LIBS) $(LDFLAGS)
|
||
|
|
||
|
testgtk.obj : testgtk.c
|
||
|
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testgtk\" testgtk.c
|
||
|
|
||
|
testinput.exe : gtk-win32-$(GTK_VER).dll testinput.obj
|
||
|
$(CC) $(CFLAGS) testinput.obj $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||
|
|
||
|
testinput.obj : testinput.c
|
||
|
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testinput\" testinput.c
|
||
|
|
||
|
testrgb.exe : gtk-win32-$(GTK_VER).dll testrgb.obj
|
||
|
$(CC) $(CFLAGS) testrgb.obj $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||
|
|
||
|
testrgb.obj : testrgb.c
|
||
|
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testrgb\" testrgb.c
|
||
|
|
||
|
testselection.exe : gtk-win32-$(GTK_VER).dll testselection.obj
|
||
|
$(CC) $(CFLAGS) testselection.obj $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||
|
|
||
|
testselection.obj : testselection.c
|
||
|
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testselection\" testselection.c
|
||
|
|
||
|
testtext.exe : gtk-win32-$(GTK_VER).dll testtext.obj
|
||
|
$(CC) $(CFLAGS) testtext.obj $(PANGO_LIBS) $(GDK_PIXBUF_LIBS) $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||
|
|
||
|
testtext.obj : testtext.c
|
||
|
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testtext\" testtext.c
|
||
|
|
||
|
testtextbuffer.exe : gtk-win32-$(GTK_VER).dll testtextbuffer.obj
|
||
|
$(CC) $(CFLAGS) testtextbuffer.obj $(GDK_PIXBUF_LIBS) $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||
|
|
||
|
testtextbuffer.obj : testtextbuffer.c
|
||
|
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testtextbuffer\" testtextbuffer.c
|
||
|
|
||
|
testthreads.exe : gtk-win32-$(GTK_VER).dll testthreads.obj
|
||
|
$(CC) $(CFLAGS) testthreads.obj $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(PTHREAD_LIBS) $(LDFLAGS)
|
||
|
|
||
|
testthreads.obj : testthreads.c
|
||
|
$(CC) $(CFLAGS) $(PTHREAD_CFLAGS) -c -DG_LOG_DOMAIN=\"testthreads\" -DUSE_PTHREADS=1 testthreads.c
|
||
|
|
||
|
simple.exe : gtk-win32-$(GTK_VER).dll simple.obj
|
||
|
$(CC) $(CFLAGS) simple.obj $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||
|
|
||
|
simple.obj : simple.c
|
||
|
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"simple\" simple.c
|
||
|
|
||
|
makefile.msc: makefile.msc.in
|
||
|
sed -e s,@GTK[_]MAJOR_VERSION@,@GTK_MAJOR_VERSION@, \
|
||
|
-e s,@GTK[_]MINOR_VERSION@,@GTK_MINOR_VERSION@, \
|
||
|
-e 's,@GDK_PIXBUF[_]MAJOR@,@GDK_PIXBUF_MAJOR@,' \
|
||
|
-e 's,@GDK_PIXBUF[_]MINOR@,@GDK_PIXBUF_MINOR@,' <makefile.msc.in >$@
|