85 lines
2.4 KiB
Plaintext
85 lines
2.4 KiB
Plaintext
# 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 when calling
|
|
make, for example:
|
|
|
|
make OPENWRT_VERSION=10.03
|
|
|
|
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
|