Fix error in bootstrappwd with 'cp' shared library
[unix-history] / Makefile
index 04fd281..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.32 1994/01/11 08:06:49 rgrimes Exp $
+#      $Id: Makefile,v 1.48 1994/05/10 23:12:33 jkh Exp $
 #
 
 SUBDIR=
 #
 
 SUBDIR=
@@ -22,6 +22,13 @@ SUBDIR+= include
 .if exists(lib)
 SUBDIR+= lib
 .endif
 .if exists(lib)
 SUBDIR+= lib
 .endif
+
+# This contains both libraries and includes, which stuff below depends
+# upon.
+.if exists(kerberosIV) && !defined(NOCRYPT)
+SUBDIR+= kerberosIV
+.endif
+
 .if exists(libexec)
 SUBDIR+= libexec
 .endif
 .if exists(libexec)
 SUBDIR+= libexec
 .endif
@@ -60,16 +67,23 @@ CLEANDIR=
 CLEANDIR=      cleandir
 .endif
 
 CLEANDIR=      cleandir
 .endif
 
+# Where is the c-compier source.  Change this, and gnu/usr.bin/Makefile if you
+# want to use another cc (gcc-2.5.8 for instance)
+CCDIR=         ${.CURDIR}/gnu/usr.bin/cc
+#CCDIR=                ${.CURDIR}/gnu/usr.bin/cc25
+
 world: directories cleandist mk includes libraries tools mdec
        @echo "--------------------------------------------------------------"
        @echo " Rebuilding ${DESTDIR} The whole thing"
        @echo "--------------------------------------------------------------"
        @echo
        make depend all install
 world: directories cleandist mk includes libraries tools mdec
        @echo "--------------------------------------------------------------"
        @echo " Rebuilding ${DESTDIR} The whole thing"
        @echo "--------------------------------------------------------------"
        @echo
        make depend all install
-       cd ${.CURDIR}/usr.sbin/sendmail/src;    make install
        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:
@@ -78,7 +92,12 @@ cleandist:
        @echo " Cleaning up the source tree, and rebuilding the obj tree"
        @echo "--------------------------------------------------------------"
        @echo
        @echo " Cleaning up the source tree, and rebuilding the obj tree"
        @echo "--------------------------------------------------------------"
        @echo
-       here=`pwd`; dest=/usr/obj/`echo $$here | sed 's,/usr/src,,'`; \
+       here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \
+       if test -d /usr/obj -a ! -d $$dest; then \
+               mkdir -p $$dest; \
+       else \
+               true; \
+       fi; \
        cd $$dest; rm -rf ${SUBDIR}
        find . -name obj | xargs -n30 rm -rf
 .if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
        cd $$dest; rm -rf ${SUBDIR}
        find . -name obj | xargs -n30 rm -rf
 .if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile)
@@ -117,11 +136,13 @@ includes:
        chmod 755 ${DESTDIR}/usr/include
 .endif
        cd ${.CURDIR}/include;                  make install
        chmod 755 ${DESTDIR}/usr/include
 .endif
        cd ${.CURDIR}/include;                  make install
-       cd ${.CURDIR}/gnu/gcc2/libobjc;         make beforeinstall
-       cd ${.CURDIR}/gnu/libg++;               make beforeinstall
-       cd ${.CURDIR}/gnu/libregex;             make beforeinstall
+       cd ${CCDIR}/libobjc;                    make beforeinstall
+       cd ${.CURDIR}/gnu/lib/libg++;           make beforeinstall
        cd ${.CURDIR}/lib/libcurses;            make beforeinstall
        cd ${.CURDIR}/lib/libc;                 make beforeinstall
        cd ${.CURDIR}/lib/libcurses;            make beforeinstall
        cd ${.CURDIR}/lib/libc;                 make beforeinstall
+.if !defined(NOCRYPT) && exists(${.CURDIR}/kerberosIV)
+       cd ${.CURDIR}/kerberosIV/include;       make install
+.endif
 
 # You MUST run this the first time you get the new sources to boot strap
 # the shared library tools onto you system.  This target should only
 
 # You MUST run this the first time you get the new sources to boot strap
 # the shared library tools onto you system.  This target should only
