#
# Copyright (c) 1983 Regents of the University of California.
# All rights reserved. The Berkeley Software License Agreement
# specifies the terms and conditions for redistribution.
#
# @(#)Makefile	4.23 (Berkeley) 7/1/83
# $Header:Makefile 12.1$
# $ACIS:Makefile 12.1$
# $Source: /ibm/acis/usr/src/lib/libc/gen/RCS/Makefile,v $
#
# Modified for NFS by UWASH

CFLAGS=	-O

# OBJS1 defines functions for which machine written code is provided
# in /usr/src/lib/libc/machine/gen
# ifndef ibm032
# OBJS1 = index.o rindex.o strcat.o strncmp.o strcmp.o strcpy.o strlen.o 
# endif

# VFS version
SRCS =	abort.c alarm.c atoi.c atol.c \
	calloc.c closedir.c crypt.c ctime.c ctype_.c \
	errlst.c execvp.c \
	fstab.c \
	gcvt.c getenv.c getgrent.c getlogin.c getpass.c \
	getpwent.c getttyent.c getttynam.c getusershell.c getwd.c\
	initgroups.c isatty.c \
	malloc.c mkstemp.c mktemp.c mntent.c\
	ndbm.c nlist.c \
	opendir.c \
	perror.c popen.c psignal.c \
	qsort.c \
	random.c readdir.c regex.c \
	scandir.c seekdir.c setegid.c seteuid.c setgid.c setrgid.c setruid.c \
	setuid.c siginterrupt.c siglist.c signal.c sleep.c strncat.c strncpy.c \
	strstr.c swab.c syslog.c system.c \
	telldir.c time.c timezone.c ttyname.c ttyslot.c \
	ualarm.c usleep.c \
	valloc.c \
	getopt.c strcasecmp.c setenv.c localtime.c mem.c strerror.c

# non-VFS version
#SRCS =  abort.c alarm.c atoi.c atol.c \
#        calloc.c closedir.c crypt.c ctime.c ctype_.c \
#        errlst.c execvp.c \
#        fstab.c \
#        gcvt.c getenv.c getgrent.c getgrgid.c getgrnam.c getlogin.c getpass.c \
#        getpwent.c getpwnamuid.c getttyent.c getttynam.c getusershell.c getwd.c\
#        initgroups.c isatty.c \
#        malloc.c mkstemp.c mktemp.c \
#        ndbm.c nlist.c \
#        opendir.c \
#        perror.c popen.c psignal.c \
#        qsort.c \
#        random.c readdir.c regex.c \
#        scandir.c seekdir.c setegid.c seteuid.c setgid.c setrgid.c setruid.c \
#        setuid.c siginterrupt.c siglist.c signal.c sleep.c strncat.c strncpy.c \
#        swab.c syslog.c system.c \
#        telldir.c time.c timezone.c ttyname.c ttyslot.c \
#        ualarm.c usleep.c \
#        valloc.c

# NOTYET fakcu.o 

# VFS version
OBJS=	${OBJS1} abort.o alarm.o atoi.o atol.o \
	calloc.o closedir.o crypt.o ctime.o ctype_.o \
	errlst.o execvp.o \
	fstab.o \
	gcvt.o getenv.o getgrent.o getlogin.o getpass.o \
	getpwent.o getttyent.o getttynam.o getusershell.o getwd.o\
	initgroups.o isatty.o \
	malloc.o mkstemp.o mktemp.o mntent.o \
	ndbm.o nlist.o \
	opendir.o \
	perror.o popen.o psignal.o \
	qsort.o \
	random.o readdir.o regex.o \
	scandir.o seekdir.o setegid.o seteuid.o setgid.o setrgid.o setruid.o \
	setuid.o siginterrupt.o siglist.o signal.o sleep.o strncat.o strncpy.o \
	strstr.o swab.o syslog.o system.o \
	telldir.o time.o timezone.o ttyname.o ttyslot.o \
	ualarm.o usleep.o \
	valloc.o \
	getopt.o strcasecmp.o setenv.o localtime.o mem.o strerror.o

