Fix error in bootstrappwd with 'cp' shared library
[unix-history] / Makefile
index fcf6304..b1090b2 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 #      @(#)Makefile    5.1.1.2 (Berkeley) 5/9/91
 #
 #      @(#)Makefile    5.1.1.2 (Berkeley) 5/9/91
 #
-#      $Id: Makefile,v 1.42 1994/03/02 12:32:44 phk Exp $
+#      $Id: Makefile,v 1.48 1994/05/10 23:12:33 jkh Exp $
 #
 
 SUBDIR=
 #
 
 SUBDIR=
@@ -81,6 +81,9 @@ world:        directories cleandist mk includes libraries tools mdec
        cd ${.CURDIR}/share/man;                make makedb
 
 directories:
        cd ${.CURDIR}/share/man;                make makedb
 
 directories:
+       @echo "--------------------------------------------------------------"
+       @echo " Making directories"
+       @echo "--------------------------------------------------------------"
        cd ${.CURDIR}/etc;                      make distrib-dirs
 
 cleandist:
        cd ${.CURDIR}/etc;                      make distrib-dirs
 
 cleandist:
@@ -163,21 +166,32 @@ bootstrapld:      directories cleandist mk includes
        cd ${.CURDIR}/lib/libc;         make depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/gnu/usr.bin/ld/rtld;      make depend all install ${CLEANDIR} obj
 
        cd ${.CURDIR}/lib/libc;         make depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/gnu/usr.bin/ld/rtld;      make depend all install ${CLEANDIR} obj
 
-# You MUST run this the first time you get the new sources to boot strap
-# the *pwd.db databases onto you system.  This target should only
-# need to be run once on a system.
-
-bootstrappwd:
+# Standard  database  make  routines are slow especially for
+# big passwd files.  You can have much faster routines,  but
+# loose binary compatibility with previous versions and with
+# other BSD-like systems.  If you want to setup much  faster
+# routines,  define  PW_COMPACT  envirnoment  variable (f.e.
+# 'setenv PW_COMPACT' in csh) and  use  bootstrappwd  target
+# into  /usr/src/Makefile.   If you will want to return this
+# changes  back,  use  the  same  target  without   defining
+# PW_COMPACT.
+
+bootstrappwd:   #directories
+       -rm -f ${.CURDIR}/lib/libc/obj/getpwent.o ${.CURDIR}/lib/libc/getpwent.o
        cd ${.CURDIR}/lib/libc; make all
        cd ${.CURDIR}/lib/libc; make all
+       -rm -f ${.CURDIR}/usr.sbin/pwd_mkdb/obj/pwd_mkdb.o ${.CURDIR}/usr.sbin/pwd_mkdb/pwd_mkdb.o
        cd ${.CURDIR}/usr.sbin/pwd_mkdb; make all install ${CLEANDIR}
        cp /etc/master.passwd /etc/mp.t; pwd_mkdb /etc/mp.t
        cd ${.CURDIR}/usr.sbin/pwd_mkdb; make all install ${CLEANDIR}
        cp /etc/master.passwd /etc/mp.t; pwd_mkdb /etc/mp.t
-       cp ${.CURDIR}/lib/libc/obj/libc* /usr/lib
-       cp ${.CURDIR}/lib/libc; make install ${CLEANDIR}
-       cd ${.CURDIR}/usr.bin/passwd; make all install ${CLEANDIR}
-       cd ${.CURDIR}/bin; make all install ${CLEANDIR}
-       cd ${.CURDIR}/sbin; make all install ${CLEANDIR}
+       SLIB=`basename ${.CURDIR}/lib/libc/obj/libc.so.*`; \
+               cp ${.CURDIR}/lib/libc/obj/$$SLIB /usr/lib/$$SLIB.tmp; \
+               mv /usr/lib/$$SLIB.tmp /usr/lib/$$SLIB
+       cd ${.CURDIR}/lib/libc; make install ${CLEANDIR}
+       cd ${.CURDIR}/usr.bin/passwd; make clean all install ${CLEANDIR}
+       cd ${.CURDIR}/usr.bin/chpass; make clean all install ${CLEANDIR}
+       cd ${.CURDIR}/bin; make clean all install ${CLEANDIR}
+       cd ${.CURDIR}/sbin; make clean all install ${CLEANDIR}
        @echo "--------------------------------------------------------------"
        @echo "--------------------------------------------------------------"
-       @echo " Do reboot now because all daemons needs restart"
+       @echo " Do a reboot now because all daemons need restarting"
        @echo "--------------------------------------------------------------"
 
 libraries:
        @echo "--------------------------------------------------------------"
 
 libraries:
@@ -194,6 +208,7 @@ libraries:
        cd ${.CURDIR}/gnu/lib/libg++;           make depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/gnu/lib/libregex;         make depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/gnu/lib/libmalloc;        make depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/gnu/lib/libg++;           make depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/gnu/lib/libregex;         make depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/gnu/lib/libmalloc;        make depend all install ${CLEANDIR} obj
+       cd ${.CURDIR}/gnu/lib/libreadline;      make depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/usr.bin/lex;      make depend all install ${CLEANDIR} obj
 .if exists(${.CURDIR}/kerberosIV) && !defined(NOCRYPT)
        cd ${.CURDIR}/kerberosIV/des;   make depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/usr.bin/lex;      make depend all install ${CLEANDIR} obj
 .if exists(${.CURDIR}/kerberosIV) && !defined(NOCRYPT)
        cd ${.CURDIR}/kerberosIV/des;   make depend all install ${CLEANDIR} obj