
# This holds the common definitions for Argyll that all the
# subdirectory jam's will include (even if run in the sub directory) 

Echo "Argyll Jamrules has been read" ;


# Default install base directory is same directory as Jamtop,
# but can be overriden in the command line.
DESTDIR ?= [ NormPaths  . ] ;

# Default prefix is empty, but can be overriden in the command line.
PREFIX ?= "" ;

# Default ref file sub-directory is "ref", but can be overriden in the command line.
REFSUBDIR ?= "ref" ;

Echo "DESTDIR = '$(DESTDIR)', PREFIX = '$(PREFIX)', REFSUBDIR = '$(REFSUBDIR)'" ;

# Keep this DESTDIR anchored to Jamtop. PREFIX is used literally
ANCHORED_PATH_VARS = DESTDIR ;


# Tell standalone libraries that they are part of Argyll:
DEFINES += ARGYLLCMS ;

# enable serial instruments & support
USE_SERIAL = true ;	

# enable USB instruments & support
USE_USB = true ;	

# Use native USB drivers, else use libusb
USE_NATIVE_USB = true ;

# Use libusb1 rather than libusb0 & libusb0-win32
USE_LIBUSB1 = true ;

# Except that FreeBSD doesn't have a spectro/usbio_bsd.c yet
if $(OS) = FREEBSD || $(OS) = OPENBSD {
	USE_NATIVE_USB = false ;	# Use libusb
	USE_LIBUSB1 = false ; 		# Use libusb 0.1
}

# Make the USB V1 library static
LIBUSB_IS_DLL = false ;

# Always use DLL for MSWin, because driver install expects it (.inf)
if $(NT) {
	LIBUSB_IS_DLL = true ;
}

# Set the libubs1 library name.
LIBUSB1NAME = libusb-1.0A ;

# Information for compiling and linking GUI programs

if $(UNIX) {
	if $(OS) = MACOSX {
		LINKFLAGS += -framework IOKit ;
		LINKFLAGS += -framework CoreFoundation ;
		LINKFLAGS += -framework AudioToolbox ;
		LINKFLAGS += -framework AppKit ;

	} else {
		if [ GLOB /usr/X11R6/include/X11 : X.h ] {
			LibWinH = /usr/X11R6/include ;
		} else if [ GLOB /usr/include/X11 : X.h ] {
			LibWinH = /usr/include ;
		} else if [ GLOB /usr/local/include/X11 : X.h ] {
			LibWinH = /usr/local/include ;
		} else {
			EXIT Unable to locate the X11 include files ;
		}

		if $(HOST64) {
			if [ GLOB /usr/X11R6/lib : libX11.so ] {
				LibWinD = /usr/X11R6/lib ;
			} else if [ GLOB /usr/lib/x86_64-linux-gnu : libX11.so ] {
				LibWinD = /usr/lib/x86_64-linux-gnu ;
			} else if [ GLOB /usr/lib64 : libX11.so ] {
				LibWinD = /usr/lib64 ;
			} else if [ GLOB /usr/lib : libX11.so ] {
				LibWinD = /usr/lib ;
			} else if [ GLOB /usr/local/lib : libX11.so ] {
				LibWinD = /usr/local/lib ;
			} else {
				ECHO Unable to locate the 64 bit X11 library files ;
			}
		} else {
			if [ GLOB /usr/X11R6/lib : libX11.so ] {
				LibWinD = /usr/X11R6/lib ;
			} else if [ GLOB /usr/lib : libX11.so ] {
				LibWinD = /usr/lib ;
			} else if [ GLOB /usr/local/lib : libX11.so ] {
				LibWinD = /usr/local/lib ;
			} else {
				ECHO Unable to locate the 32 bit X11 library files ;
			}
		}
		if $(OS) = FREEBSD {
			LINKFLAGS += -L$(LibWinD) -g -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss  -lusb ;
		} else {
			LINKFLAGS += -L$(LibWinD) -ldl -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss ;
		}
		# HDRS += $(LibWinH) ; 
	}
}

# See if we have a system TIFF library.
if ! $(BUILTIN_TIFF) && $(UNIX) {
	if [ GLOB /usr/include : tiffio.h ] || [ GLOB /usr/local/include : tiffio.h ]  {
		if  [ GLOB /usr/lib : libtiff.so ] || [ GLOB /usr/lib : libtiff.a ]
		 || [ GLOB /usr/lib64 : libtiff.so ] || [ GLOB /usr/lib64 : libtiff.a ]
		 || [ GLOB /usr/lib/x86_64-linux-gnu : libtiff.so ]
		 || [ GLOB /usr/lib/x86_64-linux-gnu : libtiff.a ]
		 || [ GLOB /usr/local/lib : libtiff.so ] || [ GLOB /usr/local/lib : libtiff.a ] { 
			echo "Using system TIFF library" ;
			TIFFLIB = ;
			TIFFINC = ;
			LINKFLAGS += $(LINKFLAG)tiff ;
			HAVE_TIFF = true ;
		}
	}
}

# If nothing else, use Argyll supplied TIFF library
if ! $(HAVE_TIFF) || $(BUILTIN_TIFF) {
	echo "Using Argyll TIFF library" ;
	TIFFLIB = ../tiff/libtiff.lib ;
	TIFFINC = ../tiff ;
}

# See if we have a system JPEG library.
if ! $(BUILTIN_JPEG) && $(UNIX) {
	if [ GLOB /usr/include : jpeglib.h ] || [ GLOB /usr/local/include : jpeglib.h ] {
		if  [ GLOB /usr/lib : libjpeg.so ] || [ GLOB /usr/lib : libjpeg.a ]
		 || [ GLOB /usr/lib64 : libjpeg.so ] || [ GLOB /usr/lib64 : libjpeg.a ]
		 || [ GLOB /usr/lib/x86_64-linux-gnu : libjpeg.so ]
		 || [ GLOB /usr/lib/x86_64-linux-gnu : libjpeg.a ]
		 || [ GLOB /usr/local/lib : libjpeg.so ] || [ GLOB /usr/local/lib : libjpeg.a ] {
			echo "Using system JPEG library" ;
			JPEGLIB = ;
			JPEGINC = ;
			LINKFLAGS += $(LINKFLAG)jpeg ;
			HAVE_JPEG = true ;
		}
	}
}

# If nothing else, use Argyll supplied JPEG library
if ! $(HAVE_JPEG) || $(BUILTIN_JPEG) {
	echo "Using Argyll JPEG library" ;
	JPEGLIB = ../jpg/libjpeg.lib ;
	JPEGINC = ../jpg ;
}

# testing
#DSTDIR = var ;
#SRCDIR = .. ;
