From 22f703cab05b7cd368f4de9e03991b7664dc5022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 1 Sep 2014 13:56:46 +0200 Subject: Initial import of argyll version 1.5.1-8 --- spectro/Jamfile | 254 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 254 insertions(+) create mode 100644 spectro/Jamfile (limited to 'spectro/Jamfile') diff --git a/spectro/Jamfile b/spectro/Jamfile new file mode 100644 index 0000000..87dee2f --- /dev/null +++ b/spectro/Jamfile @@ -0,0 +1,254 @@ + + +#PREF_CCFLAGS += $(CCOPTFLAG) ; # Turn optimisation on +PREF_CCFLAGS += $(CCDEBUGFLAG) ; # Debugging flags +PREF_LINKFLAGS += $(LINKDEBUGFLAG) ; + +# Compile .c as .m +if $(OS) = MACOSX { + ObjectCcFlags dispwin : -ObjC ; + ObjectCcFlags dispwin_dispwin : -ObjC ; +} + +# Setup the right hardware access libraries +if $(NT) { + if $(USE_NATIVE_USB) = true { + DEFINES += NATIVE_USB ; + LIBUSBHDRS = ../usb/driver ; # libusb-win32 kernel driver info + } else { + if $(USE_LIBUSB1) = true { + LIBUSBDIR = ../libusb1 ; + LIBUSBHDRS = ../libusb1 ; + if $(MSVCNT) { + LIBUSBHDRS += ../libusb1/msvc ; # So stdint.h can be found + } + if $(LIBUSB_IS_DLL) = true { + LIBUSB = $(LIBUSB1NAME)$(SUFIMPLIB) ; + LIBUSBSH = $(LIBUSB1NAME)$(SUFSHLIB) ; + } else { + LIBUSB = $(LIBUSB1NAME)$(SUFLIB) ; + } + DEFINES += USE_LIBUSB1 ; + } else { + LIBUSBDIR = ../libusbw ; + LIBUSBHDRS = ../libusbw ; + LIBUSB = libusb ; + } + } +} +if $(UNIX) { + if $(USE_NATIVE_USB) = true { + DEFINES += NATIVE_USB ; + } else { + if $(USE_LIBUSB1) = true { + LIBUSBDIR = ../libusb1 ; + LIBUSBHDRS = ../libusb1 ; + if $(LIBUSB_IS_DLL) = true { + LIBUSB = $(LIBUSB1NAME)$(SUFIMPLIB) ; + LIBUSBSH = $(LIBUSB1NAME)$(SUFSHLIB) ; + } else { + LIBUSB = $(LIBUSB1NAME)$(SUFLIB) ; + } + DEFINES += USE_LIBUSB1 ; + } else { + LIBUSBDIR = ../libusb ; + LIBUSBHDRS = ../libusb ; + LIBUSB = libusb ; + } + } + CONVFILE = pollem.c ; +} + +#Products +Libraries = libinsttypes libinst libdisp libconv libinstapp ; +Executables = dispwin synthcal dispread dispcal fakeread synthread + chartread spotread illumread ccxxmake spec2cie average oeminst ; +Headers = inst.h ; +Samples = SOtele.sp linear.cal strange.cal ccxx.ti1 ; + +#Install +InstallBin $(DESTDIR)$(PREFIX)/bin : $(Executables) ; +InstallFile $(DESTDIR)$(PREFIX)/$(REFSUBDIR) : $(Samples) ; +#InstallFile $(DESTDIR)$(PREFIX)/h : $(Headers) ; +#InstallLib $(DESTDIR)$(PREFIX)/lib : $(Libraries) ; + +if $(UNIX) && $(OS) != MACOSX { + # Micro Unix CMM for handling monitor profile association + CMMHDRS = ../ucmm ; + CMMLIBS = ../ucmm/libucmm ../jcnf/libjcnf ../jcnf/yajl/libyajl ; +} + +HDRS = ../h ../numlib ../icc ../cgats ../rspl ../xicc ../gamut ../spectro + ../plot $(LIBUSBHDRS) $(CMMHDRS) ; + +# Instrument access library library +SER_INSTS = dtp22.c dtp41.c dtp51.c ss.c ss_imp.c ; + +SER_USB_INSTS = dtp92.c ; + +USB_INSTS = dtp20.c i1disp.c i1d3.c i1pro.c i1pro_imp.c + munki.c munki_imp.c hcfr.c spyd2.c huey.c + colorhug.c usbio.c hidio.c ; + +if $(USE_SERIAL) = true { + DEFINES += ENABLE_SERIAL ; + INST_SRCS += $(SER_INSTS) ; +} + +if $(USE_USB) = true { + DEFINES += ENABLE_USB ; + INST_SRCS += $(USB_INSTS) ; +} + +if $(USE_SERIAL) = true || $(USE_USB) = true { + INST_SRCS += $(SER_USB_INSTS) ; +} + +Library libinst : inst.c insttypes.c icoms.c $(INST_SRCS) ; + +# Display access library +ObjectKeep mongoose.c ; +Library libdisp : dispsup.c dispwin.c webwin.c : : : $(LibWinH) : mongoose ; + +# Instrument types utility functions library. Use this instead of libinst when */ +# applications need to know about different instrument types, but not access them. */ +# (Note we're working around a bug in Jam caused by objects shared between libraries) +Object insttypes2 : insttypes.c ; +LibraryFromObjects libinsttypes : insttypes2 ; + +# System utility functions (keyboard, msec_*, thread) +Library libconv : xdg_bds.c aglob.c conv.c $(CONVFILE) : : : $(LibWinH) ; + +# Command line application instrument related convenience functions +Library libinstapp : instappsup.c ; + +# Support file +#Object alphix : ../target/alphix.c ; + +LINKLIBS = libinst libinstapp + ../xicc/libxcolorants ../xicc/libxicc + ../gamut/libgamut + ../rspl/librspl ../cgats/libcgats + ../icc/libicc ../plot/libplot ../plot/libvrml ../numlib/libnum + $(CMMLIBS) libconv ; + +if $(LIBUSB_IS_DLL) = true { + LINKSHLIBS = $(LIBUSBDIR)/$(LIBUSB) ; + File $(LIBUSBSH) : $(LIBUSBDIR)/$(LIBUSBSH) ; + # executable needs .so/.dll in same directory + NDepends $(Executables) : $(LIBUSBSH) ; +} else { + LINKLIBS += $(LIBUSBDIR)/$(LIBUSB) ; +} + +# General target reader program +Main chartread : chartread.c ../target/alphix.c : : : ../target : : ; + +# Illuminant measurement +Main illumread : illumread.c : : : ../target : : ; + +# Printed target spot reader utility +Main spotread : spotread.c : : : : : ; + +# Test code +if $(HOME) = "d:\\usr\\graeme" && $(PWD) = "/src/argyll/spectro" { + Main setoem : setoem.c : : : : : ; +} + +# CCMX and CCSStool +Main ccxxmake : ccxxmake.c : : : : : libdisp ; + +# Gretag Spectroscan/T filmstrip reader +#Main filmread : filmread.c : : : : : ; + +# Create synthetic .cal +Main synthcal : synthcal.c ; + +# Display calibration program +Main dispcal : dispcal.c : : : ../target : : libdisp ; + +# Display tester program +Main dispread : dispread.c : : : : : libdisp ; + +#display test window test/Lut loader utility +# [ Could avoid need for libisnt libusb etc. +# by separating system dependent utils to a separate library .] +MainVariant dispwin : dispwin.c webwin.c : : STANDALONE_TEST : : mongoose : $(LibWin) ; + +LINKLIBS = libinsttypes ../xicc/libxicc ../gamut/libgamut ../rspl/librspl + ../cgats/libcgats ../icc/libicc ../numlib/libnum ../plot/libplot + ../plot/libvrml ; + +# Fake device print/read utility using ICC profile +Main fakeread : fakeread.c ; + +# Synthetic device print/read utility +Main synthread : synthread.c ; + +# Add CIE values to a spectral reading file +Main spec2cie : spec2cie.c ; + +# Average RGB or CMYK .ti3 files +Main average : average.c ; + +# Utility to install ccmx's, ccss's or install from OEM EDR files +Objects oemarch.c vinflate.c inflate.c LzmaDec.c mongoose.c ; +Main oeminst : oeminst.c : : : : oemarch vinflate inflate LzmaDec : libconv ; + +# Generate linear.cal example/diagnostic +# (NoUpdate so that Cross Compile Win64 hack works) +NNoUpdate linear.cal ; +GenFileND linear.cal : synthcal [ NormPaths linear ] ; +NDepends exe : linear.cal ; # Normally create it + +# Generate strange.cal example/diagnostic +# (NoUpdate so that Cross Compile Win64 hack works) +NNoUpdate strange.cal ; +GenFileND strange.cal : synthcal -s 0.7,1.0,0.9 -p 1.7,0.8,0.7 [ NormPaths strange ] ; +NDepends exe : strange.cal ; # Normally create it + +# Dumy ti3 file generator for testing +#Main dumyti3 : dumyti3.c ; + +# Test utility for XYZ matrix spectral correction +#Main xyzfix : xyzfix.c ; + +# Individual stand alone test of xdg_bds library +MainVariant xdg_bds : xdg_bds.c : : STANDALONE_TEST : : : libconv ; + +# Simple test code of aglob +#Main globtest : globtest.c : : : : : libconv ; + +# fp conversion code test +#Main fp : fp.c ; + +# test code +#Main t : t.c ; +#Main tt : tt.c ; +#Main t8 : t8.c ; +#Main t9 : t9.c ; +#Main i1d3eval : i1d3eval.c ; + + +# Test code +if $(HOME) = "d:\\usr\\graeme" && $(PWD) = "/src/argyll/spectro" { + # /SUBSYSTEM:WINDOWS on NT link ? +# GuiBin oemdnld ; + Main oemdnld : oemdnld.c : : : : oemarch vinflate inflate LzmaDec mongoose : libconv ; + Main fakeindev : fakeindev.c ; + Main cmtest : cmtest.c : : : : : libconv ; +# Main webdisp : webdisp.c : : : : : libconv ; +} + +if $(OLD_GRETAG) && $(UNIX) && $(OS) != MACOSX { + + # test for parsing a VISE archive + Main visetest : visetest.c vinflate.c ; + + # Compute deconvolution filter for i1pro + #Main i1deconv : i1deconv.c ; + + # Compute stray light calibration for i1pro + #Main i1stray : i1stray.c ; +} + -- cgit v1.2.3