Cross compiling standalone packages for the camera: Difference between revisions
Jump to navigation
Jump to search
| Line 47: | Line 47: | ||
make | make | ||
make install | make install | ||
=When the software is not packaged using autoconf and automake= | =When the software is not packaged using autoconf and automake= | ||
Edit the Makefile | Edit the Makefile | ||
Revision as of 03:30, 20 June 2010
This procedure is intended to
- test software before including it in the cvs,
- to build software that would be too big to fit into the firmware image,
- to build standalone packages you just dont want to include into the firmware image.
First
ELPHEL_SOURCEDIR and TOOLCHAIN values below are installation dependent, check if it match yours.
Setting environment variables
You must source init_env from the Elphel firmware source directory, eg:
ELPHEL_SOURCEDIR=/usr/local/src/elphel353-8.0.7/elphel353 cd $ELPHEL_SOURCEDIR source init_env
and set the following variables:
# toolchain
TOOLCHAIN=/usr/local/cris
export PATH=/usr/local/crisv32/bin:$PATH
export PATH=${TOOLCHAIN}/crisv32-axis-linux-gnu/bin:$PATH
export PATH=${TOOLCHAIN}/bin:$PATH
# binaries
export CC=${TOOLCHAIN}/bin/crisv32-axis-linux-gnu-gcc
export CXX=${TOOLCHAIN}/bin/crisv32-axis-linux-gnu-g++
export CPP=${TOOLCHAIN}/bin/crisv32-axis-linux-gnu-cpp
# options
export CFLAGS=-I${TOOLCHAIN}/include
export CFLAGS="${CFLAGS} -I${TOOLCHAIN}/crisv32-axis-linux-gnu/sys-include"
export CXXFLAGS=${CFLAGS}
export CPPFLAGS=${CFLAGS}
export LDFLAGS=-L${TOOLCHAIN}/lib
export LDFLAGS="${LDFLAGS} -L${TOOLCHAIN}/crisv32-axis-linux-gnu/lib/"
# user includes and libraries
export LDFLAGS="${LDFLAGS} -L/usr/local/crisv32/lib"
export CFLAGS="${CFLAGS} -I/usr/local/crisv32/include"
export CXXFLAGS=${CFLAGS}
(check ./configure --help and the Makefile to see if more is needed)
When the software is packaged using autoconf and automake
You normally just have to run:
./configure --host=crisv32-axis-linux-gnu --prefix=/usr/local/crisv32 [ other options ] make make install
When the software is not packaged using autoconf and automake
Edit the Makefile