@@ -137,13 +158,41 @@ bootstrapld:      directories cleandist mk includes
        cd ${.CURDIR}/usr.bin/nm;       make -DNOPIC depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/usr.bin/ranlib;   make -DNOPIC depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/usr.bin/strip;    make -DNOPIC depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/usr.bin/nm;       make -DNOPIC depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/usr.bin/ranlib;   make -DNOPIC depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/usr.bin/strip;    make -DNOPIC depend all install ${CLEANDIR} obj
-       cd ${.CURDIR}/gnu/ld;           make -DNOPIC depend all install ${CLEANDIR} obj
-       cd ${.CURDIR}/gnu/gas;          make depend all install ${CLEANDIR} obj
-       cd ${.CURDIR}/gnu/gcc2;         make -DNOPIC depend all install ${CLEANDIR} obj
-       cd ${.CURDIR}/gnu/gcc2/libgcc;  make all install ${CLEANDIR} obj
+       cd ${.CURDIR}/gnu/usr.bin/ld;   make -DNOPIC depend all install ${CLEANDIR} obj
+       cd ${.CURDIR}/gnu/usr.bin/as;   make depend all install ${CLEANDIR} obj
+       cd ${CCDIR};                    make -DNOPIC depend all install ${CLEANDIR} obj
+       cd ${CCDIR}/libgcc;             make all install ${CLEANDIR} obj
        cd ${.CURDIR}/lib/csu.i386;     make depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/lib/libc;         make depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/lib/csu.i386;     make depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/lib/libc;         make depend all install ${CLEANDIR} obj
-       cd ${.CURDIR}/gnu/ld/rtld;      make depend all install ${CLEANDIR} obj
+       cd ${.CURDIR}/gnu/usr.bin/ld/rtld;      make depend all install ${CLEANDIR} obj
+
+# 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
+       -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
+       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 " Do a reboot now because all daemons need restarting"
+       @echo "--------------------------------------------------------------"
 
 libraries:
        # setenv NOPROFILE if you do not want profiled libraries
 
 libraries:
        # setenv NOPROFILE if you do not want profiled libraries
@@ -154,19 +203,25 @@ libraries:
 .if defined(CLOBBER)
        find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | xargs -n30 rm -rf
 .endif
 .if defined(CLOBBER)
        find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | xargs -n30 rm -rf
 .endif
-       cd ${.CURDIR}/lib;              make depend all install ${CLEANDIR} obj
-       cd ${.CURDIR}/gnu/gcc2/libgcc;  make depend all install ${CLEANDIR} obj
-       cd ${.CURDIR}/gnu/libg++;       make depend all install ${CLEANDIR} obj
-       cd ${.CURDIR}/gnu/libregex;     make depend all install ${CLEANDIR} obj
-       cd ${.CURDIR}/gnu/libmalloc;    make depend all install ${CLEANDIR} obj
+       cd ${.CURDIR}/lib;                      make depend all install ${CLEANDIR} obj
+       cd ${CCDIR}/libgcc;                     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
        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}/kerberosIV/krb;   make depend all install ${CLEANDIR} obj
+       cd ${.CURDIR}/kerberosIV/kdb;   make depend all install ${CLEANDIR} obj
+.endif
 
 tools:
        @echo "--------------------------------------------------------------"
        @echo " Rebuilding ${DESTDIR} Compiler and Make"
        @echo "--------------------------------------------------------------"
        @echo
 
 tools:
        @echo "--------------------------------------------------------------"
        @echo " Rebuilding ${DESTDIR} Compiler and Make"
        @echo "--------------------------------------------------------------"
        @echo
-       cd ${.CURDIR}/gnu/gcc2;         make depend all install ${CLEANDIR} obj
+       cd ${CCDIR};                    make depend all install ${CLEANDIR} obj
        cd ${.CURDIR}/usr.bin/make;     make depend all install ${CLEANDIR} obj
 
 mdec:
        cd ${.CURDIR}/usr.bin/make;     make depend all install ${CLEANDIR} obj
 
 mdec: