#
# Make include file for the Fast Light Tool Kit (FLTK).
#
# Copyright 1998-2022 by Bill Spitzak and others.
#
# This library is free software. Distribution and use rights are outlined in
# the file "COPYING" which should have been included with this file.  If this
# file is missing or damaged, see the license at:
#
#     https://www.fltk.org/COPYING.php
#
# Please see the following page on how to report bugs and issues:
#
#      https://www.fltk.org/bugs.php
#

# FLTK version numbers

FL_VERSION		= @FLTK_VERSION@
FL_DSO_VERSION		= @FL_DSO_VERSION@
FL_ABI_VERSION		= @FL_ABI_VERSION@

# FLTK version for documentation generation with doxygen

FLTK_VERSION		= @FLTK_VERSION@

# FLTK configuration options: BUILD = { WIN | OSX | X11 | XFT | CAIROXLIB | WAYLANDX11 | WAYLAND }

BUILD		= @BUILD@
UNAME            = @UNAME@

# Standard configure variables

prefix		= @prefix@
exec_prefix	= @exec_prefix@
bindir		= @bindir@
datadir		= @datadir@
datarootdir	= @datarootdir@
includedir	= @includedir@
libdir		= @libdir@
mandir		= @mandir@
srcdir		= @srcdir@
docdir		= $(datadir)/doc/fltk
VPATH		= @srcdir@

# programs we use...
DOXYDOC		= @DOXYDOC@
INSTALL		= @INSTALL@
LN		= ln -s
NROFF		= @NROFF@
RM		= rm -f
RMDIR		= rm -rf
SHELL		= /bin/sh
STRIP		= strip

# compiler names:
CXX		= @CXX@
CC		= @CC@
MAKEDEPEND	= @MAKEDEPEND@

# (Windows) resource compiler
RC		= @RC@

# flags for C++ compiler:
ARCHFLAGS	= @ARCHFLAGS@
OPTIM		= @OPTIM@
CFLAGS		= $(OPTIM) @LARGEFILE@ @PTHREAD_FLAGS@ @CPPFLAGS@ @CFLAGS@
CXXFLAGS	= $(OPTIM) @LARGEFILE@ @PTHREAD_FLAGS@ @CPPFLAGS@ @CXXFLAGS@ $(FLTKFLAGS)

# program to make the archive:
LIBNAME		= @LIBNAME@
FLLIBNAME	= @FLLIBNAME@
GLLIBNAME	= @GLLIBNAME@
IMGLIBNAME	= @IMGLIBNAME@
CAIROLIBNAME	= @CAIROLIBNAME@
LIBCOMMAND	= @LIBCOMMAND@
LIBEXT		= @LIBEXT@
RANLIB		= @RANLIB@
DSONAME		= @DSONAME@
FLDSONAME	= @FLDSONAME@
GLDSONAME	= @GLDSONAME@
IMGDSONAME	= @IMGDSONAME@
CAIRODSONAME	= @CAIRODSONAME@
DSOCOMMAND	= @DSOCOMMAND@

LIBBASENAME	= @LIBBASENAME@
FLLIBBASENAME	= @FLLIBBASENAME@
GLLIBBASENAME	= @GLLIBBASENAME@
IMGLIBBASENAME	= @IMGLIBBASENAME@
CAIROLIBBASENAME= @CAIROLIBBASENAME@

# libraries to link with:
AUDIOLIBS	= @AUDIOLIBS@
CAIROLIBS	= @CAIROLIBS@
CAIROFLAGS	= @CAIROFLAGS@
DSOFLAGS	= -L. @DSOFLAGS@
LDFLAGS		= $(OPTIM) @LDFLAGS@
LDLIBS		= @LIBS@
GLDLIBS		= @GLLIBS@ @LIBS@
LINKFLTK	= @LINKFLTK@
LINKFLTKGL	= @LINKFLTKGL@
LINKFLTKFORMS	= @LINKFLTKFORMS@ @LINKFLTK@
LINKFLTKIMG	= @LINKFLTKIMG@ @LINKFLTK@ $(IMAGELIBS)
LINKFLTKCAIRO	= @LINKFLTKCAIRO@ $(CAIROLIBS)
FLTKCAIROOPTION = @FLTKCAIROOPTION@
LINKSHARED	= @DSOLINK@ @LINKSHARED@ $(IMAGELIBS) $(CAIROLIBS)
IMAGELIBS	= -L../lib @IMAGELIBS@

# optional extra build step for libdecor:
LIBDECORDIR	= @LIBDECORDIR@

# image libraries to build...
IMAGEDIRS	= @JPEG@ @ZLIB@ @PNG@
CAIRODIR	= @CAIRODIR@
# The extension to use for executables...
EXEEXT		= @EXEEXT@

# Do we build the OpenGL demos?
GLDEMOS    = @GLDEMOS@
GLWLDEMO   = @GLWLDEMO@

# Do we build the threads demo?
THREADS		= @THREADS@

# Name of FLUID executable we install
FLUID		= @FLUID@$(EXEEXT)

# Name and/or path of FLUID executable we use for building:
# depends on the build type (native or cross-compiler)
FLUID_BUILD	= @FLUID_BUILD@

# Possible steps for OS X build only
OSX_ONLY	= @OSX_ONLY@

# Man page extensions...
CAT1EXT		= @CAT1EXT@
CAT3EXT		= @CAT3EXT@
CAT6EXT		= @CAT6EXT@

#
# 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	= @INSTALL_DESKTOP@
UNINSTALL_DESKTOP = @UNINSTALL_DESKTOP@

# Be quiet when building...
.SILENT:

# Build commands and filename extensions...
.SUFFIXES:	.0 .1 .3 .6 .c .cxx .mm .h .fl .man .o .z $(EXEEXT)

.o$(EXEEXT):
	echo Linking $@...
	$(CXX) $(ARCHFLAGS) $(LDFLAGS) $< $(LINKFLTK) $(LDLIBS) -o $@
	$(OSX_ONLY) ../fltk-config --post $@

.c.o:
	echo Compiling $<...
	$(CC) -I.. $(ARCHFLAGS) @PNGINC@ @JPEGINC@ @ZLIBINC@ $(CFLAGS) -c $< -o $@

.cxx.o:
	echo Compiling $<...
	$(CXX) -I.. $(ARCHFLAGS) @PNGINC@ @JPEGINC@ @ZLIBINC@ $(CXXFLAGS) -c $< -o $@

.mm.o:
	echo Compiling $<...
	$(CXX) -I.. $(ARCHFLAGS) $(CXXFLAGS) -x objective-c++ -c $< -o $@


.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 $@
