99 lines
2.7 KiB
Plaintext
99 lines
2.7 KiB
Plaintext
|
Compiling and installing OwlPS
|
||
|
|
||
|
|
||
|
= Basics =
|
||
|
|
||
|
It is planned to use the ``autotools`` in a near future, but for now,
|
||
|
OwlPS uses a simple set of GNU makefiles to compile and install the
|
||
|
various modules. The top-level makefile will call ``make`` into the
|
||
|
subdirectories for all the modules.
|
||
|
|
||
|
At any level, you can type:
|
||
|
|
||
|
``` make help
|
||
|
|
||
|
to see the usable targets and requirements to compile.
|
||
|
|
||
|
Once you have all the requirements, the easy way is to just call
|
||
|
``make`` from the top-level directory, to build all the modules.
|
||
|
|
||
|
|
||
|
= Compiling =
|
||
|
|
||
|
You can choose the compiler to use by setting the CC variable when
|
||
|
calling ``make``, for example:
|
||
|
|
||
|
make CC=tcc
|
||
|
|
||
|
By default, ``clang`` will be used for C modules, or ``colorgcc`` if
|
||
|
``clang`` is not installed. If neither ``clang`` or ``colorgcc`` is
|
||
|
installed, CC is left to the ``make`` default.
|
||
|
|
||
|
For OwlPS Positioner (C++), ``colorgcc`` is used, or the default CC if
|
||
|
it is not installed. Please keep in mind that this module requires GCC
|
||
|
4.4 or later.
|
||
|
|
||
|
|
||
|
= Compiling on BSD systems =
|
||
|
|
||
|
Remember to use ``gmake`` instead of ``make``. From the top-level, you
|
||
|
will need to set the MAKE variable, for example:
|
||
|
|
||
|
``` gmake MAKE=gmake
|
||
|
|
||
|
OwlPS Listener will not compile since it still contains some
|
||
|
Linux-specific code. You may want to comment-out the related lines of
|
||
|
the top-level makefile.
|
||
|
|
||
|
You might also need to set some variables, for example CC to force a
|
||
|
specific GCC version to be used.
|
||
|
|
||
|
|
||
|
= Compiling for OpenWrt =
|
||
|
|
||
|
To compile for OpenWrt, you need to set the ``OPENWRT_VERSION`` variable
|
||
|
when calling make, for example:
|
||
|
|
||
|
``` make OPENWRT_VERSION=10.03
|
||
|
|
||
|
The makefile ``Makefile_atheros_openwrt`` will help you compile only
|
||
|
modules that have been tested for OpenWrt. If you do not set
|
||
|
``OPENWRT_VERSION``, it will set it for you to "10.03", but you can
|
||
|
specify another version, such as "trunk":
|
||
|
|
||
|
``` make -f Makefile_atheros_openwrt OPENWRT_VERSION=trunk
|
||
|
|
||
|
It is assumed than the OpenWrt SDK is installed in
|
||
|
``$HOME/openwrt/buildroot`` and that the target architecture is
|
||
|
``atheros``. For a different set up, you will need to edit the
|
||
|
``common.mk`` file.
|
||
|
|
||
|
For now, only OpenWrt 10.03 and trunk are supported. If you set
|
||
|
OPENWRT_VERSION to something different than "10.03", it is replaced by
|
||
|
"trunk".
|
||
|
|
||
|
For this to work we advise that you do something like that:
|
||
|
|
||
|
```
|
||
|
mkdir -p ~/openwrt/atheros/trunk
|
||
|
cd ~/openwrt/atheros/trunk
|
||
|
ln -s ../../buildroot/staging_dir
|
||
|
ln -s \
|
||
|
../../buildroot/staging_dir/target-mips_uClibc-0.9.33 \
|
||
|
target-mips_uClibc
|
||
|
ln -s \
|
||
|
../../buildroot/staging_dir/toolchain-mips_gcc-4.6-linaro_uClibc-0.9.33/ \
|
||
|
toolchain-mips_gcc_uClibc
|
||
|
```
|
||
|
|
||
|
Of course, you will have to update the symlinks when you compile a new
|
||
|
version of the SDK.
|
||
|
|
||
|
|
||
|
= Installing =
|
||
|
|
||
|
At any level, you can install what is installable by typing, as
|
||
|
``root``:
|
||
|
|
||
|
``` make install
|