forked from AuroraMiddleware/gtk
1c84483f3e
gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1. * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files. * config.h.win32: Changes for gcc. * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>. * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp. * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h. * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better. Protect shl stuff unavaiilable with mingw32 headers. * gdk/win32/gdkevents.c: Fix typo. * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc. * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?) * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler. * gdk/win32/gdkprivate.h: Make up for some stuff missing from the mingw32 headers. * gdk/win32/makefile.msc: Use latest Wintab kit and glib. * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat definition on Win32. Test for NATIVE_WIN32, not _MSC_VER. * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32. Test for NATIVE_WIN32, not _MSC_VER. * gtk/gtkmain.c: No use warning about developer version on Win32, there aren't any non-developer versions anyhow. * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER. * gtk/makefile.msc: Use pthread from another directory. Minor other changes.
377 lines
8.4 KiB
Plaintext
377 lines
8.4 KiB
Plaintext
## Makefile for building the GTK DLL with egcs on cygwin
|
|
## Use: make -f makefile.cygwin install
|
|
|
|
# Change this to wherever you want to install the DLL. This directory
|
|
# should be in your PATH.
|
|
BIN = /bin
|
|
|
|
# This is the location of pthreads for Win32,
|
|
# see http://sourceware.cygnus.com/pthreads-win32/
|
|
PTHREADS = ../../pthreads-snap-1999-04-07
|
|
PTHREAD_LIB = -L $(PTHREADS) -lpthread
|
|
PTHREAD_INC = -I $(PTHREADS)
|
|
|
|
OPTIMIZE = -g -O
|
|
|
|
################################################################
|
|
|
|
# Nothing much configurable below
|
|
|
|
CC = gcc -mno-cygwin -mpentium
|
|
|
|
# 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 = awk
|
|
|
|
INSTALL = install
|
|
|
|
GLIB_VER=1.3
|
|
GTK_VER=1.3
|
|
|
|
GDKSYSDEP = ../gdk/win32
|
|
GLIB = ../../glib
|
|
|
|
CFLAGS = $(OPTIMIZE) -I. -I.. -I$(GDKSYSDEP) -I$(GLIB) -I$(GLIB)/gmodule -DGTK_DISABLE_COMPAT_H
|
|
|
|
all : \
|
|
../config.h \
|
|
gtkcompat.h \
|
|
generated \
|
|
gtk-$(GTK_VER).dll\
|
|
testdnd.exe \
|
|
testgtk.exe \
|
|
testinput.exe \
|
|
testrgb.exe \
|
|
testselection.exe \
|
|
simple.exe
|
|
|
|
install : all
|
|
$(INSTALL) gtk-$(GTK_VER).dll $(BIN)
|
|
|
|
gtk_OBJECTS = \
|
|
fnmatch.o \
|
|
gtkaccelgroup.o \
|
|
gtkaccellabel.o \
|
|
gtkadjustment.o \
|
|
gtkalignment.o \
|
|
gtkarg.o \
|
|
gtkarrow.o \
|
|
gtkaspectframe.o\
|
|
gtkbbox.o \
|
|
gtkbin.o \
|
|
gtkbindings.o \
|
|
gtkbox.o \
|
|
gtkbutton.o \
|
|
gtkcalendar.o \
|
|
gtkcheckbutton.o\
|
|
gtkcheckmenuitem.o\
|
|
gtkclist.o \
|
|
gtkcolorsel.o \
|
|
gtkcombo.o \
|
|
gtkcontainer.o \
|
|
gtkctree.o \
|
|
gtkcurve.o \
|
|
gtkdata.o \
|
|
gtkdialog.o \
|
|
gtkdnd.o \
|
|
gtkdrawingarea.o\
|
|
gtkeditable.o \
|
|
gtkentry.o \
|
|
gtkeventbox.o \
|
|
gtkfilesel.o \
|
|
gtkfixed.o \
|
|
gtkfontsel.o \
|
|
gtkframe.o \
|
|
gtkgamma.o \
|
|
gtkgc.o \
|
|
gtkhandlebox.o \
|
|
gtkhbbox.o \
|
|
gtkhbox.o \
|
|
gtkhpaned.o \
|
|
gtkhruler.o \
|
|
gtkhscale.o \
|
|
gtkhscrollbar.o \
|
|
gtkhseparator.o \
|
|
gtkimage.o \
|
|
gtkinputdialog.o\
|
|
gtkinvisible.o \
|
|
gtkitem.o \
|
|
gtkitemfactory.o\
|
|
gtklabel.o \
|
|
gtklayout.o \
|
|
gtklist.o \
|
|
gtklistitem.o \
|
|
gtkmain.o \
|
|
gtkmarshal.o \
|
|
gtkmenu.o \
|
|
gtkmenubar.o \
|
|
gtkmenufactory.o\
|
|
gtkmenuitem.o \
|
|
gtkmenushell.o \
|
|
gtkmisc.o \
|
|
gtknotebook.o \
|
|
gtkobject.o \
|
|
gtkoptionmenu.o \
|
|
gtkpacker.o \
|
|
gtkpaned.o \
|
|
gtkpixmap.o \
|
|
gtkplug.o \
|
|
gtkpreview.o \
|
|
gtkprogress.o \
|
|
gtkprogressbar.o\
|
|
gtkradiobutton.o\
|
|
gtkradiomenuitem.o\
|
|
gtkrange.o \
|
|
gtkrc.o \
|
|
gtkruler.o \
|
|
gtkscale.o \
|
|
gtkscrollbar.o \
|
|
gtkscrolledwindow.o\
|
|
gtkselection.o \
|
|
gtkseparator.o \
|
|
gtksignal.o \
|
|
gtksocket.o \
|
|
gtkspinbutton.o \
|
|
gtkstatusbar.o \
|
|
gtkstyle.o \
|
|
gtktable.o \
|
|
gtktearoffmenuitem.o\
|
|
gtktext.o \
|
|
gtkthemes.o \
|
|
gtktipsquery.o \
|
|
gtktogglebutton.o\
|
|
gtktoolbar.o \
|
|
gtktooltips.o \
|
|
gtktree.o \
|
|
gtktreeitem.o \
|
|
gtktypeutils.o \
|
|
gtkvbbox.o \
|
|
gtkvbox.o \
|
|
gtkviewport.o \
|
|
gtkvpaned.o \
|
|
gtkvruler.o \
|
|
gtkvscale.o \
|
|
gtkvscrollbar.o \
|
|
gtkvseparator.o \
|
|
gtkwidget.o \
|
|
gtkwindow.o
|
|
|
|
# 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 \
|
|
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 \
|
|
gtkimage.h \
|
|
gtkinputdialog.h \
|
|
gtkintl.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 \
|
|
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 \
|
|
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/gdktypes.h \
|
|
../gdk/gdkrgb.h
|
|
|
|
../config.h : ../config.h.win32
|
|
cp ../config.h.win32 ../config.h
|
|
|
|
gtkcompat.h : gtkcompat.h.win32
|
|
cp gtkcompat.h.win32 gtkcompat.h
|
|
|
|
#
|
|
# Generated source files:
|
|
#
|
|
generated : gtk.defs gtktypebuiltins.h gtktypebuiltins_vars.c gtktypebuiltins_ids.c gtktypebuiltins_evals.c gtkmarshal.h gtkmarshal.c
|
|
|
|
gtk.defs : makeenums.pl gtk-boxed.defs $(source_headers) $(gdk_headers)
|
|
$(PERL) makeenums.pl defs $(source_headers) $(gdk_headers) >gd.tmp
|
|
cat gd.tmp gtk-boxed.defs >gtk.defs
|
|
rm 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
|
|
-rm gtkmarshal.c
|
|
mv s-gmc gtkmarshal.c
|
|
-rm gtkmarshal.h
|
|
mv s-gmh gtkmarshal.h
|
|
|
|
#
|
|
# Linking:
|
|
#
|
|
gtk-$(GTK_VER).dll : generated $(gtk_OBJECTS) gtk.def
|
|
$(GLIB)/build-dll gtk $(GTK_VER) gtk.def $(gtk_OBJECTS) -L $(GDKSYSDEP) -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) -lgdi32 -luser32
|
|
|
|
# General rule for compiling the objects into the DLL
|
|
.c.o :
|
|
$(CC) $(CFLAGS) -c -DGTK_COMPILATION -DG_LOG_DOMAIN=\"Gtk\" $<
|
|
|
|
#
|
|
# Test programs:
|
|
#
|
|
testdnd.exe : testdnd.o
|
|
$(CC) $(CFLAGS) -o $@ testdnd.o -L . -lgtk-$(GTK_VER) -L $(GDKSYSDEP) -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) $(LDFLAGS)
|
|
|
|
# Must have separate rules for these objects that don't go in the DLL
|
|
testdnd.o : testdnd.c
|
|
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testdnd\" testdnd.c
|
|
|
|
testgtk.exe : testgtk.o
|
|
$(CC) $(CFLAGS) -o $@ testgtk.o -L . -lgtk-$(GTK_VER) -L $(GDKSYSDEP) -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) $(LDFLAGS)
|
|
|
|
testgtk.o : testgtk.c
|
|
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testgtk\" testgtk.c
|
|
|
|
testinput.exe : testinput.o
|
|
$(CC) $(CFLAGS) -o $@ testinput.o -L . -lgtk-$(GTK_VER) -L $(GDKSYSDEP) -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) $(LDFLAGS)
|
|
|
|
testinput.o : testinput.c
|
|
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testinput\" testinput.c
|
|
|
|
testrgb.exe : testrgb.o
|
|
$(CC) $(CFLAGS) -o $@ testrgb.o -L . -lgtk-$(GTK_VER) -L $(GDKSYSDEP) -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) $(LDFLAGS)
|
|
|
|
testrgb.o : testrgb.c
|
|
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testrgb\" testrgb.c
|
|
|
|
testselection.exe : testselection.o
|
|
$(CC) $(CFLAGS) -o $@ testselection.o -L . -lgtk-$(GTK_VER) -L $(GDKSYSDEP) -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) $(LDFLAGS)
|
|
|
|
testselection.o : testselection.c
|
|
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testselection\" testselection.c
|
|
|
|
testthreads.exe : testthreads.o
|
|
$(CC) $(CFLAGS) -o $@ testthreads.o -L . -lgtk-$(GTK_VER) -L $(GDKSYSDEP) -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) -lgthread-$(GLIB_VER) $(PTHREAD_LIB) $(LDFLAGS)
|
|
|
|
testthreads.o : testthreads.c
|
|
$(CC) $(CFLAGS) -I$(PTHREAD_INC) -c -DG_LOG_DOMAIN=\"testthreads\" -DUSE_PTHREADS=1 testthreads.c
|
|
|
|
simple.exe : simple.o
|
|
$(CC) $(CFLAGS) -o $@ simple.o -L . -lgtk-$(GTK_VER) -L $(GDKSYSDEP) -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) $(LDFLAGS)
|
|
|
|
simple.o : simple.c
|
|
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"simple\" simple.c
|
|
|
|
# The clean target doesn't remove the generated sources
|
|
clean:
|
|
-rm *.exe *.o *.dll *.a *.exp *.base
|