# non-VFS version
#OBJS=   ${OBJS1} abort.o alarm.o atoi.o atol.o \
#        calloc.o closedir.o crypt.o ctime.o ctype_.o \
#        errlst.o execvp.o \
#        fstab.o \
#        gcvt.o getenv.o getgrent.o getgrgid.o getgrnam.o getlogin.o getpass.o \
#        getpwent.o getpwnamuid.o getttyent.o getttynam.o getusershell.o getwd.o\
#        initgroups.o isatty.o \
#        malloc.o mkstemp.o mktemp.o \
#        ndbm.o nlist.o \
#        opendir.o \
#        perror.o popen.o psignal.o \
#        qsort.o \
#        random.o readdir.o regex.o \
#        scandir.o seekdir.o setegid.o seteuid.o setgid.o setrgid.o setruid.o \
#        setuid.o siginterrupt.o siglist.o signal.o sleep.o strncat.o strncpy.o \
#        swab.o syslog.o system.o \
#        telldir.o time.o timezone.o ttyname.o ttyslot.o \
#        ualarm.o usleep.o \
#        valloc.o

TAGSFILE=tags

.c.o:
	${CC} -p ${CFLAGS} -c $*.c
	-ld -X -r $*.o
	mv a.out profiled/$*.o
	${CC} ${CFLAGS} -c $*.c
	-ld -x -r $*.o
	mv a.out $*.o

localtime.o: localtime.c
	gcc -p ${CFLAGS} -c localtime.c
	-ld -X -r localtime.o
	mv a.out profiled/localtime.o
	gcc ${CFLAGS} -c localtime.c
	-ld -x -r localtime.o
	mv a.out localtime.o

all: genlib

genlib genlib_p: ${OBJS}
	@echo "building profiled genlib"
	@cd profiled; ar cru ../genlib_p ${OBJS}
	@echo "buiding normal genlib"
	@ar cru genlib ${OBJS}


errlst.o: errlst.c
	${CC} -S ${DEFS} errlst.c
	ed - <:errfix errlst.s
	as -o errlst.o errlst.s
	cp errlst.o profiled/errlst.o
	rm errlst.s

tags:
	cwd=`pwd`; \
	for i in ${SRCS}; do \
		ctags -a -f ${TAGSFILE} $$cwd/$$i; \
	done

