From 9ca173a7020ca6a7daab001b71dfc6e84f149429 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Fri, 18 May 2007 19:04:14 +0000 Subject: 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 --- makefiles/makeinclude.mingw | 154 ++++++++++++++++++++++++-------------------- 1 file changed, 85 insertions(+), 69 deletions(-) (limited to 'makefiles/makeinclude.mingw') 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$". # + -- cgit v1.2.3