Files
libbpf/src
Andrey Ignatov a82a66eda3 Extend build and add install rules to Makefile
Introduce multiple improvements to Makefile to make the build more
flexible and support install:

* Support overriding CFLAGS by user but keep required flags in place.
  ALL_FLAGS is used in Makefile as recommended in [1].

* Add additional BUILD_SHARED flag to build dynamically linked flavor of
  the library. If the flag is set, -fPIC is also passed to make it
  possible to build .so.

* Support building in a separate directory provided by OBJDIR variable.

* Add multiple install targets. By default the library itself and libbpf
  headers are installed (install target). UAPI headers can be optionally
  installed by user.

* All installation paths, including PREFIX, library and include
  directories can be overridden. UAPI can be made different from include
  directory for libbpf headers. That makes it possible to keep latest
  <linux/bpf.h> in a place that doesn't conflict with the one installed
  e.g. by kernel-headers package and use it in user's build system.

* Support DESTDIR (see [2]).

* Support overriding LDFLAGS.

* Use utilities such as rm directly as recommended in [3].

* Use compiler and related programs (such as ar) via make variables as
  recommended in [3].

* In clean rule remove all possible build artifacts not to rely on passed
  options (e.g. if build was done w/ BUILD_SHARED, but clean w/o it).

* Document new build options in README.

[1] https://www.gnu.org/software/make/manual/html_node/Command-Variables.html#Command-Variables
[2] https://www.gnu.org/prep/standards/html_node/DESTDIR.html
[3] https://www.gnu.org/software/make/manual/html_node/Utilities-in-Makefiles.html#Utilities-in-Makefiles

Signed-off-by: Andrey Ignatov <rdna@fb.com>
2018-10-11 15:45:50 -07:00
..
2018-10-09 21:56:40 -07:00
2018-10-09 21:56:40 -07:00
2018-10-09 21:56:40 -07:00
2018-10-09 21:56:40 -07:00
2018-10-09 21:56:40 -07:00
2018-10-09 21:56:40 -07:00
2018-10-09 21:56:40 -07:00
2018-10-09 21:56:40 -07:00
2018-10-09 21:56:40 -07:00
2018-10-09 21:56:40 -07:00
2018-10-09 21:56:40 -07:00
2018-10-09 21:56:40 -07:00