 
# JAM style makefile for icclib and friends

# The following three lines are not standard jambase
CCFLAGS 	+= $(CCOPTFLAG) ;		# Turn optimisation on
#CCFLAGS	    += $(CCDEBUGFLAG) ;		# Debugging flags
#CCFLAGS	+= $(CCHEAPDEBUG) ;		# Heap Debugging flags
#LINKFLAGS	+= $(LINKDEBUGFLAG) ;	# Link debugging flags

#if stdio is not wanted in icclib:
#CCFLAGS	+= $(DEFFLAG)SEPARATE_STD ;

#Products
Libraries = libicc ;
Executables = iccdump icclu fbtest ;
Headers = icc.h ;

#Install
InstallLib $(DOTDOT)$(SLASH)lib : $(Libraries)$(SUFLIB) ;
InstallFile $(DOTDOT)$(SLASH)h : $(Headers) ;
InstallBin $(DOTDOT)$(SLASH)bin : $(Executables)$(SUFEXE) ;

# ICC library
Library libicc.lib : icc.c ;

# Executable support
Object iccstd$(SUFOBJ) : iccstd.c ;

# Utilities / test programs
# Main icctest : icctest.c ;
Object icctest$(SUFOBJ) : icctest.c ;
MainFromObjects icctest : icctest$(SUFOBJ) iccstd$(SUFOBJ) ;
LinkLibraries icctest : libicc.lib ;

Object lutest$(SUFOBJ) : lutest.c ;
MainFromObjects lutest : lutest$(SUFOBJ) iccstd$(SUFOBJ) ;
LinkLibraries lutest : libicc.lib ;

Object iccdump$(SUFOBJ) : iccdump.c ;
MainFromObjects iccdump : iccdump$(SUFOBJ) iccstd$(SUFOBJ) ;
LinkLibraries iccdump : libicc.lib ;

Object icclu$(SUFOBJ) : icclu.c ;
MainFromObjects icclu : icclu$(SUFOBJ) iccstd$(SUFOBJ) ;
LinkLibraries icclu : libicc.lib ;

Object iccrw$(SUFOBJ) : iccrw.c ;
MainFromObjects iccrw : iccrw$(SUFOBJ) iccstd$(SUFOBJ) ;
LinkLibraries iccrw : libicc.lib ;

#Utility to check absolute A2B and B2A accuracy
Object fbtest$(SUFOBJ) : fbtest.c ;
MainFromObjects fbtest : fbtest$(SUFOBJ) iccstd$(SUFOBJ) ;
LinkLibraries fbtest : libicc.lib ;

#Monotonic behaviour checker
#Object mcheck$(SUFOBJ) : mcheck.c ;
#MainFromObjects mcheck : mcheck$(SUFOBJ) iccstd$(SUFOBJ) ;
#LinkLibraries mcheck : libicc.lib ;

if $(BUILD_JUNK) {
	Object lab2lab$(SUFOBJ) : lab2lab.c ;
	MainFromObjects lab2lab : lab2lab$(SUFOBJ) iccstd$(SUFOBJ) ;
	LinkLibraries lab2lab : libicc.lib ;

	Main icm2ary : icm2ary.c ;

	# Check library is compatible with C++
	Main cppcheck : cppcheck.cpp ;
}


