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 both C & C++ make steps. This is because, ace-radius & aaaEngine sources are in CPP and libtac 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 the config.h file to be included in Makefile.

Note : config.h is a generated file from configure.sh of ace-radiusproject. 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.