#
#  Simple Makefile for the COPS-A system; compiles, and chmods 
# the programs.
#
# Usage:	make all		-- makes everything
#		make exec		-- makes all executable programs
#		make doc		-- makes all documentation
#		make man		-- makes all manual pages
#		make <program_name>	-- make a given program
#		make clean		-- deletes all executables
#
# Adapted for Apollo SR10.1 6/15/90
# By Mark C. DiVecchio
#    Silogic Systems
#    619-549-9841
#
EXECUTABLE = home.chk user.chk user_data.chk is_readable is_writable pass.chk \
	     addto clearfiles filewriters members tilde id_acl if_acl
C_SRC      = home.chk.c user_chk.c user_data_chk.c is_readable.c is_writable.c pass.c \
	     addto.c clearfiles.c filewriters.c members.c tilde.c \
             id_acl.c if_acl.c
SHELL_PROGS= chk_strings root.chk dev.chk dir.chk cron.chk \
	     file.chk cops-a group.chk rc.chk passwd.chk \
	     suid.chk kuang init_kuang reconfig
SUPPORT    = dir.chklst file.chklst makefile stop.sample \
	     COPS.READ.1ST Beta.info SUID.README MANIFEST
DOCS	   = docs/COPS.report.ms docs/suid.man.ms docs/kuang.man.ms
MAN        = docs/cops.1 docs/cron.1 docs/dev.1 docs/dir.1 docs/file.1 docs/group.1 docs/passwd.1 \
	     docs/is_able.1 docs/home.1 docs/user.1 docs/pass.1 docs/tilde.1\
	     docs/root.1 docs/rc.1 docs/user_data.1 docs/umask.1
CFLAGS     = -O
ROFFLAGS   = -ms

#
# Where the programs are....
#
CHMOD=/bin/chmod
MKDIR=/bin/mkdir
CP=/bin/cp
CC=/bin/cc
NROFF=/usr/bin/nroff

# make all
all:	$(EXECUTABLE) $(DOCS) $(MAN)
	$(CHMOD) 700 $(SHELL_PROGS)
	$(CHMOD) 700 $(EXECUTABLE)
	$(CHMOD) 600 $(MAN)
	$(CHMOD) 600 $(DOCS)

exec:	$(EXECUTABLE)
	$(CHMOD) 700 $(SHELL_PROGS)
	$(CHMOD) 700 $(EXECUTABLE)

doc:	$(DOCS)
	$(CHMOD) 600 $(DOCS)

man:	$(MAN)
	$(CHMOD) 600 $(MAN)

# make the programs
addto: src/addto.c
	$(CC) $(CFLAGS) -o addto src/addto.c

clearfiles: src/clearfiles.c
	$(CC) $(CFLAGS) -o clearfiles src/clearfiles.c

filewriters: src/filewriters.c
	$(CC) $(CFLAGS) -o filewriters src/filewriters.c

members: src/members.c
	$(CC) $(CFLAGS) -o members src/members.c

home.chk: src/home.chk.c
	$(CC) $(CFLAGS) -o home.chk src/home.chk.c

user.chk: src/user_chk.c
	$(CC) $(CFLAGS) -o user.chk src/user_chk.c

user_data.chk: src/user_data_chk.c
	$(CC) $(CFLAGS) -o user_data.chk src/user_data_chk.c

is_readable: src/is_readable.c
	$(CC) $(CFLAGS) -o is_readable src/is_readable.c

is_writable: src/is_writable.c
	$(CC) $(CFLAGS) -o is_writable src/is_writable.c

id_acl: src/id_acl.c
	$(CC) $(CFLAGS) -o id_acl src/id_acl.c

if_acl: src/if_acl.c
	$(CC) $(CFLAGS) -o if_acl src/if_acl.c

pass.chk: src/pass.c
	$(CC) $(CFLAGS) -o pass.chk src/pass.c

tilde: src/tilde.c
	$(CC) $(CFLAGS) -o tilde src/tilde.c

# 'roff out those docs
docs/COPS.report.ms: docs/COPS.report
	$(NROFF) $(ROFFLAGS) docs/COPS.report > docs/COPS.report.ms

docs/kuang.man.ms: docs/kuang.man
	$(NROFF) $(ROFFLAGS) docs/kuang.man > docs/kuang.man.ms

docs/suid.man.ms: docs/suid.man
	$(NROFF) $(ROFFLAGS) docs/suid.man > docs/suid.man.ms

docs/cops.1: docs/cops
	$(NROFF) -man docs/cops > docs/cops.1

docs/cron.1: docs/cron
	$(NROFF) -man docs/cron > docs/cron.1

docs/dev.1: docs/dev
	$(NROFF) -man docs/dev > docs/dev.1

docs/dir.1: docs/dir
	$(NROFF) -man docs/dir > docs/dir.1

docs/file.1: docs/file
	$(NROFF) -man docs/file > docs/file.1

docs/group.1: docs/group
	$(NROFF) -man docs/group > docs/group.1

docs/passwd.1: docs/passwd
	$(NROFF) -man docs/passwd > docs/passwd.1

docs/pass.1: docs/pass
	$(NROFF) -man docs/pass > docs/pass.1

docs/is_able.1: docs/is_able
	$(NROFF) -man docs/is_able > docs/is_able.1

docs/home.1: docs/home
	$(NROFF) -man docs/home > docs/home.1

docs/user.1: docs/user
	$(NROFF) -man docs/user > docs/user.1

docs/user_data.1: docs/user_data
	$(NROFF) -man docs/user_data > docs/user_data.1

docs/tilde.1: docs/tilde
	$(NROFF) -man docs/tilde > docs/tilde.1

docs/root.1: docs/root
	$(NROFF) -man docs/root > docs/root.1

docs/rc.1: docs/rc
	$(NROFF) -man docs/rc > docs/rc.1

docs/umask.1: docs/umask
	$(NROFF) -man docs/umask > docs/umask.1

clean:
	rm $(EXECUTABLE)

# the end

