PREFIX ?= /usr LIBDIR ?= $(PREFIX)/lib INCLUDEDIR ?= $(PREFIX)/include LIBSEPOL_BASE := ../libsepol OBJS := src/android/android.o \ src/android/android_seapp.o \ src/avc.o \ src/avc_internal.o \ src/avc_sidtab.o \ src/booleans.o \ src/callbacks.o \ src/canonicalize_context.o \ src/checkAccess.o \ src/check_context.o \ src/compute_av.o \ src/compute_create.o \ src/compute_member.o \ src/context.o \ src/deny_unknown.o \ src/disable.o \ src/enabled.o \ src/fgetfilecon.o \ src/freecon.o \ src/fsetfilecon.o \ src/get_initial_context.o \ src/getenforce.o \ src/getfilecon.o \ src/getpeercon.o \ src/init.o \ src/label.o \ src/label_backends_android.o \ src/label_file.o \ src/label_support.o \ src/lgetfilecon.o \ src/load_policy.o \ src/lsetfilecon.o \ src/mapping.o \ src/matchpathcon.o \ src/policyvers.o \ src/procattr.o \ src/regex.o \ src/reject_unknown.o \ src/selinux_internal.o \ src/sestatus.o \ src/setenforce.o \ src/setfilecon.o \ src/setrans_client.o \ src/sha1.o \ src/stringrep.o CFLAGS := -DNO_PERSISTENTLY_STORED_PATTERNS \ -DDISABLE_SETRANS \ -DDISABLE_BOOL \ -D_GNU_SOURCE \ -DNO_MEDIA_BACKEND \ -DNO_X_BACKEND \ -DNO_DB_BACKEND \ -DANDROID \ -Wall \ -Werror \ -Wno-error=missing-noreturn \ -Wno-error=unused-function \ -Wno-error=unused-variable \ -DUSE_PCRE2 \ '-DAUDITD_LOG_TAG="auditd"' \ -DPCRE2_CODE_UNIT_WIDTH=8 \ -fPIC \ -I include \ -I src \ -I $(LIBSEPOL_BASE)/include LIBSELINUX := src/libandroid-selinux.so LIBSEPOL := $(LIBSEPOL_BASE)/src/libsepol.a $(LIBSELINUX): $(OBJS) $(LIBSEPOL) $(CC) -o $@ $^ -shared -lpcre2-8 -llog $(LDFLAGS) $(LIBSEPOL): $(MAKE) -C $(LIBSEPOL_BASE)/src libsepol.a install: $(LIBSELINUX) test -d $(PREFIX) || install -d -m 755 $(PREFIX) test -d $(LIBDIR) || install -d -m 755 $(LIBDIR) install -m 755 $(LIBSELINUX) $(LIBDIR) test -d $(INCLUDEDIR) || install -d -m 755 $(INCLUDEDIR) test -d $(INCLUDEDIR)/selinux || install -d -m 755 $(INCLUDEDIR)/selinux install -m 644 $(wildcard include/selinux/*.h) $(INCLUDEDIR)/selinux