Path: utzoo!attcan!uunet!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!bloom-beacon!husc6!rutgers!njin!princeton!notecnirp!nfs
From: nfs@notecnirp.Princeton.EDU (Norbert Schlenker)
Newsgroups: comp.os.minix
Subject: Another new stdio (part 1 of 4)
Summary: Installation scripts and makefiles
Message-ID: <19735@princeton.Princeton.EDU>
Date: 30 Sep 89 16:06:17 GMT
Sender: news@princeton.Princeton.EDU
Reply-To: nfs@notecnirp.UUCP (Norbert Schlenker)
Organization: Dept. of Computer Science, Princeton University
Lines: 341

echo x - Install
sed '/^X/s///' > Install << '/'
X#!/bin/sh
X# Run with appropriate permissions.
X# Assumes entire package is unpacked in ${MAKEDIR}.
X# Before running, modify the following to reflect what you want.
X
X# Should be an absolute directory with sufficient size to hold the
X# packaged source and the accompanying object files.
XMAKEDIR=/usr/nfs/lib
X
X# Should be an absolute directory with sufficient size to hold all
X# !!!EXISTING!!! library objects.  Must be different than MAKEDIR.
XTMPDIR=/usr/nfs/tmp
X
X# Should be the existing location of standard headers.
XINCLUDE=/usr/include
X
X# Should be the existing location of the C library.
XLIB=/usr/lib
X
X# Should be the C library name.
XLIBC=libc.a
X
X# Old include files will have this suffix added to their names.
X# Old library will be moved to its existing name plus this suffix.
XSUFFIX=.orig
X
X# Change to reflect what you want.
X# -LIB -D_MINIX should always be there (for the ACK compiler).
X# -D_V7		is required if you don't have Simon Poole's FS patches.
X# -Di8088/-DATARI_ST must be specified to describe the target machine.
X# -DNDEBUG	if you want no debugging in the library routines.
X# -D_SAFEMACRO	if you want a few extra ctype/stdio macros for speed.
X
XCFLAGS='-LIB -D_MINIX -D_V7 -Di8088 -DNDEBUG -D_SAFEMACRO'
X
Xif test ${TMPDIR} = ${MAKEDIR}
Xthen
Xecho Please change either TMPDIR or MAKEDIR.
Xexit
Xfi
X
X# Save old library routines.
Xecho Saving old library ${LIBC} as ${LIB}/${LIBC}${SUFFIX}
Xif mv ${LIB}/${LIBC} ${LIB}/${LIBC}${SUFFIX}
Xthen echo
Xelse echo "Couldn't save original ${LIBC}"
Xexit
Xfi
X
X# Extract existing routines.
Xecho Extracting existing library routines.
Xcd ${TMPDIR}
Xar x ${LIB}/${LIBC}${SUFFIX}
X
X# Install new include files.
Xecho "Installing new headers in ${INCLUDE}; old ones saved with suffix ${SUFFIX}"
Xcd ${MAKEDIR}
Xmv stdiolib.h stdiolib.H	# Don't install these two in ${INCLUDE}
Xmv lib.h lib.H
Xfor i in *.h
Xdo if test -f ${INCLUDE}/${i}
Xthen mv ${INCLUDE}/${i} ${INCLUDE}/${i}${SUFFIX}
Xfi
Xdone
Xmv *.h ${INCLUDE}
Xmv stdiolib.H stdiolib.h
Xmv lib.H lib.h
Xcd sys
Xfor i in *.h
Xdo if test -f ${INCLUDE}/${i}
Xthen mv ${INCLUDE}/sys/${i} ${INCLUDE}/sys/${i}${SUFFIX}
Xfi
Xdone
Xmv *.h ${INCLUDE}/sys
X
X# Make new library routines.
Xecho Making new library routines.
Xcd ${MAKEDIR}
Xif make CFLAGS="${CFLAGS}" objects
Xthen echo  Make complete.
Xelse echo  Make aborted.
Xexit
Xfi
X
X# Install new library routines.
Xecho Installing new routines in ${LIB}/${LIBC}.
Xcd ${MAKEDIR}
Xfor i in *.s
Xdo rm -f ${TMPDIR}/${i}; mv ${i} ${TMPDIR}
Xdone
Xcd ${TMPDIR}		# Remove some extra hangers on.
Xrm -f atoi.s atol.s cleanup.s doprintf.s fprintf.s printdat.s puts.s vsprintf.s
Xmake -f ${MAKEDIR}/Makefile.libc TARGET=${LIBC}
Xmv ${LIBC} ${LIB}
X
X# Clean up.
Xrm .Made
Xrm -f [a-e]*.s
Xrm -f [f-j]*.s
Xrm -f [k-o]*.s
Xrm -f [p-t]*.s
Xrm -f [u-z]*.s
Xecho Installation complete.
Xecho
Xecho All the new sources can be found in ${MAKEDIR} - save them in an
Xecho appropriate location.  Be sure to save "lib.h" and "stdiolib.h".
/
echo x - Makefile
sed '/^X/s///' > Makefile << '/'
XCFLAGS = -LIB -D_MINIX -D_V7 -Di8088 -DNDEBUG -D_SAFEMACRO
X
XSTDIO = _bufproc.s _cleanup.s _doprnt.s _doscan.s _filbuf.s _flsbuf.s	\
X	_flspbuf.s _iobdata.s _iobproc.s _ioinit.s _valmode.s		\
X	atexit.s exit.s fclose.s fdopen.s fflush.s			\
X	fgetc.s fgets.s fopen.s fputc.s fputs.s fread.s			\
X	freopen.s fseek.s ftell.s fwrite.s gets.s perror.s		\
X	printf.s remove.s rename.s scanf.s setvbuf.s			\
X	sprintf.s sscanf.s stdio_misc.s tmpfile.s tmpnam.s ungetc.s
X
XSTDLIB = div.s ldiv.s strtol.s strtoul.s
X
XCTYPE = ctype.s
X
XOTHERS = printk.s prints.s cuserid.s getlogin.s getgrent.s getpwent.s
X
Xobjects: $(STDIO) $(STDLIB) $(CTYPE) $(OTHERS)
X
Xcrclist:
X	crc I* M*   >crclist
X	crc *.h     >>crclist
X	crc sys/*.h >>crclist
X	crc *.c     >>crclist
/
echo x - Makefile.libc
sed '/^X/s///' > Makefile.libc << '/'
XCURSES = curses.s termcap.s
X
XMISCELLANEOUS = getpass.s lock.s popen.s putenv.s getopt.s stderr.s \
X	itoa.s ffs.s swab.s stb.s getutil.s portio.s
X
XANSI_UNISTD = ctermid.s cuserid.s execlp.s getcwd.s getlogin.s \
X	getgrent.s getpwent.s ttyname.s
X
XIOCTL = gtty.s stty.s ioctl.s
X
XAMOEBA = uniqport.s amoeba.s
X
XTIME = ctime.s 
X
XSTRERROR = strerror.s
X
XSTDIO = fclose.s fdopen.s fopen.s freopen.s tmpfile.s _valmode.s \
X	scanf.s sscanf.s _doscan.s \
X	fgets.s fread.s gets.s fgetc.s ungetc.s _filbuf.s \
X	printf.s sprintf.s _doprnt.s \
X	fputs.s fwrite.s fputc.s _flsbuf.s \
X	fseek.s ftell.s perror.s setvbuf.s stdio_misc.s tmpnam.s \
X	_ioinit.s _cleanup.s fflush.s _flspbuf.s \
X	_bufproc.s _iobproc.s _iobdata.s \
X	remove.s rename.s
X
XNOT_STDIO = mktemp.s printk.s prints.s
X
XSTDLIB = abort.s abs.s atexit.s bsearch.s div.s getenv.s ldiv.s \
X	malloc.s qsort.s rand.s strtol.s strtoul.s system.s \
X	lrand.s lsearch.s
X
XCTYPE = ctype.s 
X
XDIRENT = opendir.s closedir.s telldir.s rewinddir.s seekdir.s readdir.s \
X	getdents.s
X
XSETJMP = setjmp.s
X
XREGEXP = regexp.s regsub.s
X
XSTRING_BSD = bcmp.s bcopy.s bzero.s
XSTRING_SYSV = index.s rindex.s
XSTRING = $(STRING_BSD) $(STRING_SYSV) \
X	memccpy.s memchr.s memcmp.s memcpy.s memset.s \
X	strstr.s strcat.s strchr.s strcmp.s strcpy.s strcspn.s strlen.s \
X	strncat.s strncmp.s strncpy.s strpbrk.s strrchr.s strspn.s strtok.s
X
XCRYPT = crypt.s
X
XCLEAN_UNISTD = isatty.s sleep.s
X
XUNIX =	access.s alarm.s chdir.s chmod.s chown.s chroot.s close.s creat.s \
X	dup.s dup2.s exec.s fork.s fstat.s getegid.s geteuid.s getgid.s \
X	getuid.s kill.s link.s lseek.s brk.s brk2.s brksize.s mknod.s \
X	getpid.s getppid.s mount.s open.s pause.s pipe.s read.s setgid.s \
X	setuid.s signal.s catchsig.s stat.s stime.s sync.s time.s times.s \
X	umask.s umount.s unlink.s utime.s wait.s write.s 
X
XMINIX_INTERFACE = syslib.s call.s message.s sendrec.s
X
XCOMPILER_INTERNAL = \
X	adi.s and.s blm.s cii.s cmi4.s cms.s cmu4.s com.s csa2.s csb2.s \
X	cuu.s _dup.s dvi4.s dvu4.s exg.s fakfp.s gto.s iaar.s ilar.s \
X	inn.s ior.s isar.s lar2.s loi.s mli4.s mon.s nop.s rck.s \
X	rmi4.s rmu4.s sar2.s sbi.s set.s sti.s strhp.s xor.s \
X	ret6.s ret8.s lfr6.s lfr8.s retarea.s return.s
X
XCOMPILER_TRAP = error.s unknown.s fat.s trp.s vars.s
X
XEXIT = stop.s exit.s  
X
Xlibc.a: .Made
X	-mv libc.a libc.a.orig
X	ar q libc.a $(CURSES)
X	ar q libc.a $(MISCELLANEOUS)
X	ar q libc.a $(ANSI_UNISTD)
X	ar q libc.a $(IOCTL)
X	ar q libc.a $(AMOEBA)
X	ar q libc.a $(TIME)
X	ar q libc.a $(STRERROR)
X	ar q libc.a $(STDIO)
X	ar q libc.a $(NOT_STDIO)
X	ar q libc.a $(STDLIB)
X	ar q libc.a $(CTYPE)
X	ar q libc.a $(DIRENT)
X	ar q libc.a $(SETJMP)
X	ar q libc.a $(REGEXP)
X	ar q libc.a $(STRING)
X	ar q libc.a $(CRYPT)
X	ar q libc.a $(CLEAN_UNISTD)
X	ar q libc.a $(UNIX)
X	ar q libc.a $(MINIX_INTERFACE)
X	ar q libc.a $(COMPILER_INTERNAL)
X	ar q libc.a $(COMPILER_TRAP)
X	ar q libc.a $(EXIT)
X	touch .Made
X
X.Made:	$(CURSES)
X.Made:	$(MISCELLANEOUS)
X.Made:	$(ANSI_UNISTD)
X.Made:	$(IOCTL)
X.Made:	$(AMOEBA)
X.Made:	$(TIME)
X.Made:	$(STRERROR)
X.Made:	$(STDIO)
X.Made:	$(NOT_STDIO)
X.Made:	$(STDLIB)
X.Made:	$(CTYPE)
X.Made:	$(DIRENT)
X.Made:	$(SETJMP)
X.Made:	$(REGEXP)
X.Made:	$(STRING)
X.Made:	$(CRYPT)
X.Made:	$(UNIX)
X.Made:	$(MINIX_INTERFACE)
X.Made:	$(COMPILER_INTERNAL)
X.Made:	$(COMPILER_TRAP)
X.Made:	$(EXIT)
/
echo x - CRCLIST
sed '/^X/s///' > CRCLIST << '/'
X42976   2909 Install
X29509    736 Makefile
X49536   3238 Makefile.libc
X36390    306 assert.h
X04501   1827 ctype.h
X16607    894 dirent.h
X61144   1267 errno.h
X23155   1390 fcntl.h
X59055    478 grp.h
X36738    293 lib.h
X56982   1251 limits.h
X36832    166 prototype.h
X18121    553 pwd.h
X18182    721 setjmp.h
X23686   2249 signal.h
X46349   1465 stdarg.h
X46642    579 stddef.h
X41917   6158 stdio.h
X42306   1348 stdiolib.h
X34643   2233 stdlib.h
X31036   2807 string.h
X25499   3361 termios.h
X10320   1246 time.h
X05318   3507 unistd.h
X17559    389 utime.h
X47700   1421 sys/dirent.h
X23639   2125 sys/stat.h
X45063    429 sys/times.h
X03055    707 sys/types.h
X63086    483 sys/utsname.h
X56375    887 sys/wait.h
X44639   1012 _bufproc.c
X09696    202 _cleanup.c
X33452   9856 _doprnt.c
X52978   8006 _doscan.c
X53014   1148 _filbuf.c
X01268   1447 _flsbuf.c
X17271    728 _flspbuf.c
X00706    538 _iobdata.c
X38693   1043 _iobproc.c
X36193   1515 _ioinit.c
X09043    983 _valmode.c
X64177   1126 atexit.c
X20154   2579 ctype.c
X16928    348 cuserid.c
X22853    167 div.c
X07059    334 exit.c
X24358    525 fclose.c
X17370   1056 fdopen.c
X36047   1371 fflush.c
X41316    625 fgetc.c
X00549    681 fgets.c
X39208   1593 fopen.c
X17604    847 fputc.c
X34903    625 fputs.c
X33170   2925 fread.c
X63326   1735 freopen.c
X52582   1164 fseek.c
X00763    963 ftell.c
X36592   3251 fwrite.c
X18799   1882 getgrent.c
X61455    286 getlogin.c
X12848   1852 getpwent.c
X63222    424 gets.c
X08852    180 ldiv.c
X06090   1546 perror.c
X48671   1415 printf.c
X25746    120 printk.c
X01820   1420 prints.c
X35554    262 remove.c
X32949   1739 rename.c
X56330    939 scanf.c
X01335   1251 setvbuf.c
X60329   1091 sprintf.c
X50293    437 sscanf.c
X03709    763 stdio_misc.c
X34867   1609 strtol.c
X63398   1466 strtoul.c
X17346   1152 tmpfile.c
X49999    993 tmpnam.c
X30591    815 ungetc.c
/