##########################################################################
# (C) Copyright 1991 X/Open Company Limited
#
# All rights reserved.  No part of this source code may be reproduced,
# stored in a retrieval system, or transmitted, in any form or by any
# means, electronic, mechanical, photocopying, recording or otherwise,
# except as stated in the end-user licence agreement, without the prior
# permission of the copyright owners.
#
# X/Open and the 'X' symbol are trademarks of X/Open Company Limited in
# the UK and other countries.
#
#	SCCS:	@(#)POSIX.os/procenv/setuid/Makefile	Rel 4.4.1 (06/09/97)
#
#	PROJECT:	VSX
#	PRODUCT:	POSIX.os/procenv/setuid
#	AUTHOR:		Joseph Nave, UniSoft Ltd.
#	DATE CREATED:	
#	TARGETS:	T.setuid
#			setuid_su1
#			setuid_t01
#			setuid_t03
##########################################################################

CC =	cc
RM =		rm -f
# This is a working lint in the top level testset directory
LINT =	lint
LINT1 =		/usr/lib/lint1
PRINTER =	lpr
PRINTFLAGS =	
TET_EXECUTE =	../../../../TESTROOT

TET_ROOT =	../../../../..
VSXDIR =	../../../../SRC
SYSINC =	$(VSXDIR)/SYSINC
SYSLIBS =	
LIBVPORT =	$(VSXLIB)/vport.a

VSXINC =	$(VSXDIR)/INC
VSXLIB =	$(VSXDIR)/LIB
VSXBIN =	$(VSXDIR)/BIN
CHMOG =	$(VSXBIN)/chmog
GENLIB =	$(VSXLIB)/genlib.a
TSETLIB =	$(VSXLIB)/tsetlib.a

# What is installed:

INSTOWN1 =	vsx0
INSTOWN2 =	root
INSTOWN3 =	vsx1
INSTGRP1 =	vsxg0
INSTGRP2 =	vsxg0
INSTGRP3 =	vsxg0
INSTMODE1 =	755
INSTMODE2 =	4755
INSTMODE3 =	4755
INSTDIR =	$(TET_EXECUTE)/tset/POSIX.os/procenv/setuid

# product-wide libraries for ld(1):

LIBS =		$(TSETLIB) $(GENLIB) \
		$(VSXLIB)/vlib.a $(LIBVPORT) $(APILIB)

DBUG =	
COPTS =	
SDBFLAG =	
DEFINES =	
INCS =		-I$(TETINC) -I$(VSXINC) -I$(SYSINC)
CFLOCAL =
CFLAGS =	$(CFLOCAL) $(INCS) $(DEFINES) $(DBUG) $(COPTS) $(SDBFLAG)
LDFLAGS =	

S_CFILES =	setuid.c
S_OFILES =	setuid.o
S_IFILES =	
S_LFILES =	

CFILES01 =	setuid_t01.c
OFILES01 =	setuid_t01.o
IFILES01 =	
lFILES01 =	

CFILES_SU1 =	setuid_su1.c
OFILES_SU1 =	setuid_su1.o
IFILES_SU1 =	
lFILES_SU1 =	

CFILES03 =	setuid_t03.c
OFILES03 =	setuid_t03.o
IFILES03 =	
lFILES03 =	

CFILES =	$(S_CFILES) $(CFILES01) $(CFILES_SU1) $(CFILES03)

OLDLINT =	TRUE
LINTFLAGS =	$(INCS) $(DEFINES)  -n
LINTLIBS =	-lvsx -lvlib -ltset -lgen -lvport
LINTDRV =	$(VSXDIR)/common/tet_startup/startup.c

# Targets: ---------------------------------------------------------

all:		T.setuid setuid_t01 setuid_su1 setuid_t03

setuid:		T.setuid setuid_t01 setuid_su1 setuid_t03

T.setuid:	$(S_OFILES) $(TCM) $(VSXLIB)/startup.o $(LIBS)
		$(RM) $@
		$(CC) -o $@ $(S_OFILES) $(TCM) $(VSXLIB)/startup.o $(LIBS) $(SYSLIBS) $(LDFLAGS)
		@echo "	$@ made"

setuid_t01:	$(OFILES01) $(TCMCHILD) $(LIBS)
		$(RM) $@
		$(CC) -o $@ $(OFILES01) $(TCMCHILD) $(LIBS) $(SYSLIBS) $(LDFLAGS)
		@echo "	$@ made"

setuid_su1:	$(OFILES_SU1) $(TCMCHILD) $(LIBS)
		$(RM) $@
		$(CC) -o $@ $(OFILES_SU1) $(TCMCHILD) $(LIBS) $(SYSLIBS) $(LDFLAGS)
		@echo "	$@ made"

setuid_t03:	$(OFILES03) $(TCMCHILD) $(LIBS)
		$(RM) $@
		$(CC) -o $@ $(OFILES03) $(TCMCHILD) $(LIBS) $(SYSLIBS) $(LDFLAGS)
		@echo "	$@ made"

