Manual Build ==================== Setting the Environment -------------------------- The BitFlow user access library, libBFciLib.a, requires that an environment variable, **BITFLOW_INSTALL_DIRS**, be set to contain the full path to the driver distribution package, the firmware files, and the camera files. This will usually be 3 directories and they should be separated by a semicolon character. The installation directory should be the first directory specified. .. code-block:: console $export BITFLOW_INSTALL_DIRS=/bitflow/driver\;/bitflow/flash\;/bitlow/camf Any directories can be chosen for installation so long as the **BITFLOW_INSTALL_DIRS** environment variable is set appropriately. .. note:: If you use the 'install' script there is no environment requirement. However you will still need to set **BITFLOW_INSTALL_DIRS** to run some of the examples. Multiple versions of the BitFlow linux driver can exist on the same PC. The **BITFLOW_INSTALL_DIRS** environment variable will unambiguously specify which driver files are active. .. note:: If you are using shared object libraries (libBFSOciLib.X.X.so) then you must also set **LD_LIBRARY_PATH** to include the apropriate 32b/64b distribution "lib" directory. For example: .. code-block:: console $ export LD_LIBRARY_PATH=/bitflow/driver/32b/lib or .. code-block:: console $ export LD_LIBRARY_PATH=/bitflow/driver/64b/lib Building the kernel module ---------------------------- To build a bitflow.ko module for a custom linux kernel: - configure and compile the custom kernel - change directory to the drv subdirectory of the BitFlow distribution - copy the Makefile appropriate for your hardware, e.g., .. code-block:: console $ cp Makefile_32b Makefile $ make -C M=`pwd` or .. code-block:: console $ cp Makefile_64b Makefile $ make -C M=`pwd` If you do not have full kernel sources then a module compatible with the currently executing kernel will usually build with .. code-block:: console $ cp Makefile_32b Makefile $ make -C /lib/modules/`uname -r`/build M=`pwd` or .. code-block:: console $ cp Makefile_64b Makefile $ make -C /lib/modules/`uname -r`/build M=`pwd` Building the example programs --------------------------------- To build new copy of the CIexample, CIsimple, CISOexample, CISOsimple, and CIpassive executables: - change directory to src - type .. code-block:: console $ make -f Makefile_32b or .. code-block:: console $ make -f Makefile_64b .. note:: As of the v9.xx BitFlow SDK you must have g++ available on the PC because the BitFlow SDK libraries are class-based. The BitFlow SDK interface is still "C" based but linking will fail w/o the g++ tools. .. note:: As of the v9.04 BitFlow SDK there are CIsimpleFile and CIsimpleUserDMAfile sources available. These will only build if the TIFF development libraries are installed on the linux PC.