summaryrefslogtreecommitdiff
path: root/makefiles/makeinclude.mingw
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2007-05-18 19:04:14 +0000
committerMatthias Melcher <fltk@matthiasm.com>2007-05-18 19:04:14 +0000
commit9ca173a7020ca6a7daab001b71dfc6e84f149429 (patch)
tree4d49ad3a0e18aa87d542fb213ecd7db4df8d0de7 /makefiles/makeinclude.mingw
parenta5c7b92f37c87e489a48964c611a7de0cb94e7b5 (diff)
Updated Cygwin/Mingw makefiles and documentation (STR #1683)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5844 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'makefiles/makeinclude.mingw')
-rw-r--r--makefiles/makeinclude.mingw154
1 files changed, 85 insertions, 69 deletions
diff --git a/makefiles/makeinclude.mingw b/makefiles/makeinclude.mingw
index 7eac0435e..f3db7a969 100644
--- a/makefiles/makeinclude.mingw
+++ b/makefiles/makeinclude.mingw
@@ -2,9 +2,8 @@
# "$Id$"
#
# Make include file for the Fast Light Tool Kit (FLTK).
-# (this file for MingW using GCC 2.95.x)
#
-# Copyright 1998-2001 by Bill Spitzak and others.
+# Copyright 1998-2007 by Bill Spitzak and others.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
@@ -21,83 +20,70 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.
#
-# Please report all bugs and problems to "fltk-bugs@fltk.org".
+# Please report all bugs and problems on the following page:
#
-
-# Notes:
-#
-# 1) Console windows appearing
-#
-# Consoles will not appear when run from a command line prompt
-# but will cause an 'unnecessary' console to appear when run directly from
-# windows (say explorer). It provides i/o for stdin/stdout for debugging
-#
-# To avoid this add "-mwindows" to LDLIBS and GLDLIBS below
+# http://www.fltk.org/str.php
#
-# 2) Stripping the executable to reduce size
-#
-# An external program may be run to strip out any debug symbols:
-# strip filename.exe
-#
-# Alternatively add -s option to LDLIBS and GLDLIBS below to strip all
-# symbols. (or -S for stripping of debug symbols only). See 'ld' man page
-# for other useful link-time options.
-#
-# The default is to leave -mwindows and the stripping off, so as to facilitate
-# debugging. For release it may be appropriate to add these additional switches
+prefix = /usr/local
+exec_prefix = ${prefix}
+bindir = ${exec_prefix}/bin
+datadir = ${prefix}/share
+datarootdir = @datarootdir@
+includedir = ${prefix}/include
+libdir = ${exec_prefix}/lib
+mandir = ${prefix}/man
+srcdir = .
+docdir = $(datadir)/doc/fltk
-prefix = /usr/local
-exec_prefix = ${prefix}
-bindir = ${exec_prefix}/bin
-includedir = ${prefix}/include
-libdir = ${exec_prefix}/lib
-srcdir = .
# programs we use...
-CHMOD = :
-CP = copy
-HTMLDOC = htmldoc.exe
-LN = :
-MKDIR = md
-NROFF = nroff
-RM = del
-RMDIR = rd
-STRIP = :
+HTMLDOC =
+INSTALL = /bin/install -c
+LN = ln -s
+NROFF =
+RM = rm -f
+RMDIR = rm -rf
+SHELL = /bin/sh
+STRIP = strip
# compiler names:
CXX = g++
CC = gcc
MAKEDEPEND = $(CXX) -M
-POSTBUILD = :
# flags for C++ compiler:
-CFLAGS = -Wall -O2 -DWIN32
-CXXFLAGS = -Wall -O2 -DWIN32
+ARCHFLAGS =
+OPTIM = -O3 -Wall -Wunused -Wno-format-y2k -fno-exceptions -fno-strict-aliasing
+CFLAGS = $(OPTIM) -mno-cygwin -mwindows -DWIN32 -mno-cygwin
+CXXFLAGS = $(OPTIM) -mno-cygwin -mwindows -DWIN32 -mno-cygwin
# program to make the archive:
LIBNAME = ../lib/libfltk.a
FLLIBNAME = ../lib/libfltk_forms.a
GLLIBNAME = ../lib/libfltk_gl.a
IMGLIBNAME = ../lib/libfltk_images.a
-LIBCOMMAND = ar -ruv
+LIBCOMMAND = /mingw/bin/ar cr
LIBEXT = .a
RANLIB = ranlib
-DSONAME =
-FLDSONAME =
-GLDSONAME =
-IMGDSONAME =
-DSOCOMMAND = echo
-
-# libraries to link with (in addition to default libs):
-LDLIBS =-mwindows -lole32 -luuid -lcomctl32 -lwsock32 -lsupc++
-GLDLIBS =-mwindows -lglu32 -lopengl32 -lole32 -luuid -lcomctl32 -lwsock32 -lsupc++
-LINKFLTK =-L../lib -lfltk
-LINKFLTKGL =-L../lib -lfltk_gl
-LINKFLTKFORMS =-L../lib -lfltk_forms -lfltk
-LINKFLTKIMG =-L../lib -lfltk_images -lfltk $(IMAGELIBS)
-LINKSHARED = -L../lib -lfltk_images -lfltk_forms -lfltk $(IMAGELIBS)
-IMAGELIBS =-lfltk_png -lfltk_z -lfltk_jpeg
+DSONAME = mgwfltknox-1.1.dll
+FLDSONAME = mgwfltknox_forms-1.1.dll
+GLDSONAME = mgwfltknox_gl-1.1.dll
+IMGDSONAME = mgwfltknox_images-1.1.dll
+DSOCOMMAND = $(CXX) $(DSOFLAGS) -shared -Wl,--whole-archive -Wl,--export-all-symbols -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-import -Wl,--enable-auto-image-base -o $@
+
+# libraries to link with:
+AUDIOLIBS = -lwinmm
+DSOFLAGS = -mwindows -mno-cygwin
+LDFLAGS = $(OPTIM) -mwindows -mno-cygwin -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc
+LDLIBS = -lole32 -luuid -lcomctl32 -lwsock32
+GLDLIBS = -lglu32 -lopengl32 -lole32 -luuid -lcomctl32 -lwsock32
+LINKFLTK = ../lib/libfltk.a
+LINKFLTKGL = ../lib/libfltk_gl.a
+LINKFLTKFORMS = ../lib/libfltk_forms.a ../lib/libfltk.a
+LINKFLTKIMG = ../lib/libfltk_images.a ../lib/libfltk.a $(IMAGELIBS)
+LINKSHARED = -L../src -lfltk_images -lfltk_forms -lfltk $(IMAGELIBS)
+IMAGELIBS = -L../lib -lfltk_png -lfltk_z -lfltk_jpeg
# image libraries to build...
IMAGEDIRS = jpeg zlib png
@@ -106,13 +92,13 @@ IMAGEDIRS = jpeg zlib png
EXEEXT = .exe
# Do we build the OpenGL demos?
-GLDEMOS =gldemos
+GLDEMOS = gldemos
# Do we build the threads demo?
-THREADS =threads
+THREADS = threads.exe
# Name of FLUID executable we install
-FLUID = fluid$(EXEEXT)
+FLUID = fluid-shared$(EXEEXT)
# Possible steps after linking...
POSTBUILD = :
@@ -120,25 +106,55 @@ POSTBUILD = :
# Man page extensions...
CAT1EXT = 1
CAT3EXT = 3
+CAT6EXT = 6
+
+#
+# Installation programs...
+#
+
+INSTALL_BIN = $(INSTALL) -m 755
+INSTALL_DATA = $(INSTALL) -m 644
+INSTALL_DIR = $(INSTALL) -d
+INSTALL_LIB = $(INSTALL) -m 755
+INSTALL_MAN = $(INSTALL) -m 644
+INSTALL_SCRIPT = $(INSTALL) -m 755
+
+# Additional GUI install/uninstall targets...
+INSTALL_DESKTOP =
+UNINSTALL_DESKTOP =
# Be quiet when building...
.SILENT:
# Build commands and filename extensions...
-.SUFFIXES: .c .cxx .h .fl .o
+.SUFFIXES: .0 .1 .3 .6 .c .cxx .h .fl .man .o .z $(EXEEXT)
-.cxx:
- echo Compiling and linking $@...
- $(CXX) -I.. -I../png -I../jpeg -I../zlib $(CXXFLAGS) $< $(LINKFLTK) $(LDLIBS) -o $@
+.o$(EXEEXT):
+ echo Linking $@...
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) $< $(LINKFLTK) $(LDLIBS) -o $@
+ $(POSTBUILD) $@ ../FL/mac.r
.c.o:
- echo Compiling $@...
- $(CC) -I.. -I../png -I../jpeg -I../zlib $(CXXFLAGS) $< -c
+ echo Compiling $<...
+ $(CC) -I.. $(ARCHFLAGS) -I../png -I../jpeg -I../zlib $(CFLAGS) -c $<
.cxx.o:
- echo Compiling $@...
- $(CXX) -I.. -I../png -I../jpeg -I../zlib $(CXXFLAGS) $< -c
+ echo Compiling $<...
+ $(CXX) -I.. $(ARCHFLAGS) -I../png -I../jpeg -I../zlib $(CXXFLAGS) -c $<
+
+.man.0 .man.1 .man.3 .man.6:
+ echo Formatting $<...
+ rm -f $@
+ $(NROFF) -man $< >$@
+
+.man.z:
+ echo Formatting $<...
+ rm -f $@ t.z
+ $(NROFF) -man $< >t
+ pack -f t
+ mv t.z $@
#
# End of "$Id$".
#
+