clean:
	rm -f genlib genlib_p *.o profiled/*.o tags Makefile.bak

depend:
	for i in ${SRCS}; do \
	    ${CC} -M ${CFLAGS} $$i | awk ' { if ($$1 != prev) \
		{ if (rec != "") print rec; rec = $$0; prev = $$1; } \
		else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
		else rec = rec " " $$2 } } \
		END { print rec } ' >> makedep; done
	sed -n '1,/^# DO NOT DELETE THIS LINE/p' Makefile > Makefile.tmp
	cat makedep >> Makefile.tmp
	rm makedep
	echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile.tmp
	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile.tmp
	echo '# see make depend above' >> Makefile.tmp
	cp Makefile Makefile.bak
	mv Makefile.tmp Makefile

# DO NOT DELETE THIS LINE -- make depend uses it
abort.o: abort.c /usr/include/signal.h /usr/include/sys/nfs_defines.h
alarm.o: alarm.c /usr/include/sys/time.h /usr/include/time.h
atoi.o: atoi.c
atol.o: atol.c
calloc.o: calloc.c
closedir.o: closedir.c /usr/include/sys/nfs_defines.h /usr/include/sys/param.h
closedir.o: /usr/include/sys/nfs_defines.h /usr/include/machine/machparam.h
closedir.o: /usr/include/signal.h /usr/include/sys/nfs_defines.h
closedir.o: /usr/include/sys/types.h /usr/include/sys/dir.h
closedir.o: /usr/include/sys/nfs_defines.h
crypt.o: crypt.c
ctime.o: ctime.c /usr/include/sys/time.h /usr/include/time.h
ctime.o: /usr/include/sys/types.h /usr/include/sys/timeb.h
ctype_.o: ctype_.c /usr/include/ctype.h
errlst.o: errlst.c /usr/include/sys/nfs_defines.h
execvp.o: execvp.c /usr/include/errno.h /usr/include/sys/nfs_defines.h
fstab.o: fstab.c /usr/include/sys/nfs_defines.h /usr/include/fstab.h
fstab.o: /usr/include/stdio.h /usr/include/ctype.h /usr/include/mntent.h
fstab.o: /usr/include/sys/nfs_defines.h
gcvt.o: gcvt.c /usr/include/ctype.h
getenv.o: getenv.c
getgrent.o: getgrent.c /usr/include/sys/nfs_defines.h /usr/include/stdio.h
getgrent.o: /usr/include/grp.h ./../yp/ypclnt.h /usr/include/sys/nfs_defines.h
getlogin.o: getlogin.c /usr/include/utmp.h
getpass.o: getpass.c /usr/include/stdio.h /usr/include/signal.h
getpass.o: /usr/include/sys/nfs_defines.h /usr/include/sgtty.h
getpass.o: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
getpass.o: /usr/include/sys/ttydev.h
getpwent.o: getpwent.c /usr/include/sys/nfs_defines.h /usr/include/stdio.h
getpwent.o: /usr/include/pwd.h /usr/include/ndbm.h ./../yp/ypclnt.h
getpwent.o: /usr/include/sys/nfs_defines.h /usr/include/sys/file.h
getpwent.o: /usr/include/sys/nfs_defines.h /usr/include/ctype.h
getttyent.o: getttyent.c /usr/include/stdio.h /usr/include/strings.h
getttyent.o: /usr/include/ttyent.h
getttynam.o: getttynam.c /usr/include/ttyent.h
getusershell.o: getusershell.c /usr/include/sys/nfs_defines.h
getusershell.o: /usr/include/sys/param.h /usr/include/sys/nfs_defines.h
getusershell.o: /usr/include/machine/machparam.h /usr/include/signal.h
getusershell.o: /usr/include/sys/nfs_defines.h /usr/include/sys/types.h
getusershell.o: /usr/include/sys/file.h /usr/include/sys/nfs_defines.h
getusershell.o: /usr/include/sys/stat.h /usr/include/sys/nfs_defines.h
getusershell.o: /usr/include/ctype.h /usr/include/stdio.h
getwd.o: getwd.c /usr/include/sys/param.h /usr/include/sys/nfs_defines.h
getwd.o: /usr/include/machine/machparam.h /usr/include/signal.h
getwd.o: /usr/include/sys/nfs_defines.h /usr/include/sys/types.h
getwd.o: /usr/include/sys/stat.h /usr/include/sys/nfs_defines.h
getwd.o: /usr/include/sys/dir.h /usr/include/sys/nfs_defines.h
initgroups.o: initgroups.c /usr/include/stdio.h /usr/include/sys/param.h
initgroups.o: /usr/include/sys/nfs_defines.h /usr/include/machine/machparam.h
initgroups.o: /usr/include/signal.h /usr/include/sys/nfs_defines.h
initgroups.o: /usr/include/sys/types.h /usr/include/grp.h
isatty.o: isatty.c /usr/include/sgtty.h /usr/include/sys/ioctl.h
isatty.o: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
malloc.o: malloc.c /usr/include/sys/types.h
mkstemp.o: mkstemp.c /usr/include/sys/file.h /usr/include/sys/nfs_defines.h
mktemp.o: mktemp.c
mntent.o: mntent.c /usr/include/sys/nfs_defines.h /usr/include/stdio.h
mntent.o: /usr/include/ctype.h /usr/include/mntent.h
mntent.o: /usr/include/sys/nfs_defines.h /usr/include/sys/file.h
mntent.o: /usr/include/sys/nfs_defines.h
ndbm.o: ndbm.c /usr/include/sys/types.h /usr/include/sys/stat.h
ndbm.o: /usr/include/sys/nfs_defines.h /usr/include/sys/file.h
ndbm.o: /usr/include/sys/nfs_defines.h /usr/include/stdio.h
ndbm.o: /usr/include/errno.h /usr/include/sys/nfs_defines.h /usr/include/ndbm.h
nlist.o: nlist.c /usr/include/sys/types.h /usr/include/a.out.h
nlist.o: /usr/include/sys/exec.h /usr/include/stdio.h
opendir.o: opendir.c /usr/include/sys/nfs_defines.h /usr/include/sys/param.h
opendir.o: /usr/include/sys/nfs_defines.h /usr/include/machine/machparam.h
opendir.o: /usr/include/signal.h /usr/include/sys/nfs_defines.h
opendir.o: /usr/include/sys/types.h /usr/include/sys/stat.h
opendir.o: /usr/include/sys/nfs_defines.h /usr/include/sys/dir.h
opendir.o: /usr/include/sys/nfs_defines.h /usr/include/errno.h
opendir.o: /usr/include/sys/nfs_defines.h
perror.o: perror.c /usr/include/sys/types.h /usr/include/sys/uio.h
perror.o: /usr/include/sys/nfs_defines.h
popen.o: popen.c /usr/include/stdio.h /usr/include/signal.h
popen.o: /usr/include/sys/nfs_defines.h
psignal.o: psignal.c /usr/include/signal.h /usr/include/sys/nfs_defines.h
qsort.o: qsort.c
random.o: random.c /usr/include/stdio.h
readdir.o: readdir.c /usr/include/sys/nfs_defines.h /usr/include/sys/param.h
readdir.o: /usr/include/sys/nfs_defines.h /usr/include/machine/machparam.h
readdir.o: /usr/include/signal.h /usr/include/sys/nfs_defines.h
readdir.o: /usr/include/sys/types.h /usr/include/sys/dir.h
readdir.o: /usr/include/sys/nfs_defines.h
regex.o: regex.c
scandir.o: scandir.c /usr/include/sys/nfs_defines.h /usr/include/sys/types.h
scandir.o: /usr/include/sys/stat.h /usr/include/sys/nfs_defines.h
scandir.o: /usr/include/sys/dir.h /usr/include/sys/nfs_defines.h
seekdir.o: seekdir.c /usr/include/sys/nfs_defines.h /usr/include/sys/param.h
seekdir.o: /usr/include/sys/nfs_defines.h /usr/include/machine/machparam.h
seekdir.o: /usr/include/signal.h /usr/include/sys/nfs_defines.h
seekdir.o: /usr/include/sys/types.h /usr/include/sys/dir.h
seekdir.o: /usr/include/sys/nfs_defines.h
setegid.o: setegid.c
seteuid.o: seteuid.c
setgid.o: setgid.c
setrgid.o: setrgid.c
setruid.o: setruid.c
setuid.o: setuid.c
siginterrupt.o: siginterrupt.c /usr/include/signal.h
siginterrupt.o: /usr/include/sys/nfs_defines.h
siglist.o: siglist.c /usr/include/signal.h /usr/include/sys/nfs_defines.h
signal.o: signal.c /usr/include/signal.h /usr/include/sys/nfs_defines.h
sleep.o: sleep.c /usr/include/sys/time.h /usr/include/time.h
sleep.o: /usr/include/signal.h /usr/include/sys/nfs_defines.h
strncat.o: strncat.c
strncpy.o: strncpy.c
swab.o: swab.c
syslog.o: syslog.c /usr/include/sys/types.h /usr/include/sys/socket.h
syslog.o: /usr/include/sys/file.h /usr/include/sys/nfs_defines.h
syslog.o: /usr/include/sys/signal.h /usr/include/sys/nfs_defines.h
syslog.o: /usr/include/sys/syslog.h /usr/include/netdb.h /usr/include/strings.h
system.o: system.c /usr/include/signal.h /usr/include/sys/nfs_defines.h
telldir.o: telldir.c /usr/include/sys/nfs_defines.h /usr/include/sys/param.h
telldir.o: /usr/include/sys/nfs_defines.h /usr/include/machine/machparam.h
telldir.o: /usr/include/signal.h /usr/include/sys/nfs_defines.h
telldir.o: /usr/include/sys/types.h /usr/include/sys/dir.h
telldir.o: /usr/include/sys/nfs_defines.h
time.o: time.c /usr/include/sys/types.h /usr/include/sys/time.h
time.o: /usr/include/time.h
timezone.o: timezone.c
ttyname.o: ttyname.c /usr/include/sys/param.h /usr/include/sys/nfs_defines.h
ttyname.o: /usr/include/machine/machparam.h /usr/include/signal.h
ttyname.o: /usr/include/sys/nfs_defines.h /usr/include/sys/types.h
ttyname.o: /usr/include/sys/dir.h /usr/include/sys/nfs_defines.h
ttyname.o: /usr/include/sys/stat.h /usr/include/sys/nfs_defines.h
ttyslot.o: ttyslot.c /usr/include/ttyent.h
ualarm.o: ualarm.c /usr/include/sys/time.h /usr/include/time.h
usleep.o: usleep.c /usr/include/sys/time.h /usr/include/time.h
usleep.o: /usr/include/signal.h /usr/include/sys/nfs_defines.h
valloc.o: valloc.c
getopt.o: getopt.c /usr/include/sys/nfs_defines.h
strcasecmp.o: strcasecmp.c
# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