$(LIBS):
	-@echo "Warning: cannot continue making: $@ needs to be installed"
		@false

INSTALL:	$(INSTDIR)/T.setuid $(INSTDIR)/setuid_t01 \
		$(INSTDIR)/setuid_su1 $(INSTDIR)/setuid_t03

$(INSTDIR)/T.setuid:	T.setuid
		$(CHMOG) $(INSTMODE1) $(INSTOWN1) $(INSTGRP1) -m $? $@
		@echo "$@ made and installed"

$(INSTDIR)/setuid_t01:	setuid_t01
		$(CHMOG) $(INSTMODE2) $(INSTOWN2) $(INSTGRP2) -m $? $@
		@echo "$@ made and installed"

$(INSTDIR)/setuid_su1:	setuid_su1
		$(CHMOG) $(INSTMODE3) $(INSTOWN3) $(INSTGRP3) -m $? $@
		@echo "$@ made and installed"

$(INSTDIR)/setuid_t03:	setuid_t03
		$(CHMOG) $(INSTMODE2) $(INSTOWN2) $(INSTGRP2) -m $? $@
		@echo "$@ made and installed"


FORCE:		CLOBBER all

LINT:		LINT0 LINT01 LINTSU1 LINT03

LINT0:
		$(LINT) $(LINTFLAGS) $(S_CFILES) $(LINTDRV) $(LTCM) $(LINTLIBS) 
LINT01:
		$(LINT) $(LINTFLAGS) $(CFILES01) $(LTCMC) $(LINTLIBS)
LINTSU1:
		$(LINT) $(LINTFLAGS) $(CFILES_SU1) $(LTCMC) $(LINTLIBS)
LINT03:
		$(LINT) $(LINTFLAGS) $(CFILES03) $(LTCMC) $(LINTLIBS)

PRINT:
		@$(PRINTER) $(PRINTFLAGS) Makefile $(S_IFILES) $(S_CFILES) 

CLEAN:
		$(RM) $(S_OFILES) $(OFILES01) $(OFILES_SU1) $(OFILES03)

CLOBBER:	CLEAN
		$(RM) T.setuid setuid_t01 setuid_su1 setuid_t03 \
		$(INSTDIR)/T.setuid \
		$(INSTDIR)/setuid_t01 \
		$(INSTDIR)/setuid_su1 \
		$(INSTDIR)/setuid_t03

depend:
	CFLAGS="$(CFLAGS)" CC="$(CC)" $(VSXBIN)/mkdep $(CFILES)

# DO NOT DELETE THIS LINE -- make depend uses it
# DEPENDENCIES MUST END AT END OF FILE
setuid.o:	  \
	../../../../SRC/INC/dbug.h  \
	../../../../SRC/INC/exitcodes.h  \
	../../../../SRC/INC/report.h  \
	../../../../SRC/INC/setprv.h  \
	../../../../SRC/INC/std.h  \
	../../../../SRC/INC/sysdep.h  \
	../../../../SRC/SYSINC/errno.h  \
	../../../../SRC/SYSINC/stdio.h  \
	../../../../SRC/SYSINC/stdlib.h  \
	../../../../SRC/SYSINC/sys/types.h  \
	../../../../SRC/SYSINC/unistd.h 
setuid_t01.o:	  \
	../../../../SRC/INC/dbug.h  \
	../../../../SRC/INC/exitcodes.h  \
	../../../../SRC/INC/report.h  \
	../../../../SRC/INC/setprv.h  \
	../../../../SRC/INC/std.h  \
	../../../../SRC/INC/sysdep.h  \
	../../../../SRC/SYSINC/errno.h  \
	../../../../SRC/SYSINC/setjmp.h  \
	../../../../SRC/SYSINC/signal.h  \
	../../../../SRC/SYSINC/stdlib.h  \
	../../../../SRC/SYSINC/sys/types.h  \
	../../../../SRC/SYSINC/unistd.h 
setuid_su1.o:	  \
	../../../../SRC/INC/dbug.h  \
	../../../../SRC/INC/report.h  \
	../../../../SRC/INC/std.h  \
	../../../../SRC/INC/sysdep.h  \
	../../../../SRC/SYSINC/errno.h  \
	../../../../SRC/SYSINC/stdlib.h  \
	../../../../SRC/SYSINC/sys/types.h  \
	../../../../SRC/SYSINC/unistd.h 
setuid_t03.o:	  \
	../../../../SRC/INC/dbug.h  \
	../../../../SRC/INC/exitcodes.h  \
	../../../../SRC/INC/report.h  \
	../../../../SRC/INC/setprv.h  \
	../../../../SRC/INC/std.h  \
	../../../../SRC/INC/sysdep.h  \
	../../../../SRC/SYSINC/errno.h  \
	../../../../SRC/SYSINC/setjmp.h  \
	../../../../SRC/SYSINC/signal.h  \
	../../../../SRC/SYSINC/stdlib.h  \
	../../../../SRC/SYSINC/sys/types.h  \
	../../../../SRC/SYSINC/unistd.h 
# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
