Go to file
Nicolas Iooss 7e9d1344db Makefile: define a default value for CFLAGS
When building the project with "make DESTDIR=... install", the root
Makefile defines CFLAGS and LDFLAGS without any warning flags ("CFLAGS
+= -I$(DESTDIR)/usr/include" and "LDFLAGS += -L$(DESTDIR)/usr/lib"). As
the Makefiles in subdirectories do not override the flags with warning
flags, the code gets compiled without any enabled warning.

This leads for example to code being introduced which breaks building
libsepol from its directory, while building it from the root Makefile
still works fine.

This issue can be fixed by defining a set of flags in the root Makefile
which are used by all Makefiles in subdirectories. The flags have been
chosen following these principles:
* they are compatible with both clang and gcc,
* they already appear in at least one Makefile, and
* they are not triggered with the current git master version.

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
2017-09-05 12:37:41 -04:00
checkpolicy checkpolicy,libselinux,libsepol,policycoreutils: Update my email address 2017-08-17 14:17:12 -04:00
dbus Update VERSION files for 2.7 release. 2017-08-04 09:31:00 -04:00
gui Update VERSION files for 2.7 release. 2017-08-04 09:31:00 -04:00
libselinux checkpolicy,libselinux,libsepol,policycoreutils: Update my email address 2017-08-17 14:17:12 -04:00
libsemanage Update VERSION files for 2.7 release. 2017-08-04 09:31:00 -04:00
libsepol libsepol/cil: drop wrong unused attribute 2017-09-05 12:37:23 -04:00
mcstrans Update VERSION files for 2.7 release. 2017-08-04 09:31:00 -04:00
policycoreutils checkpolicy,libselinux,libsepol,policycoreutils: Update my email address 2017-08-17 14:17:12 -04:00
python sepolicy: remove stray space in section "SEE ALSO" 2017-08-07 10:44:23 -04:00
restorecond restorecond: check write() and daemon() results 2017-09-05 12:37:29 -04:00
sandbox Update VERSION files for 2.7 release. 2017-08-04 09:31:00 -04:00
scripts Fix release script 2016-11-16 11:19:51 -05:00
secilc libsepol: cil: Add ability to redeclare types[attributes] 2017-08-31 14:42:25 -04:00
semodule-utils Update VERSION files for 2.7 release. 2017-08-04 09:31:00 -04:00
.gitignore restorecond: Add gitignore 2016-11-16 11:20:05 -05:00
.travis.yml Travis-CI: do not test gold linkers with clang 2017-08-07 10:44:17 -04:00
CleanSpec.mk Add empty top level Android.mk / CleanSpec.mk files 2015-04-16 07:54:09 -04:00
Makefile Makefile: define a default value for CFLAGS 2017-09-05 12:37:41 -04:00
README libsepol compilation fixes for macOS. 2017-01-20 13:19:57 -05:00

Please submit all bug reports and patches to selinux@tycho.nsa.gov.
Subscribe via selinux-join@tycho.nsa.gov.

Build dependencies on Fedora:
yum install audit-libs-devel bison bzip2-devel dbus-devel dbus-glib-devel flex flex-devel flex-static glib2-devel libcap-devel libcap-ng-devel pam-devel pcre-devel python-devel setools-devel swig xmlto redhat-rpm-config

To build and install everything under a private directory, run:
make DESTDIR=~/obj install install-pywrap

To install as the default system libraries and binaries
(overwriting any previously installed ones - dangerous!),
on x86_64, run:
make LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install install-pywrap relabel
or on x86 (32-bit), run:
make install install-pywrap relabel

This may render your system unusable if the upstream SELinux userspace
lacks library functions or other dependencies relied upon by your
distribution.  If it breaks, you get to keep both pieces.

To install libsepol on macOS (mainly for policy analysis):
cd libsepol; make DESTDIR=/usr/local PREFIX=/usr/local install

This requires GNU coreutils (brew install coreutils).