# $Id: Makefile.user,v 1.3 2005/07/10 22:00:16 ynakam Exp $


CONVERTER=converter
LOADPOLICY=/usr/sbin/load_policy
CHECKPOLICY=/usr/bin/checkpolicy
FIXFILES=/sbin/fixfiles
RESTORECON=/sbin/restorecon

SELINUXTYPE=seedit

POLICYROOT=/etc/selinux/$(SELINUXTYPE)
POLICYDIR=$(POLICYROOT)/policy
CONTEXTSDIR=$(POLICYROOT)/contexts

CONFDIR=./simplified_policy
BASEPOLICYDIR=./base_policy
MACRODIR=./macros
OUTDIR =./sepolicy

INSTALL_PATH = $(POLICYROOT)
SELINUXCONF=/etc/selinux/config

policy:
	mkdir -p $(OUTDIR);
	cat $(CONFDIR)/global $(CONFDIR)/*.a >$(CONFDIR)/all;
	$(CONVERTER) -i $(CONFDIR)/all -o $(OUTDIR)/test.conf -f $(OUTDIR)/file_contexts -b $(BASEPOLICYDIR);
	m4 -Imacros -s $(MACRODIR)/*.te $(OUTDIR)/test.conf > $(OUTDIR)/policy.conf;
	$(CHECKPOLICY) -o $(OUTDIR)/policy.`cat /selinux/policyvers` $(OUTDIR)/policy.conf;

install: policy
	cp $(OUTDIR)/policy.`cat /selinux/policyvers` $(POLICYDIR)
	cp $(OUTDIR)/file_contexts $(CONTEXTSDIR)/files/
	cp -r $(BASEPOLICYDIR)/contexts/*  $(CONTEXTSDIR) 

reload : install
	$(LOADPOLICY) $(POLICYDIR)/policy.`cat /selinux/policyvers`
	touch tmp/load

relabel: reload
	$(FIXFILES) restore
	cp $(OUTDIR)/file_contexts $(OUTDIR)/file_contexts.old

diffrelabel: reload
	diff $(OUTDIR)/file_contexts.old $(OUTDIR)/file_contexts -r|grep -e "^[<>]"|sed -e 's/^[><][ \t]*//'|sed -e 's/[ \t]\+.*//'|sed -e 's/(.*//'|sort|$(RESTORECON) -f - -R -vv
	cp $(OUTDIR)/file_contexts $(OUTDIR)/file_contexts.old







