summaryrefslogtreecommitdiff
path: root/spectro/Jamfile
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2014-09-01 13:56:46 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2014-09-01 13:56:46 +0200
commit22f703cab05b7cd368f4de9e03991b7664dc5022 (patch)
tree6f4d50beaa42328e24b1c6b56b6ec059e4ef21a5 /spectro/Jamfile
Initial import of argyll version 1.5.1-8debian/1.5.1-8
Diffstat (limited to 'spectro/Jamfile')
-rw-r--r--spectro/Jamfile254
1 files changed, 254 insertions, 0 deletions
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 ;
+}
+