#-
#  Copyright (c) 1998 Robert N. Watson
#  All rights reserved.
# 
#  Redistribution and use in source and binary forms, with or without
#  modification, are permitted provided that the following conditions
#  are met:
#  1. Redistributions of source code must retain the above copyright
#     notice, this list of conditions and the following disclaimer.
#  2. Redistributions in binary form must reproduce the above copyright
#     notice, this list of conditions and the following disclaimer in the
#     documentation and/or other materials provided with the distribution.
#  3. The name Robert N. Watson may not be used to endorse or promote
#     products derived from this software without specific prior written
#     permission.
# 
#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
#  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
#  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
#  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
#  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
#  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
#  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
#  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
#  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
#  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
#  SUCH DAMAGE.
# 
# 	$Id: Makefile,v 1.6 1998/07/06 00:18:42 robert Exp $
#

BINS=newpag listtokens createtoken \
	deletetoken reflecttoken setuid createuidtoken tokcontrol
TESTBINS=testsyscall setdebug createtokend
CFLAGS+=-Wall -g -L.
KLIBS=libktoken.so
LDLIBS+=-lktoken
all: libktoken.so libktoken.a ${BINS} ${TESTBINS}

libktoken.o: libktoken.c
libktoken.a: libktoken.o
	${AR} -r ${.TARGET} libktoken.o
libktoken.so: libktoken.c
	${CC} ${CFLAGS} -shared -c -o libktoken.so libktoken.c

testsyscall: ${KLIBS} testsyscall.c
setdebug: ${KLIBS} setdebug.c
newpag: ${KLIBS} newpag.c
listtokens: ${KLIBS} listtokens.c
createtoken: ${KLIBS} createtoken.c
createtokend: ${KLIBS} createtokend.c	
deletetoken: ${KLIBS} deletetoken.c
reflecttoken: ${KLIBS} reflecttoken.c
setuid: ${KLIBS} setuid.c
createuidtoken: ${KLIBS} createuidtoken.c
clean:
	rm -f *.[ao] *.so ${BINS} ${TESTBINS}

install:
	install -c -m ${LIBMODE} -o ${LIBOWN} -g ${LIBGRP} libktoken.so ${LIBDIR}/libktoken.so.1.0
	install -c -m ${LIBMODE} -o ${LIBOWN} -g ${LIBGRP} libktoken.a ${LIBDIR}
	install -c -m ${BINMODE} -o ${BINOWN} -g ${BINGRP} ${BINS} /usr/bin
	install -c -m ${NOBINMODE} -o ${BINOWN} -g ${BINGRP} libktoken.h ${INCLUDEDIR}
