Things to consider when you generate a Makefile for this project - kspviswa/aaaEngine GitHub Wiki
Often people use various build ecosystems like CMake, Automake, Eclipse make etc to generate Makefiles. In this post, I would like to highlight some points, when you should take care while embracing this auto-generation of Makefiles.
- Make sure your target is a shared-library. It should not be a static library. Else you will risk your proprietary software entangled with OSS.
- Include
fPIC
in compilation flag for bothC
&C++
make steps. This is because,ace-radius
&aaaEngine
sources are in CPP andlibtac
is under C. Hence it is imperative to include position independent code on both C & C++ make steps. - Define
HAVE_CONFIG_H
in the preprocessor section, which then theconfig.h
file to be included inMakefile
.
Note : config.h
is a generated file from configure.sh
of ace-radius
project. This script attempts to scan the part of your system to selectively enable / disable some feature that are needed by ace-radius
source code. These decisions are reflected in config.h
.
The config.h
file that is available in 3rdparty\ace-radius
has been generated for Ubuntu 14 64Bit
which is pretty much compatible with any typical linux system. Should you be able to port / use this project in other architecture / platform, then you should download the source of ace-radius and just run the configure.sh
which will then produce config.h
. Copy the newly generated config.h
to the 3rdparty\ace-radius
and then you are good to go.