Index: head/Makefile.inc1 =================================================================== --- head/Makefile.inc1 (revision 43993) +++ head/Makefile.inc1 (revision 43994) @@ -1,978 +1,978 @@ # -# $Id: Makefile.inc1,v 1.61 1999/01/23 08:44:17 markm Exp $ +# $Id: Makefile.inc1,v 1.62 1999/01/27 15:08:05 jkh Exp $ # # Make command line options: # -DCLOBBER will remove /usr/include # -DMAKE_KERBEROS4 to build KerberosIV # -DNOCLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir # -DNOCLEAN do not clean at all # -DNOTOOLS do not rebuild any tools first # -DNOCRYPT will prevent building of crypt versions # -DNOPROFILE do not build profiled libraries # -DNOSECURE do not go into secure subdir # -DNOGAMES do not go into games subdir # -DNOSHARE do not go into share subdir # -DNOINFO do not make or install info files # -DNOLIBC_R do not build libc_r. # LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list # # The intended user-driven targets are: # buildworld - rebuild *everything*, including glue to help do upgrades # installworld- install everything built by "buildworld" # update - convenient way to update your source tree (eg: sup/cvs) # most - build user commands, no libraries or include files # installmost - install user commands, no libraries or include files # # Standard targets (not defined here) are documented in the makefiles in # /usr/share/mk. These include: # obj depend all install clean cleandepend cleanobj # Put initial settings here. SUBDIR= # We must do share/info early so that installation of info `dir' # entries works correctly. Do it first since it is less likely to # grow dependencies on include and lib than vice versa. .if exists(share/info) SUBDIR+= share/info .endif # We must do include and lib early so that the perl *.ph generation # works correctly as it uses the header files installed by this. .if exists(include) SUBDIR+= include .endif .if exists(lib) SUBDIR+= lib .endif .if exists(bin) SUBDIR+= bin .endif .if exists(games) && !defined(NOGAMES) SUBDIR+= games .endif .if exists(gnu) SUBDIR+= gnu .endif .if exists(kerberosIV) && exists(crypto) && !defined(NOCRYPT) && \ defined(MAKE_KERBEROS4) SUBDIR+= kerberosIV .endif .if exists(libexec) SUBDIR+= libexec .endif .if exists(sbin) SUBDIR+= sbin .endif .if exists(share) && !defined(NOSHARE) SUBDIR+= share .endif .if exists(sys) SUBDIR+= sys .endif .if exists(usr.bin) SUBDIR+= usr.bin .endif .if exists(usr.sbin) SUBDIR+= usr.sbin .endif .if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) SUBDIR+= secure .endif # etc must be last for "distribute" to work .if exists(etc) SUBDIR+= etc .endif # These are last, since it is nice to at least get the base system # rebuilt before you do them. .if defined(LOCAL_DIRS) .for _DIR in ${LOCAL_DIRS} .if exists(${_DIR}) & exists(${_DIR}/Makefile) SUBDIR+= ${_DIR} .endif .endfor .endif OBJDIR= obj .if defined(NOCLEAN) CLEANDIR= .else .if defined(NOCLEANDIR) CLEANDIR= clean cleandepend .else CLEANDIR= cleandir .endif .endif .if !defined(NOCLEAN) _NODEPEND= true .endif .if defined(_NODEPEND) _DEPEND= cleandepend .else _DEPEND= depend .endif SUP?= cvsup SUPFLAGS?= -g -L 2 -P - # # While building tools for bootstrapping, we don't need to waste time on # shared or profiled libraries, shared linkage, or documentation, except # when the tools won't get cleaned we must use the defaults for shared # libraries and shared linkage (and this doesn't waste time). # XXX actually, we do need to waste time building shared libraries. # .if defined(NOCLEAN) MK_FLAGS= -DNOINFO -DNOMAN -DNOPROFILE .else MK_FLAGS= -DNOINFO -DNOMAN -DNOPIC -DNOPROFILE -DNOSHARED .endif # # Define the location of the temporary installation directory. Note that # MAKEOBJDIRPREFIX normally isn't defined so if the current directory is # /usr/src, then the world temporary directory is /usr/obj/usr/src/tmp. # # During the transition from aout to elf format on i386, MAKEOBJDIRPREFIX # is set by the parent makefile (Makefile.inc0) to be /usr/obj/${OBJFORMAT} # in order to keep aout and elf format files apart. # .if defined(MAKEOBJDIRPREFIX) WORLDTMP= ${MAKEOBJDIRPREFIX}${.CURDIR}/tmp .else WORLDTMP= /usr/obj${.CURDIR}/tmp .endif # # Define the PATH to the build tools. # # If not building tools, the PATH always points to the installed binaries. # The NOTOOLS option assumes that in installed tools are good enough and that # the user's PATH will locate to appropriate tools. This option is required # for a cross-compiled build environment. # # If building tools, then the PATH includes the world temporary directories # so that the bootstrapped tools are used as soon as they are built. The # strict path is for use after all tools are supposed to have been # bootstrapped. It doesn't allow any of the installed tools to be used. # .if defined(NOTOOLS) # Default root of the tool tree TOOLROOT?= # Choose the PATH relative to the root of the tool tree PATH= ${TOOLROOT}/sbin:${TOOLROOT}/bin:${TOOLROOT}/usr/sbin:${TOOLROOT}/usr/bin .else TOOLROOT= ${WORLDTMP} .endif STRICTTMPPATH= ${TOOLROOT}/sbin:${TOOLROOT}/usr/sbin:${TOOLROOT}/bin:${TOOLROOT}/usr/bin TMPPATH= ${STRICTTMPPATH}:${PATH} # XXX COMPILER_PATH is needed for finding cc1, ld and as # XXX GCC_EXEC_PREFIX is for *crt.o. It is probably unnecessary now # that LIBRARY_PATH is set. We still can't use -nostdlib, since gcc # wouldn't link *crt.o or libgcc if it were used. # XXX LD_LIBRARY_PATH is for ld.so. It is also used by ld, although we don't # want that - all compile-time library paths should be resolved by gcc. # It fails for set[ug]id executables (are any used?). COMPILER_ENV= BISON_SIMPLE=${TOOLROOT}/usr/share/misc/bison.simple \ COMPILER_PATH=${TOOLROOT}/usr/libexec:${TOOLROOT}/usr/bin \ GCC_EXEC_PREFIX=${WORLDTMP}${SHLIBDIR}:${WORLDTMP}/usr/lib/ \ LD_LIBRARY_PATH=${TOOLROOT}${SHLIBDIR} \ LIBRARY_PATH=${WORLDTMP}${SHLIBDIR}:${WORLDTMP}/usr/lib BMAKEENV= PATH=${TMPPATH} ${COMPILER_ENV} NOEXTRADEPEND=t \ OBJFORMAT_PATH=${TOOLROOT}/usr/libexec:/usr/libexec XMAKEENV= PATH=${STRICTTMPPATH} ${COMPILER_ENV} \ PERL5LIB=${DESTDIR}/usr/libdata/perl/5.00502 \ OBJFORMAT_PATH=${TOOLROOT}/usr/libexec \ CFLAGS="-nostdinc ${CFLAGS}" # XXX -nostdlib # used to compile and install 'make' in temporary build tree MAKETMP= ${WORLDTMP}/make IBMAKE= ${BMAKEENV} MAKEOBJDIR=${MAKETMP} ${MAKE} DESTDIR=${WORLDTMP} .if defined(NOTOOLS) # bootstrap make BMAKE= ${BMAKEENV} ${MAKE} DESTDIR=${WORLDTMP} # cross make used for compilation XMAKE= ${XMAKEENV} ${MAKE} DESTDIR=${WORLDTMP} # cross make used for final installation IXMAKE= ${XMAKEENV} ${MAKE} .else # bootstrap make BMAKE= ${BMAKEENV} ${WORLDTMP}/usr/bin/make DESTDIR=${WORLDTMP} # cross make used for compilation XMAKE= ${XMAKEENV} ${WORLDTMP}/usr/bin/make DESTDIR=${WORLDTMP} # cross make used for final installation IXMAKE= ${XMAKEENV} ${WORLDTMP}/usr/bin/make .endif # # buildworld # # Attempt to rebuild the entire system, with reasonable chance of # success, regardless of how old your existing system is. # buildworld: check-objformat .if !defined(NOCLEAN) @echo @echo "--------------------------------------------------------------" @echo ">>> Cleaning up the temporary ${OBJFORMAT} build tree" @echo "--------------------------------------------------------------" mkdir -p ${WORLDTMP} - chflags -R noschg ${WORLDTMP}/ + -chflags -R noschg ${WORLDTMP}/ rm -rf ${WORLDTMP} .endif .if !defined(NOTOOLS) @echo @echo "--------------------------------------------------------------" @echo ">>> Making make" @echo "--------------------------------------------------------------" mkdir -p ${WORLDTMP}/usr/bin ${MAKETMP} ( \ cd ${.CURDIR}/usr.bin/make; \ MAKEOBJDIRPREFIX=""; unset MAKEOBJDIRPREFIX; \ ${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} all; \ ${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} install; \ ${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} clean \ ) @echo @echo "--------------------------------------------------------------" @echo ">>> Making mtree" @echo "--------------------------------------------------------------" mkdir -p ${WORLDTMP}/usr/sbin ${WORLDTMP}/mtree ( \ cd ${.CURDIR}/usr.sbin/mtree; \ MAKEOBJDIRPREFIX=""; unset MAKEOBJDIRPREFIX; \ export MAKEOBJDIR=${WORLDTMP}/mtree; \ ${BMAKE} ${MK_FLAGS} all; \ ${BMAKE} ${MK_FLAGS} -B install clean \ ) .endif @echo @echo "--------------------------------------------------------------" @echo ">>> Making hierarchy" @echo "--------------------------------------------------------------" mkdir -p ${WORLDTMP} cd ${.CURDIR}; ${BMAKE} -f Makefile.inc1 hierarchy .if !defined(NOCLEAN) @echo @echo "--------------------------------------------------------------" @echo ">>> Cleaning up the ${OBJFORMAT} obj tree" @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${BMAKE} -f Makefile.inc1 ${CLEANDIR:S/^/par-/} .endif @echo @echo "--------------------------------------------------------------" @echo ">>> Rebuilding the ${OBJFORMAT} obj tree" @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${BMAKE} -f Makefile.inc1 par-${OBJDIR} .if !defined(NOTOOLS) @echo @echo "--------------------------------------------------------------" @echo ">>> Rebuilding ${OBJFORMAT} bootstrap tools" @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${BMAKE} -f Makefile.inc1 bootstrap @echo @echo "--------------------------------------------------------------" @echo ">>> Rebuilding tools necessary to build the include files" @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${BMAKE} -f Makefile.inc1 include-tools .endif @echo @echo "--------------------------------------------------------------" @echo ">>> Rebuilding ${DESTDIR}/usr/include" @echo "--------------------------------------------------------------" cd ${.CURDIR}; SHARED=copies ${BMAKE} -f Makefile.inc1 includes @echo @echo "--------------------------------------------------------------" @echo ">>> Rebuilding bootstrap libraries" @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${BMAKE} -f Makefile.inc1 bootstrap-libraries .if !defined(NOTOOLS) @echo @echo "--------------------------------------------------------------" @echo ">>> Rebuilding tools needed to build libraries" @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${BMAKE} -f Makefile.inc1 lib-tools .endif .if !defined(NOTOOLS) @echo @echo "--------------------------------------------------------------" @echo ">>> Rebuilding all other tools needed to build the ${OBJFORMAT} world" @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${BMAKE} -f Makefile.inc1 build-tools .endif .if !defined(_NODEPEND) @echo @echo "--------------------------------------------------------------" @echo ">>> Rebuilding dependencies" @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${XMAKE} -f Makefile.inc1 par-depend .endif @echo @echo "--------------------------------------------------------------" @echo ">>> Building ${OBJFORMAT} libraries" @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${XMAKE} -DNOINFO -DNOMAN -f Makefile.inc1 libraries @echo @echo "--------------------------------------------------------------" @echo ">>> Building everything.." @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${XMAKE} -f Makefile.inc1 all everything: @echo "--------------------------------------------------------------" @echo ">>> Building everything.." @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${XMAKE} -f Makefile.inc1 all # # installworld # # Installs everything compiled by a 'buildworld'. # installworld: cd ${.CURDIR}; ${IXMAKE} -f Makefile.inc1 reinstall # # reinstall # # If you have a build server, you can NFS mount the source and obj directories # and do a 'make reinstall' on the *client* to install new binaries from the # most recent server build. # reinstall: @echo "--------------------------------------------------------------" @echo ">>> Making hierarchy" @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 hierarchy @echo @echo "--------------------------------------------------------------" @echo ">>> Installing everything.." @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install .if ${MACHINE_ARCH} == "i386" && ${OBJFORMAT} == "aout" && !defined(DESTDIR) @echo @echo "--------------------------------------------------------------" @echo ">>> Re-scanning the shared libraries.." @echo "--------------------------------------------------------------" -cd ${.CURDIR}; /sbin/ldconfig -R .endif @echo @echo "--------------------------------------------------------------" @echo ">>> Rebuilding man page indexes" @echo "--------------------------------------------------------------" cd ${.CURDIR}/share/man; ${MAKE} makedb # # update # # Update the source tree, by running sup and/or running cvs to update to the # latest copy. # update: .if defined(SUP_UPDATE) @echo "--------------------------------------------------------------" @echo ">>> Running ${SUP}" @echo "--------------------------------------------------------------" @${SUP} ${SUPFLAGS} ${SUPFILE} .if defined(SUPFILE1) @${SUP} ${SUPFLAGS} ${SUPFILE1} .endif .if defined(SUPFILE2) @${SUP} ${SUPFLAGS} ${SUPFILE2} .endif .endif .if defined(CVS_UPDATE) @echo "--------------------------------------------------------------" @echo ">>> Updating /usr/src from cvs repository" ${CVSROOT} @echo "--------------------------------------------------------------" cd ${.CURDIR}; cvs -q update -P -d .endif # # most # # Build most of the user binaries on the existing system libs and includes. # most: @echo "--------------------------------------------------------------" @echo ">>> Building programs only" @echo "--------------------------------------------------------------" cd ${.CURDIR}/bin; ${MAKE} all cd ${.CURDIR}/sbin; ${MAKE} all cd ${.CURDIR}/libexec; ${MAKE} all cd ${.CURDIR}/usr.bin; ${MAKE} all cd ${.CURDIR}/usr.sbin; ${MAKE} all cd ${.CURDIR}/gnu/libexec; ${MAKE} all cd ${.CURDIR}/gnu/usr.bin; ${MAKE} all cd ${.CURDIR}/gnu/usr.sbin; ${MAKE} all #.if defined(MAKE_KERBEROS4) && !defined(NOCRYPT) # cd ${.CURDIR}/kerberosIV; ${MAKE} most #.endif #.if !defined(NOSECURE) && !defined(NOCRYPT) # cd ${.CURDIR}/secure; ${MAKE} most #.endif # # installmost # # Install the binaries built by the 'most' target. This does not include # libraries or include files. # installmost: @echo "--------------------------------------------------------------" @echo ">>> Installing programs only" @echo "--------------------------------------------------------------" cd ${.CURDIR}/bin; ${MAKE} install cd ${.CURDIR}/sbin; ${MAKE} install cd ${.CURDIR}/libexec; ${MAKE} install cd ${.CURDIR}/usr.bin; ${MAKE} install cd ${.CURDIR}/usr.sbin; ${MAKE} install cd ${.CURDIR}/gnu/libexec; ${MAKE} install cd ${.CURDIR}/gnu/usr.bin; ${MAKE} install cd ${.CURDIR}/gnu/usr.sbin; ${MAKE} install #.if defined(MAKE_KERBEROS4) && !defined(NOCRYPT) # cd ${.CURDIR}/kerberosIV; ${MAKE} installmost #.endif #.if !defined(NOSECURE) && !defined(NOCRYPT) # cd ${.CURDIR}/secure; ${MAKE} installmost #.endif # # ------------------------------------------------------------------------ # # From here onwards are utility targets used by the 'make world' and # related targets. If your 'world' breaks, you may like to try to fix # the problem and manually run the following targets to attempt to # complete the build. Beware, this is *not* guaranteed to work, you # need to have a pretty good grip on the current state of the system # to attempt to manually finish it. If in doubt, 'make world' again. # # # hierarchy - ensure that all the needed directories are present # hierarchy: cd ${.CURDIR}/etc; ${MAKE} distrib-dirs # # bootstrap - [re]build tools needed to run the actual build, this includes # tools needed by 'make depend', as some tools are needed to generate source # for the dependency information to be gathered from. # bootstrap: cd ${.CURDIR}/usr.bin/make; ${MAKE} ${MK_FLAGS} ${_DEPEND}; \ ${MAKE} ${MK_FLAGS} all; \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} cd ${.CURDIR}/usr.bin/xinstall; ${MAKE} ${MK_FLAGS} ${_DEPEND}; \ ${MAKE} ${MK_FLAGS} all; \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} cd ${.CURDIR}/usr.bin/yacc; ${MAKE} ${MK_FLAGS} ${_DEPEND}; \ ${MAKE} ${MK_FLAGS} all; \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} cd ${.CURDIR}/usr.bin/lex; ${MAKE} bootstrap; \ ${MAKE} ${MK_FLAGS} ${_DEPEND}; \ ${MAKE} ${MK_FLAGS} -DNOLIB all; \ ${MAKE} ${MK_FLAGS} -DNOLIB -B install ${CLEANDIR} cd ${.CURDIR}/usr.bin/lex; ${MAKE} ${OBJDIR} cd ${.CURDIR}/usr.sbin/mtree; ${MAKE} ${MK_FLAGS} ${_DEPEND}; \ ${MAKE} ${MK_FLAGS} all; \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} # # include-tools - generally the same as 'bootstrap', except that it's for # things that are specifically needed to generate include files. # # XXX should be merged with bootstrap, it's not worth keeeping them separate. # Well, maybe it is now. We force 'cleandepend' here to avoid dependencies # on cleaned away headers in ${WORLDTMP}. # include-tools: .for d in usr.bin/compile_et usr.bin/rpcgen cd ${.CURDIR}/$d; ${MAKE} cleandepend; \ ${MAKE} ${MK_FLAGS} ${_DEPEND}; \ ${MAKE} ${MK_FLAGS} all; \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} .endfor # # includes - possibly generate and install the include files. # includes: .if defined(CLOBBER) rm -rf ${DESTDIR}/usr/include/* mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${DESTDIR}/usr/include .endif cd ${.CURDIR}/include; ${MAKE} -B all install cd ${.CURDIR}/gnu/include; ${MAKE} install cd ${.CURDIR}/gnu/lib/libmp; ${MAKE} beforeinstall cd ${.CURDIR}/gnu/lib/libobjc; ${MAKE} beforeinstall cd ${.CURDIR}/gnu/lib/libreadline; ${MAKE} beforeinstall cd ${.CURDIR}/gnu/lib/libregex; ${MAKE} beforeinstall cd ${.CURDIR}/gnu/lib/libstdc++; ${MAKE} beforeinstall cd ${.CURDIR}/gnu/lib/libg++; ${MAKE} beforeinstall cd ${.CURDIR}/gnu/lib/libdialog; ${MAKE} beforeinstall cd ${.CURDIR}/gnu/lib/libgmp; ${MAKE} beforeinstall .if exists(secure) && !defined(NOCRYPT) cd ${.CURDIR}/secure/lib/libdes; ${MAKE} beforeinstall .endif .if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS4) cd ${.CURDIR}/kerberosIV/lib/libacl; ${MAKE} beforeinstall cd ${.CURDIR}/kerberosIV/lib/libkadm; ${MAKE} beforeinstall cd ${.CURDIR}/kerberosIV/lib/libkafs; ${MAKE} beforeinstall cd ${.CURDIR}/kerberosIV/lib/libkdb; ${MAKE} beforeinstall cd ${.CURDIR}/kerberosIV/lib/libkrb; ${MAKE} beforeinstall cd ${.CURDIR}/kerberosIV/lib/libtelnet; ${MAKE} beforeinstall .else cd ${.CURDIR}/lib/libtelnet; ${MAKE} beforeinstall .endif .if exists(${.CURDIR}/lib/csu/${MACHINE_ARCH}) cd ${.CURDIR}/lib/csu/${MACHINE_ARCH}; ${MAKE} beforeinstall .endif cd ${.CURDIR}/lib/libalias; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libatm; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libdevstat; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libc; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libcalendar; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libcam; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libcurses; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libdisk; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libedit; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libftpio; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libmd; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libmytinfo; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libncurses; ${MAKE} beforeinstall .if !defined(WANT_CSRG_LIBM) cd ${.CURDIR}/lib/msun; ${MAKE} beforeinstall .endif cd ${.CURDIR}/lib/libopie; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libpam/libpam; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libpcap; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libradius; ${MAKE} beforeinstall cd ${.CURDIR}/lib/librpcsvc; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libskey; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libstand; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libtacplus; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libtermcap; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libcom_err; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libss; ${MAKE} -B hdrs beforeinstall cd ${.CURDIR}/lib/libutil; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libvgl; ${MAKE} beforeinstall cd ${.CURDIR}/lib/libz; ${MAKE} beforeinstall cd ${.CURDIR}/usr.bin/f2c; ${MAKE} beforeinstall cd ${.CURDIR}/usr.bin/lex; ${MAKE} beforeinstall # # Declare tools if they are not required on all architectures. # .if ${MACHINE_ARCH} == "i386" # aout tools: _aout_ar = usr.bin/ar _aout_as = gnu/usr.bin/as _aout_ld = gnu/usr.bin/ld _aout_nm = usr.bin/nm _aout_ranlib = usr.bin/ranlib _aout_size = usr.bin/size _aout_strip = usr.bin/strip # boot block/loader tools: _btxld = usr.sbin/btxld .endif # # lib-tools - build tools to compile and install the libraries. # # XXX gperf is required for cc # XXX a new ld and tsort is required for cc lib-tools: .for d in \ gnu/usr.bin/gperf \ ${_aout_ld} \ usr.bin/tsort \ ${_aout_as} \ gnu/usr.bin/bison \ gnu/usr.bin/cc \ ${_aout_ar} \ usr.bin/env \ usr.bin/lex/lib \ usr.bin/mk_cmds \ ${_aout_nm} \ ${_aout_ranlib} \ ${_aout_strip} \ gnu/usr.bin/binutils \ usr.bin/uudecode \ usr.bin/objformat cd ${.CURDIR}/$d; ${MAKE} ${MK_FLAGS} ${_DEPEND}; \ ${MAKE} ${MK_FLAGS} all; \ ${MAKE} ${MK_FLAGS} -B install; \ ${MAKE} ${MK_FLAGS:S/-DNOPIC//} -B ${CLEANDIR} ${OBJDIR} .endfor # # We have to know too much about ordering and subdirs in the lib trees: # # To satisfy shared library linkage when only the libraries being built # are visible: # # csu must be built before all shared libaries for ELF. # libcom_err must be built before libss. # libcrypt must be built before libskey and libkrb. # libdes must be built before libpam. # libkrb must be built before libpam. # libm must be built before libf2c, libg++ and libstdc++. # libmd must be built before libatm, libopie, libradius, libskey, # and libtacplus. # libmytinfo must be built before libdialog and libncurses. # libncurses must be built before libdialog. # libradius must be built before libpam. # libskey must be built before libpam. # libtacplus must be built before libpam. # libtermcap must be built before libcurses, libedit and libreadline. # # Some libraries are built conditionally and/or are in inconsistently # named directories: # .if exists(lib/csu/${MACHINE_ARCH}.pcc) _csu=lib/csu/${MACHINE_ARCH}.pcc .elif ${MACHINE_ARCH} == "i386" && ${OBJFORMAT} == "elf" _csu=lib/csu/i386-elf .else _csu=lib/csu/${MACHINE_ARCH} .endif .if !defined(NOSECURE) && !defined(NOCRYPT) _libcrypt= secure/lib/libcrypt lib/libcrypt _secure_lib= secure/lib .else _libcrypt= lib/libcrypt .endif .if !defined(NOCRYPT) && defined(MAKE_KERBEROS4) _kerberosIV_lib=kerberosIV/lib .endif .if defined(WANT_CSRG_LIBM) _libm= lib/libm .else _libm= lib/msun .endif .if !defined(NOPERL) _libperl= gnu/usr.bin/perl/libperl .endif # # bootstrap-libraries - build just enough libraries for the bootstrap # tools, and install them under ${WORLDTMP}. # # Build csu and libgcc early so that some tools get linked to the new # versions (too late for the main tools, however). Then build the # necessary prerequisite libraries (libtermcap just needs to be before # libcurses, and this only matters for the NOCLEAN case when NOPIC is # not set). # # This is mostly wrong. The build tools must run on the host system, # so they should use host libraries. We depend on the target being # similar enough to the host for new target libraries to work on the # host. # bootstrap-libraries: .for _lib in ${_csu} gnu/usr.bin/cc/libgcc lib/libtermcap \ gnu/lib/libregex gnu/lib/libreadline lib/libc \ lib/libcrypt lib/libcurses lib/libedit ${_libm} \ lib/libmd lib/libutil lib/libz usr.bin/lex/lib \ ${_libperl} .if exists(${.CURDIR}/${_lib}) cd ${.CURDIR}/${_lib}; \ ${MAKE} ${MK_FLAGS} ${_DEPEND}; \ ${MAKE} ${MK_FLAGS} all; \ ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} .endif .endfor # # libraries - build all libraries, and install them under ${DESTDIR}. # # The ordering is not as special as for bootstrap-libraries. Build # the prerequisites first, then build almost everything else in # alphabetical order. # libraries: .for _lib in ${_csu} lib/libcom_err ${_libcrypt} ${_libm} lib/libmd \ lib/libmytinfo lib/libncurses lib/libtermcap \ lib/libradius lib/libskey lib/libtacplus \ ${_secure_lib} ${_kerberosIV_lib} \ gnu/lib gnu/usr.bin/cc/libgcc ${_libperl} lib usr.bin/lex/lib \ usr.sbin/pcvt/keycap .if exists(${.CURDIR}/${_lib}) cd ${.CURDIR}/${_lib}; ${MAKE} all; ${MAKE} -B install .endif .endfor # # Exclude unused tools from build-tools. # .if !defined(NOGAMES) && exists(${.CURDIR}/games) _adventure= games/adventure _caesar= games/caesar _hack= games/hack _phantasia= games/phantasia _strfile= games/fortune/strfile .endif .if !defined(NOPERL) _perl= gnu/usr.bin/perl/miniperl .endif .if !defined(NOSHARE) && exists(${.CURDIR}/share) _scrnmaps= share/syscons/scrnmaps .endif .if ${MACHINE_ARCH} == i386 _kldlinux= sys/modules/linux .endif .if ${OBJFORMAT} == "aout" _netboot= sys/${MACHINE}/boot/netboot .endif BTMAKEFLAGS= ${MK_FLAGS} -D_BUILD_TOOLS # # build-tools - build and install any other tools needed to complete the # compile and install. # ifdef stale # bc and cpp are required to build groff. Otherwise, the order here is # mostly historical, i.e., bogus. # chmod is used to build gcc's tmpmultilib[2] at obscure times. # endif stale # XXX uname is a bug - the target should not depend on the host. # build-tools: .for d in \ bin/cat \ bin/chmod \ bin/cp \ bin/date \ bin/dd \ bin/echo \ bin/expr \ bin/hostname \ bin/ln \ bin/ls \ bin/mkdir \ bin/mv \ bin/rm \ bin/test \ ${_caesar} \ ${_strfile} \ gnu/usr.bin/awk \ gnu/usr.bin/bc \ gnu/usr.bin/grep \ gnu/usr.bin/groff \ gnu/usr.bin/gzip \ gnu/usr.bin/man/makewhatis \ gnu/usr.bin/patch \ ${_perl} \ gnu/usr.bin/sort \ gnu/usr.bin/texinfo \ usr.bin/basename \ usr.bin/cap_mkdb \ usr.bin/chflags \ usr.bin/cmp \ usr.bin/col \ usr.bin/colldef \ usr.bin/cpp \ usr.bin/expand \ usr.bin/file2c \ usr.bin/find \ usr.bin/gencat \ usr.bin/gensetdefs \ usr.bin/id \ usr.bin/join \ usr.bin/lorder \ usr.bin/m4 \ usr.bin/mkdep \ usr.bin/mklocale \ usr.bin/paste \ usr.bin/printf \ usr.bin/sed \ ${_aout_size} \ usr.bin/soelim \ usr.bin/symorder \ usr.bin/touch \ usr.bin/tr \ usr.bin/true \ usr.bin/uname \ usr.bin/uuencode \ usr.bin/vgrind \ usr.bin/vi \ usr.bin/wc \ usr.bin/xargs \ usr.bin/yacc \ ${_btxld} \ usr.sbin/chown \ usr.sbin/mtree \ usr.sbin/zic \ bin/sh cd ${.CURDIR}/$d; ${MAKE} ${BTMAKEFLAGS} ${_DEPEND}; \ ${MAKE} ${BTMAKEFLAGS} all; \ ${MAKE} ${BTMAKEFLAGS} -B install ${CLEANDIR} ${OBJDIR} .endfor .if !defined(NOGAMES) && exists(${.CURDIR}/games) cd ${DESTDIR}/usr/games; cp -p caesar strfile ${DESTDIR}/usr/bin .endif .for d in \ bin/sh \ ${_adventure} \ ${_hack} \ ${_phantasia} \ gnu/usr.bin/cc/cc_tools \ lib/libmytinfo \ ${_linux} \ ${_kldlinux} \ ${_scrnmaps} \ ${_netboot} cd ${.CURDIR}/$d; ${MAKE} ${BTMAKEFLAGS} build-tools .endfor cd ${.CURDIR}/usr.bin/tn3270/tools; ${MAKE} ${BTMAKEFLAGS} all # # Build aout versions of things that provide legacy support when all the # rest of the world is elf. # legacy-build: .if ${MACHINE_ARCH} == "i386" && ${OBJFORMAT} == "aout" @echo @echo "--------------------------------------------------------------" @echo ">>> Making hierarchy" @echo "--------------------------------------------------------------" mkdir -p ${WORLDTMP} cd ${.CURDIR}; ${XMAKE} -f Makefile.inc1 hierarchy @echo @echo "--------------------------------------------------------------" @echo ">>> Rebuilding the ${OBJFORMAT} obj tree" @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${XMAKE} -f Makefile.inc1 par-${OBJDIR} @echo @echo "--------------------------------------------------------------" @echo ">>> Rebuilding ${DESTDIR}/usr/include" @echo "--------------------------------------------------------------" cd ${.CURDIR}; SHARED=copies ${XMAKE} -f Makefile.inc1 includes @echo @echo "--------------------------------------------------------------" @echo ">>> Building legacy libraries" @echo "--------------------------------------------------------------" cd ${.CURDIR}; \ ${XMAKE} -DNOINFO -DNOMAN -f Makefile.inc1 bootstrap-libraries cd ${.CURDIR}; \ ${XMAKE} -DNOINFO -DNOMAN -f Makefile.inc1 libraries @echo @echo "--------------------------------------------------------------" @echo ">>> Building legacy rtld" @echo "--------------------------------------------------------------" cd ${.CURDIR}/libexec/rtld-aout; \ ${XMAKE} -DNOMAN depend; ${XMAKE} -DNOMAN all; @echo @echo "--------------------------------------------------------------" @echo ">>> Building legacy boot" @echo "--------------------------------------------------------------" cd ${.CURDIR}/sys/${MACHINE}/boot && \ ${XMAKE} -DNOMAN -B obj depend; ${XMAKE} -DNOMAN all; .endif # # Install aout versions of things that provide legacy support when all the # rest of the world is elf. # legacy-install: .if ${MACHINE_ARCH} == "i386" && ${OBJFORMAT} == "aout" @echo @echo "--------------------------------------------------------------" @echo ">>> Installing legacy libraries" @echo "--------------------------------------------------------------" cd ${.CURDIR}/lib; ${MAKE} -B -DNOMAN -DNOINFO install cd ${.CURDIR}/gnu/lib; ${MAKE} -B -DNOMAN -DNOINFO install cd ${.CURDIR}/gnu/usr.bin/cc/libgcc; \ ${MAKE} -B -DNOMAN -DNOINFO install cd ${.CURDIR}/usr.bin/lex/lib; \ ${MAKE} -B -DNOMAN -DNOINFO install cd ${.CURDIR}/usr.sbin/pcvt/keycap; \ ${MAKE} -B -DNOMAN -DNOINFO install .if exists(${.CURDIR}/secure/lib) && !defined(NOCRYPT) && !defined(NOSECURE) cd ${.CURDIR}/secure/lib; ${MAKE} -B -DNOMAN -DNOINFO install .endif .if exists(${.CURDIR}/kerberosIV/lib) && !defined(NOCRYPT) && \ defined(MAKE_KERBEROS4) cd ${.CURDIR}/kerberosIV/lib; ${MAKE} -B -DNOMAN -DNOINFO install .endif @echo @echo "--------------------------------------------------------------" @echo ">>> Installing legacy rtld" @echo "--------------------------------------------------------------" cd ${.CURDIR}/libexec/rtld-aout; ${MAKE} -DNOMAN install @echo .if ${MACHINE_ARCH} != "alpha" @echo "--------------------------------------------------------------" @echo ">>> Installing legacy boot" @echo "--------------------------------------------------------------" cd ${.CURDIR}/sys/${MACHINE}/boot && ${MAKE} -DNOMAN install .endif .endif # Get the object format that the tools see. # # .if exists(/usr/bin/objformat) __OBJFORMAT!= objformat .else __OBJFORMAT= ${OBJFORMAT} .endif # # Check if the local /etc/make.conf or /etc/make.conf.local have attempted # to override the OBJFORMAT without updating the environment for the tools # to see. # check-objformat : .if ${__OBJFORMAT} != ${OBJFORMAT} @/bin/sh -c "echo \"It looks like you set OBJFORMAT=${OBJFORMAT} in /etc/make.conf. Don't do that!\" " @/bin/sh -c "echo \"If you want to override the installed object format, you must set OBJFORMAT\" " @/bin/sh -c "echo \"in your environment.\" " @exit 1 .endif .if !defined(REALLY_WANT_DEPRECIATED_AOUT) && ${OBJFORMAT} == "aout" @echo "==== NOTICE: a.out buildworld is depreciated and disabled! =====" @echo "Read: http://www.freebsd.org/~peter/elfday.html for information." @echo "You need to complete a 'make aout-to-elf' to bring your system" @echo "up to date with ELF tools. This requires a fair amount of disk" @echo "space to complete. Alternatively, you can do a binary upgrade" @echo "using the 3.0-RELEASE binaries from CD or ftp.freebsd.org in" @echo "/pub/FreeBSD/3.0-RELEASE/bin/ to convert your userland to ELF." @exit 1 .endif .for __target in clean cleandepend cleandir depend obj .for entry in ${SUBDIR} ${entry}.${__target}__D: .PHONY @if test -d ${.CURDIR}/${entry}.${MACHINE_ARCH}; then \ ${ECHODIR} "===> ${DIRPRFX}${entry}.${MACHINE_ARCH}"; \ edir=${entry}.${MACHINE_ARCH}; \ cd ${.CURDIR}/$${edir}; \ else \ ${ECHODIR} "===> ${DIRPRFX}${entry}"; \ edir=${entry}; \ cd ${.CURDIR}/$${edir}; \ fi; \ ${MAKE} ${__target} DIRPRFX=${DIRPRFX}$${edir}/ .endfor par-${__target}: ${SUBDIR:S/$/.${__target}__D/} .endfor .include Index: head/release/Makefile =================================================================== --- head/release/Makefile (revision 43993) +++ head/release/Makefile (revision 43994) @@ -1,690 +1,690 @@ -# $Id: Makefile,v 1.470 1999/02/10 01:57:38 msmith Exp $ +# $Id: Makefile,v 1.471 1999/02/10 09:15:27 jkh Exp $ # # make release CHROOTDIR=/some/dir BUILDNAME=somename [ RELEASETAG=tag ] # # Where "/some/dir" is the pathname of a directory on a some # filesystem with at least 1000MB of free space, "somename" is what # you want the release to call itself and, optionally, which CVS "tag" # name should be used when checking out the sources to build the release # (default is HEAD). # # Please note: the vn driver must also be compiled into your kernel, # otherwise the target 'release.8' and possibly others will fail. # # Set these, release builder! # # Fixed version: #BUILDNAME=4.0-RELEASE # # Automatic SNAP versioning: DATE != date +%Y%m%d BASE = 4.0 BUILDNAME?=${BASE}-${DATE}-SNAP # #CHROOTDIR=/junk/release # If this is a RELEASE, then set #RELEASETAG=RELENG_2_2 # If you are using a local CVS repository with components stored in # non-standard modules, override these on the make commandline or # in the environment. RELEASESRCMODULE?= src RELEASEDOCMODULE?= doc RELEASEPORTSMODULE?= ports # Unless set elsewhere, indicate the object format we'll be using. OBJFORMAT?= elf # Uncomment this to disable the doc.1 target. It is also an ERROR # to set NOPORTS and not set NODOC since docs depend on ports. #NODOC= YES #NOPORTS= YES # Comment the following if you want the release documentation to be # in English only. ALLLANG= yes DOCPORTS= textproc/docproj # Set this to wherever the distfiles required by ${DOCPORTS} live. DISTFILES?= ${.CURDIR}/../../ports/distfiles DIST_DOCS= ABOUT.TXT ERRATA.TXT LAYOUT.TXT README.TXT HARDWARE.TXT \ INSTALL.TXT RELNOTES.TXT TROUBLE.TXT UPGRADE.TXT # Things which without too much trouble can be considered variables # BIN_DISTS are special in that they get full /etc installation sets. # COMPAT_DISTS?= compat1x compat20 compat21 OTHER_DISTS?= manpages catpages games proflibs dict info doc CRYPTO_DISTS?= krb des BIN_DISTS?= bin DISTRIBUTIONS?= ${BIN_DISTS} ${OTHER_DISTS} ${COMPAT_DISTS} ${CRYPTO_DISTS} KERNELS?= GENERIC # Extra source tarballs; each argument is a pair of source dir and # distribution name. The dist name should not exceed 7 characters # (another "s" for "source" will be prepended). EXTRA_SRC+= usr.sbin/sendmail/cf smailcf BOOT1= etc/protocols etc/defaults/rc.conf # mountpoint for filesystems. MNT= /mnt # Various floppy image parameters. # BOOTSIZE= 1440 FIXITSIZE= 1440 MFSSIZE= 2880 BIGBOOTSIZE= 2880 BOOTINODE= 80000 MFSINODE= 8000 FIXITINODE= 2000 BOOTLABEL= fd1440 FIXITLABEL= fd1440 BIGBOOTLABEL= minimum2 MFSLABEL= minimum2 # overrides. .if ${MACHINE_ARCH} == "alpha" FIXITSIZE= 2880 FIXITLABEL= minimum2 .endif ZIPNSPLIT= gzip --no-name -9 -c | split -b 240640 - VNDEVICE?= vn0 # Things which may get you into trouble if you change them MTREEFILES= ${.CURDIR}/../etc/mtree RD= /R/stage FD= /R/ftp CD= /R/cdrom CD_DISC1= ${CD}/disc1 CD_DISC2= ${CD}/disc2 # Where the bootstrap ports (see DOCPORTS) get installed. LOCALDIR= /usr/local/bin # ${BOOTSTRAPDIR} is for those utilities that refer to the hosting # environment, rather than the target environment. This is specifically # intended for kernel-dependent utilities that are used during the build. # # ${BOOTSTRAPDIR} is actually being used by prepending it to the normal # ${PATH}. Thus, it's also available to outside utilities like doFS.sh. BOOTSTRAPDIR= /bootstrap # # The mount subsystem has been changed between 2.2 and 3.0 by the # Lite2 import. BOOTSTRAPUTILS= /sbin/mount /sbin/umount # # 3.0 cpio tries to reference lchown(2) which is not available in 2.2 BOOTSTRAPUTILS+= /usr/bin/cpio .if !defined(CRUNCH_TARGETS) CRUNCH_TARGETS= boot fixit .endif EXTRAS= cdrom.1 ftp.1 .if !defined(NODOC) DOCREL= doc.1 .endif rerelease release: .if !defined(CHROOTDIR) || !defined(BUILDNAME) || !defined(CVSROOT) @echo "To make a release you must set CHROOTDIR, BUILDNAME and CVSROOT" && false .endif .if make(release) .if exists(${CHROOTDIR}) # The first command will fail on a handful of files that have their schg # flags set. But it greatly speeds up the next two commands. -rm -rf ${CHROOTDIR} -chflags -R noschg ${CHROOTDIR}/. -rm -rf ${CHROOTDIR} .endif -mkdir -p ${CHROOTDIR} cd ${.CURDIR}/../etc && ${MAKE} distrib-dirs DESTDIR=${CHROOTDIR} cd ${.CURDIR}/../etc && ${MAKE} distribution DESTDIR=${CHROOTDIR} [ -f /etc/resolv.conf ] && cp -p /etc/resolv.conf ${CHROOTDIR}/etc cd ${.CURDIR}/.. && ${MAKE} installworld DESTDIR=${CHROOTDIR} NOMAN=1 mkdir ${CHROOTDIR}/${BOOTSTRAPDIR} for i in ${BOOTSTRAPUTILS} ; do \ cp -p ${CHROOTDIR}$$i ${CHROOTDIR}/${BOOTSTRAPDIR} ; \ done .if !defined(RELEASETAG) cd ${CHROOTDIR}/usr && rm -rf src && \ cvs -R -d ${CVSROOT} co -P ${RELEASESRCMODULE} .else cd ${CHROOTDIR}/usr && rm -rf src && \ cvs -R -d ${CVSROOT} co -P -r ${RELEASETAG} ${RELEASESRCMODULE} .endif .if defined(LOCAL_PATCHES) && exists(${LOCAL_PATCHES}) cd ${CHROOTDIR}/usr/src && patch --silent < ${LOCAL_PATCHES} .endif .if defined(LOCAL_SCRIPT) && exists(${LOCAL_SCRIPT}) cd ${CHROOTDIR} && env CHROOTDIR=${CHROOTDIR} BUILDNAME=${BUILDNAME} RELEASETAG=${RELEASETAG} ${LOCAL_SCRIPT} .endif .if !defined(NOPORTS) cd ${CHROOTDIR}/usr && rm -rf ports && cvs -R -d ${CVSROOT} co -P ${RELEASEPORTSMODULE} && cd ports && make readmes PORTSDIR=${CHROOTDIR}/usr/ports .endif .if !defined(NODOC) cd ${CHROOTDIR}/usr && rm -rf doc && cvs -R -d ${CVSROOT} co -P ${RELEASEDOCMODULE} [ -d ${DISTFILES}/ ] && cp -rp ${DISTFILES} ${CHROOTDIR}/usr/ports/distfiles .endif .endif .if make(rerelease) .if !defined(RELEASENOUPDATE) .if !defined(RELEASETAG) cd ${CHROOTDIR}/usr/src && cvs -R -q update -P -d .else cd ${CHROOTDIR}/usr/src && cvs -R -q update -P -d -r ${RELEASETAG} .endif .if !defined(NOPORTS) cd ${CHROOTDIR}/usr/ports && cvs -R -q update -P -d .endif .if !defined(NODOC) cd ${CHROOTDIR}/usr/doc && cvs -R -q update -P -d .endif .endif .endif # Add version information to those things that need it. ( cd ${CHROOTDIR}/usr/src/sys/conf && \ mv newvers.sh foo && \ sed "s/^RELEASE=.*/RELEASE=${BUILDNAME}/" foo > newvers.sh && rm foo ) echo OBJFORMAT=${OBJFORMAT} > ${CHROOTDIR}/etc/objformat -test -f install.cfg && cp install.cfg ${CHROOTDIR}/usr/src/release echo "#!/bin/sh" > ${CHROOTDIR}/mk echo "set -ex" >> ${CHROOTDIR}/mk echo "_RELTARGET=\$${1:-doRELEASE}" >> ${CHROOTDIR}/mk echo "export CFLAGS='-O -pipe'" >> ${CHROOTDIR}/mk echo "export DISTRIBUTIONS=\"${DISTRIBUTIONS}\"" >> ${CHROOTDIR}/mk echo "export BUILDNAME=${BUILDNAME}" >> ${CHROOTDIR}/mk echo "export VNDEVICE=${VNDEVICE}" >> ${CHROOTDIR}/mk echo "export OBJFORMAT=${OBJFORMAT}" >> ${CHROOTDIR}/mk .if defined(RELEASETAG) echo "export RELEASETAG=${RELEASETAG}" >> ${CHROOTDIR}/mk .endif .if defined(NOPORTS) echo "export NOPORTS=${NOPORTS}" >> ${CHROOTDIR}/mk .endif .if defined(NODOC) echo "export NODOC=${NODOC}" >> ${CHROOTDIR}/mk .endif .if defined(ALLLANG) echo "export ALLLANG=${ALLLANG}" >> ${CHROOTDIR}/mk .endif .if defined(NOSRC) echo "export NOSRC=${NOSRC}" >> ${CHROOTDIR}/mk .endif .if defined(NOSHARED) echo "export NOSHARED=${NOSHARED}" >> ${CHROOTDIR}/mk .endif .if defined(BOOT_CONFIG) echo "export BOOT_CONFIG=\"${BOOT_CONFIG}\"">> ${CHROOTDIR}/mk .endif # Don't remove this, or the build will fall over! echo "export RELEASEDIR=/R" >> ${CHROOTDIR}/mk echo "export PATH=${BOOTSTRAPDIR}:$${PATH}:${LOCALDIR}" >> ${CHROOTDIR}/mk echo "if [ ! -f /tmp/.world_done ]; then" >> ${CHROOTDIR}/mk echo " cd /usr/src" >> ${CHROOTDIR}/mk .if make(release) echo " (cd etc; make distrib-dirs distribution)" >> ${CHROOTDIR}/mk echo " make world" >> ${CHROOTDIR}/mk .endif .if make(rerelease) echo " make all install" >> ${CHROOTDIR}/mk .endif echo " touch /tmp/.world_done" >> ${CHROOTDIR}/mk echo "fi" >> ${CHROOTDIR}/mk echo "cd /usr/src/release/sysinstall" >> ${CHROOTDIR}/mk echo "make obj" >> ${CHROOTDIR}/mk echo "cd /usr/src/release" >> ${CHROOTDIR}/mk echo "make objlink" >> ${CHROOTDIR}/mk echo "make \$${_RELTARGET}" >> ${CHROOTDIR}/mk echo "echo make ${.TARGET} Finished" >> ${CHROOTDIR}/mk chmod 755 ${CHROOTDIR}/mk chroot ${CHROOTDIR} /mk clean: rm -rf boot_crunch release.[0-9] # Clean out /R and make the directory structure. release.1: -mkdir /R -chflags -R noschg /R/. rm -rf /R/* mkdir ${RD} mkdir ${RD}/floppies mkdir ${RD}/trees mkdir ${RD}/dists mkdir ${RD}/kernels for i in ${DISTRIBUTIONS} ; do \ mkdir ${RD}/trees/$$i && \ mkdir ${RD}/dists/$$i && \ mtree -deU -f ${MTREEFILES}/BSD.root.dist \ -p ${RD}/trees/$$i > /dev/null && \ mtree -deU -f ${MTREEFILES}/BSD.usr.dist \ -p ${RD}/trees/$$i/usr > /dev/null && \ mtree -deU -f ${MTREEFILES}/BSD.include.dist \ -p ${RD}/trees/$$i/usr/include > /dev/null && \ mtree -deU -f ${MTREEFILES}/BSD.var.dist \ -p ${RD}/trees/$$i/var > /dev/null ; \ done touch release.1 # Install the system into the various distributions. release.2: cd ${.CURDIR}/../etc && make distrib-dirs DESTDIR=${RD}/trees/bin cd ${.CURDIR}/.. && make distribute DISTDIR=${RD}/trees .if exists(${.CURDIR}/../kerberosIV) && !defined(NOKERBEROS) cd ${.CURDIR}/../kerberosIV && ( \ make bootstrap &&\ make obj all help-distribute DISTDIR=${RD}/trees &&\ make kprog \ ) .endif -chflags -R noschg ${RD}/trees touch release.2 # Make and install the generic kernel(s). release.3: .for kernel in ${KERNELS} rm -f ${RD}/kernels/${kernel} rm -rf ${.CURDIR}/../sys/compile/${kernel} cd ${.CURDIR} && ${MAKE} doKERNEL KERNEL=${kernel} rm -rf ${.CURDIR}/../sys/compile/${kernel} ln -f ${RD}/kernels/${kernel} ${RD}/trees/bin/kernel.${kernel} .endfor touch release.3 # Make and install the three crunched binaries which live on the floppies. # You are not supposed to like this :-) # # NB: the "RELEASE_BUILD_FIXIT" magic prevents vi from including the # Tcl and Perl APIs. See also /usr/src/usr.bin/vi/Makefile. release.4: @mkdir -p /stand cd ${.CURDIR}/sysinstall && make obj depend all install rm -rf ${RD}/crunch mkdir -p ${RD}/crunch export RELEASE_BUILD_FIXIT=noway ; \ for j in ${CRUNCH_TARGETS} ; do \ rm -rf $${j}_crunch && \ mkdir $${j}_crunch && \ ( cd $${j}_crunch && \ crunchgen ${.CURDIR}/$${j}_crunch.conf && \ ${MAKE} -DRELEASE_CRUNCH -f $${j}_crunch.mk subclean all \ NOCRYPT=yes "CFLAGS=${CFLAGS} -DCRUNCHED_BINARY") && \ mv $${j}_crunch/$${j}_crunch ${RD}/crunch/$${j} && \ true || { rm -rf $${j}_crunch ; false ; } ; \ done touch release.4 # # --==## Fix up the distributions. ##==-- # release.5: # Handle some grief caused by the munition braindeadness. for i in sbin/init bin/ed usr.sbin/ppp ; do \ ( cd ${.CURDIR}/../$$i; \ make -DNOCRYPT clean all distribute DISTDIR=${RD}/trees ) ; \ done # Create any "synthetic dists" now. @for i in ${DISTRIBUTIONS}; do \ if [ -f ${.CURDIR}/scripts/$${i}-make.sh ]; then \ echo -n "Running $$i dist creation script... "; \ env OBJFORMAT=${OBJFORMAT} RD=${RD} sh ${.CURDIR}/scripts/$${i}-make.sh || echo "$$i distribution script returned bad status."; \ echo "Done."; \ fi \ done \ # Create symlinks for the MD5-based crypt lib, too. The # automatically created links still point to the DES stuff, # which went into its own distribution. for i in ${RD}/trees/bin/usr/lib/libscrypt* ; do \ c=`echo $$i | sed -e 's/libscrypt/libcrypt/'` ; \ rm -f $$c ; \ ln -s `basename $$i` $$c ; \ done # Remove all the directories we don't need. -cd ${RD}/trees && \ find ${OTHER_DISTS} ${COMPAT_DISTS} ${CRYPTO_DISTS} -depth -type d -print | xargs rmdir touch release.5 # # --==## Package up the tarballs from assembled trees ##==-- # release.6: rm -rf ${RD}/dists mkdir -p ${RD}/dists @for i in ${DISTRIBUTIONS} ; \ do \ if [ -d ${RD}/trees/$${i} ] ; then \ cd ${.CURDIR} && $(MAKE) doTARBALL \ SD=${RD}/trees/$${i} \ TN=$$i TD=$$i ARG="." && \ echo "$${i} distribution is finished."; \ fi ; \ done # More munition braindeadness. ( cd ${RD}/dists && \ if [ -f krb/krb.aa ] ; then mv krb/* des && rmdir krb ; fi ) touch release.6 # # --==## Make source dists ##==-- # release.7: .if !defined(NOSRC) @cd ${.CURDIR} && $(MAKE) doTARBALL SD=/usr/src \ TD=src TN=sbase ARG="[A-Z]*" @for i in `cd /usr/src && echo [a-z]*` ; do \ if [ -d /usr/src/$$i ] ; then \ cd ${.CURDIR} && $(MAKE) doTARBALL \ TN=`echo s$$i | tr -d '.' | sed 's/usr/u/'` \ SD=/usr/src TD=src ARG="$$i" ; \ fi ; \ done .if defined(EXTRA_SRC) @set ${EXTRA_SRC} && \ while [ $$# -ge 2 ] ; do \ if [ -d /usr/src/$$1 ] ; then \ cd ${.CURDIR} && $(MAKE) doTARBALL \ SD=/usr/src TN="s$$2" TD=src ARG="$$1" ; \ fi && shift && shift ; \ done .endif ( cd ${RD}/dists/src && \ if [ -f ssecure.aa ] ; then mv ssecure.* ../des ; fi && \ if [ -f scrypto.aa ] ; then mv scrypto.* ../des ; fi && \ if [ -f skerbero.aa ] ; then mv skerbero.* ../des ; fi ; ) @echo "src distribution is finished." .endif touch release.7 # Complete the bootfd # # Now, just to get this picture down once and for all: # # +------------------------------------------------------------------------+ # |boot.flp | # +-----+-----+------------------------------------------------------------+ # |boot1|boot2|floppy filesystem "bootfd" | # +-----+-----+-+--------------------------------------------------------+-+ # |kernel | # +------------+-----------------------------------------+-+ # |mfs filesystem "mfsfd" | # +-----------------------------------------+ # release.8: write_mfs_in_kernel dumpnlist rm -rf ${RD}/mfsfd mkdir ${RD}/mfsfd cd ${RD}/mfsfd && \ mkdir -p etc dev mnt stand/help @cd ${.CURDIR} && $(MAKE) installCRUNCH CRUNCH=boot \ DIR=${RD}/mfsfd/stand ZIP=false ( cd ${RD}/trees/bin/dev && \ ls console tty ttyv0 ttyv1 ttyv2 ttyv3 null zero | \ cpio -dump ${RD}/mfsfd/dev ) ( cd ${RD}/mfsfd/dev && rm -f *[swo]d*[bdefgh] ) cd ${RD}/trees/bin && ls ${BOOT1} | cpio -dump ${RD}/mfsfd/stand echo "nameserver 42/tcp name" > ${RD}/mfsfd/stand/etc/services echo "ftp 21/tcp" >> ${RD}/mfsfd/stand/etc/services echo "domain 53/tcp nameserver" >> ${RD}/mfsfd/stand/etc/services echo "domain 53/udp nameserver" >> ${RD}/mfsfd/stand/etc/services echo "cmd 514/tcp shell" >> ${RD}/mfsfd/stand/etc/services gzip -9c ${.CURDIR}/../COPYRIGHT > ${RD}/mfsfd/stand/help/COPYRIGHT.hlp.gz for i in README.TXT RELNOTES.TXT INSTALL.TXT UPGRADE.TXT HARDWARE.TXT; do \ gzip -9c ${.CURDIR}/texts/$${i} > ${RD}/mfsfd/stand/help/$${i}.gz; done -test -f ${.CURDIR}/install.cfg && cp ${.CURDIR}/install.cfg ${RD}/mfsfd @mkdir -p ${RD}/mfsfd/boot @cp /boot/boot* ${RD}/mfsfd/boot @echo "Making the regular boot floppy." @tar --exclude CVS -cf - -C ${.CURDIR}/sysinstall help | \ tar xf - -C ${RD}/mfsfd/stand @echo "Compressing doc files..." @gzip -9 ${RD}/mfsfd/stand/help/*.hlp sh -e ${.CURDIR}/scripts/doFS.sh -s mfsroot ${RD} ${MNT} \ ${MFSSIZE} ${RD}/mfsfd ${MFSINODE} ${MFSLABEL} @gzip -9vc mfsroot > mfsroot.gz @sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/mfsroot.flp \ ${RD} ${MNT} ${BOOTSIZE} mfsroot.gz ${BOOTINODE} ${BOOTLABEL} @cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=kern @cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=boot BIGBOOT=YES @rm mfsroot mfsroot.gz mfsroot.size @echo "Regular and MFS boot floppies made." touch release.8 # # --==## Create a fixit floppy ##==-- # release.9: @echo "Making fixit floppy." @rm -rf ${RD}/fixitfd @mkdir ${RD}/fixitfd @cd ${RD}/fixitfd && \ mkdir -p dev stand bin sbin etc mnt mnt1 mnt2 mnt3 mnt4 tmp \ usr/share/misc @cd ${.CURDIR} && $(MAKE) installCRUNCH CRUNCH=fixit \ DIR=${RD}/fixitfd/stand ZIP=false @( cd ${RD}/fixitfd/dev && \ sed -e '/^PATH/s/^/#/' ${RD}/trees/bin/dev/MAKEDEV > MAKEDEV && \ chmod 755 MAKEDEV && \ sh MAKEDEV all ) @cp ${RD}/trees/bin/etc/spwd.db ${RD}/trees/bin/etc/group \ ${RD}/trees/bin/etc/protocols ${RD}/fixitfd/etc @cp ${RD}/trees/bin/usr/share/misc/scsi_modes \ ${RD}/fixitfd/usr/share/misc @cp ${.CURDIR}/fixit.profile ${RD}/fixitfd/.profile @cp ${.CURDIR}/fixit.services ${RD}/fixitfd/etc/services @cp ${.CURDIR}/scripts/tar.sh ${RD}/fixitfd/stand/tar @chmod 555 ${RD}/fixitfd/stand/tar @sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/fixit.flp ${RD} \ ${MNT} ${FIXITSIZE} ${RD}/fixitfd ${FIXITINODE} ${FIXITLABEL} # Do our last minute floppies directory setup in a convenient place. @cp ${.CURDIR}/texts/FLOPPIES.TXT ${RD}/floppies/README.TXT @(cd ${RD}/floppies; md5 * > CHECKSUM.MD5) touch release.9 # # --==## Setup a suitable ftp-area ##==-- # ftp.1: @echo "Setting up FTP distribution area" @mkdir -p ${FD} @cd ${RD} && find floppies -print | cpio -dumpl ${FD} @cd ${RD}/dists && find . -print | cpio -dumpl ${FD} @for i in ${DIST_DOCS}; do cp ${.CURDIR}/texts/$${i} ${FD}; done @echo "CD_VERSION = ${BUILDNAME}" > ${FD}/cdrom.inf .if !defined(NOPORTS) @tar -cBf - -C ${CD_DISC1} ports | tar -xBf - -C ${FD} .endif # # --==## Setup a suitable cdrom-area ##==-- # cdrom.1: @echo "Setting up CDROM distribution area" @mkdir -p ${CD_DISC1} ${CD_DISC2} @cd ${RD} && find floppies -print | cpio -dumpl ${CD_DISC1} @cd ${RD}/dists && find . -print | cpio -dumpl ${CD_DISC1} @ln -f ${RD}/kernels/MFSKERNEL.boot ${CD_DISC1}/kernel @for i in ${DISTRIBUTIONS} ; \ do \ if [ -d ${RD}/trees/$${i} ] ; then \ - chflags -R noschg ${RD}/trees/$${i} ; \ + chflags -R noschg ${RD}/trees/$${i} || true ; \ ( cd ${RD}/trees/$${i} && \ find . -depth -print | cpio -dumpl ${CD_DISC2} ) ; \ fi \ done @rm -f ${CD_DISC2}/.profile @cp ${.CURDIR}/fixit.profile ${CD_DISC2}/.profile @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC1}/cdrom.inf @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC2}/cdrom.inf @for i in ${DIST_DOCS}; do cp ${.CURDIR}/texts/$${i} ${CD_DISC1}; done .if !defined(NOPORTS) @-rm -rf /usr/ports/distfiles/* @mkdir -p ${CD_DISC1}/ports && \ tar -czf ${CD_DISC1}/ports/ports.tgz -C /usr ports && \ cp ${.CURDIR}/scripts/ports-install.sh ${CD_DISC1}/ports/install.sh \ && (cd ${CD_DISC1}/ports; md5 * > CHECKSUM.MD5) .endif doc.1: @echo "Making docs..." @for i in ${DOCPORTS}; do \ cd /usr/ports/$$i && make all install clean JADETEX=no FORCE_PKG_REGISTER=yes; \ done @cd /usr/doc && make all distribute DISTDIR=${RD}/trees touch doc.1 # Various "subroutine" and other supporting targets. doTARBALL: .if !defined(SD) @echo "SD undefined in doTARBALL" && exit 1 .endif .if !defined(TD) @echo "TB undefined in doTARBALL" && exit 1 .endif .if !defined(ARG) @echo "ARG undefined in doTARBALL" && exit 1 .endif @rm -rf ${RD}/dists/${TD}/${TN}* @mkdir -p ${RD}/dists/${TD} @( cd ${SD} && \ tn=`echo ${TN} | tr '[A-Z]' '[a-z]' | cut -c1-8` && \ echo rolling ${TD}/$$tn tarball &&\ tar --exclude CVS --exclude obj --exclude BOOTMFS -cf - ${ARG} | \ ${ZIPNSPLIT} ${RD}/dists/${TD}/$$tn. && \ sh ${.CURDIR}/scripts/info.sh ${RD}/dists/${TD}/$$tn > \ ${RD}/dists/${TD}/$$tn.inf && \ if [ -f ${.CURDIR}/scripts/$${TD}-install.sh ]; then \ cp -p ${.CURDIR}/scripts/$${TD}-install.sh ${RD}/dists/${TD}/install.sh; \ fi && \ if [ "${SD}" != "/usr/src" ]; then \ mtree -c -i -p ${SD}/${ARG} \ -k gname,md5digest,mode,nlink,uname,size,link,type \ > ${RD}/dists/${TD}/$$tn.mtree ; \ else \ true; \ fi; \ (cd ${RD}/dists/${TD}; \ rm -f CHECKSUM.MD5; \ md5 * > CHECKSUM.MD5) \ ) doRELEASE: release.1 release.2 ${DOCREL} release.3 release.4 release.5 \ release.6 release.7 release.8 release.9 @cd ${.CURDIR} && ${MAKE} ${EXTRAS} @echo "Release done" floppies: @cd ${.CURDIR} && ${MAKE} boot.flp @cd ${.CURDIR} && ${MAKE} fixit.flp @cd ${RD} && find floppies -print | cpio -dumpl ${FD} boot.flp: @rm -f release.4 release.8 @cd ${.CURDIR} && ${MAKE} release.4 release.8 CRUNCH_TARGETS=boot fixit.flp: @rm -f release.4 release.9 @cd ${.CURDIR} && ${MAKE} release.4 release.9 CRUNCH_TARGETS=fixit write_mfs_in_kernel: ${.CURDIR}/write_mfs_in_kernel.c ${CC} ${CFLAGS} -o write_mfs_in_kernel ${.CURDIR}/write_mfs_in_kernel.c # Add -DDO_SCSI to CFLAGS to enable scsi frobbing support. dumpnlist: ${.CURDIR}/dumpnlist.c ${CC} ${CFLAGS} -o dumpnlist ${.CURDIR}/dumpnlist.c installCRUNCH: .if !defined(CRUNCH) @echo "CRUNCH undefined in installCRUNCH" && exit 1 .endif .if !defined(DIR) @echo "DIR undefined in installCRUNCH" && exit 1 .endif .if !defined(ZIP) @echo "ZIP undefined in installCRUNCH" && exit 1 .endif @if ${ZIP} ; then \ gzip -9 < ${RD}/crunch/${CRUNCH} > ${DIR}/${CRUNCH}_crunch ; \ else \ ln -f ${RD}/crunch/${CRUNCH} ${DIR}/${CRUNCH}_crunch ; \ fi @chmod 555 ${DIR}/${CRUNCH}_crunch @for i in `crunchgen -l ${.CURDIR}/${CRUNCH}_crunch.conf` ; do \ ln -f ${DIR}/${CRUNCH}_crunch ${DIR}/$$i ; \ done # # --==## Compile a kernel by name ${KERNEL} ##==-- # # We don't erase the sys/compile/${KERNEL} directory, since somebody # may want to reuse it (release.8 presently) # doKERNEL: @rm -f ${RD}/kernels/${KERNEL} @cd ${.CURDIR}/../sys/${MACHINE_ARCH}/conf && config ${KERNEL} @cd ${.CURDIR}/../sys/compile/${KERNEL} && \ make depend && \ make kernel && \ cp kernel ${RD}/kernels/${KERNEL} # # --==## Put a filesystem into a BOOTMFS kernel ##==-- # doMFSKERN: @echo "Running doMFSKERN for ${FSIMAGE}" @rm -f ${RD}/kernels/BOOTMFS.${FSIMAGE} @cd ${.CURDIR}/../sys/${MACHINE_ARCH}/conf && \ sh ${.CURDIR}/scripts/dokern.sh ${BIGBOOT} < GENERIC > BOOTMFS .if ${MACHINE_ARCH} == "i386" @echo "options INTRO_USERCONFIG" >> ${.CURDIR}/../sys/i386/conf/BOOTMFS .endif .if defined(BIGBOOT) @echo "options \"MFS_ROOT_SIZE=`cat mfsroot.size`\"" >> \ ${.CURDIR}/../sys/${MACHINE_ARCH}/conf/BOOTMFS .endif @cd ${.CURDIR} && ${MAKE} doKERNEL KERNEL=BOOTMFS @rm -rf ${RD}/image.${FSIMAGE} @mkdir ${RD}/image.${FSIMAGE} @cp ${RD}/kernels/BOOTMFS ${RD}/kernels/BOOTMFS.${FSIMAGE} mv ${RD}/kernels/BOOTMFS ${RD}/image.${FSIMAGE}/kernel @echo "Setting up /boot directory for ${FSIMAGE} floppy" @mkdir -p ${RD}/image.${FSIMAGE}/boot @cp /boot/boot[12] /boot/loader ${RD}/image.${FSIMAGE}/boot .if !defined(BIGBOOT) || ${MACHINE_ARCH} == "alpha" @echo "load /kernel" > ${RD}/image.${FSIMAGE}/boot/loader.rc @echo "echo Please insert MFS root floppy and press enter:" >> ${RD}/image.${FSIMAGE}/boot/loader.rc @echo "read" >> ${RD}/image.${FSIMAGE}/boot/loader.rc @echo "load -t mfs_root /mfsroot" >> ${RD}/image.${FSIMAGE}/boot/loader.rc @echo "boot" >> ${RD}/image.${FSIMAGE}/boot/loader.rc @touch ${RD}/image.${FSIMAGE}/boot/loader.config .endif .if defined(BIGBOOT) @echo "Writing MFS image into kernel for ${FSIMAGE} floppy" @./write_mfs_in_kernel ${RD}/image.${FSIMAGE}/kernel mfsroot @cp ${RD}/image.${FSIMAGE}/kernel ${RD}/kernels/MFSKERNEL.${FSIMAGE} .endif @gzip -9v ${RD}/image.${FSIMAGE}/kernel @touch ${RD}/image.${FSIMAGE}/kernel.config @rm -f ${RD}/floppies/${FSIMAGE}.flp .if defined(BIGBOOT) sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/${FSIMAGE}.flp \ ${RD} ${MNT} ${BIGBOOTSIZE} ${RD}/image.${FSIMAGE} \ ${BOOTINODE} ${BIGBOOTLABEL} .else sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/${FSIMAGE}.flp \ ${RD} ${MNT} ${BOOTSIZE} ${RD}/image.${FSIMAGE} \ ${BOOTINODE} ${BOOTLABEL} .endif @echo "Created ${RD}/floppies/${FSIMAGE}.flp" .include Index: head/sys/alpha/conf/Makefile.alpha =================================================================== --- head/sys/alpha/conf/Makefile.alpha (revision 43993) +++ head/sys/alpha/conf/Makefile.alpha (revision 43994) @@ -1,293 +1,293 @@ # Makefile.alpha -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.alpha 7.1 5/10/91 -# $Id: Makefile.alpha,v 1.16 1999/01/09 21:50:59 jdp Exp $ +# $Id: Makefile.alpha,v 1.17 1999/02/02 18:34:23 dfr Exp $ # # Makefile for FreeBSD # # This makefile is constructed from a machine description: # config machineid # Most changes should be made in the machine description # /sys/alpha/conf/``machineid'' # after which you should do # config machineid # Generic makefile changes should be made in # /sys/alpha/conf/Makefile.alpha # after which config should be rerun for all machines. # # Which version of config(8) is required. %VERSREQ= 300009 BINFORMAT?= elf STD8X16FONT?= iso .if exists(./@/.) S= ./@ .else S= ../.. .endif ALPHA= ${S}/alpha HCC?=${CC} SIZE?=size COPTFLAGS?=-O INCLUDES= -nostdinc -I- -I. -I$S # This hack is to allow kernel compiles to succeed on machines w/out srcdist .if exists($S/../include) INCLUDES+= -I$S/../include .else INCLUDES+= -I/usr/include .endif COPTS= ${INCLUDES} ${IDENT} -DKERNEL -include opt_global.h CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} LOAD_ADDRESS?= 0xfffffc0000300000 DEFINED_PROF= ${PROF} .if defined(PROF) CFLAGS+= -malign-functions=4 .if ${PROFLEVEL} >= 2 IDENT+= -DGPROF4 -DGUPROF PROF+= -mprofiler-epilogue .endif .endif NORMAL_C= ${CC} -c ${CFLAGS} ${PROF} $< NORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< # XXX LOCORE means "don't declare C stuff" not "for locore.s". NORMAL_S= ${CC} -c -x assembler-with-cpp -DLOCORE ${COPTS} $< DRIVER_C= ${CC} -c ${CFLAGS} ${PROF} $< DRIVER_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< DRIVER_S= ${CC} -c -x assembler-with-cpp -DLOCORE ${COPTS} $< PROFILE_C= ${CC} -c ${CFLAGS} ${PARAM} $< NORMAL_M= ${NORMAL_C} # ${ALPHA}/alpha/setdef0.c and ${ALPHA}/alpha/setdef1.c are intentionally # omitted from SYSTEM_CFILES. They depend on setdefs.h, a header which # is generated from all of ${OBJS}. We don't want to have to compile # everything just to do a make depend. SYSTEM_CFILES= ioconf.c param.c vnode_if.c config.c SYSTEM_SFILES= ${ALPHA}/alpha/locore.s SYSTEM_DEP= Makefile symbols.exclude symbols.sort ${SYSTEM_OBJS} .if ${CFLAGS:M-g} == "" SYMORDER_EXCLUDE=-x symbols.exclude .endif SYSTEM_LD_HEAD= @echo loading $@; rm -f $@ .if ${BINFORMAT} == elf SYSTEM_OBJS= locore.o setdef0.o vnode_if.o \ ${OBJS} ioconf.o param.o config.o \ setdef1.o hack.So SYSTEM_LD= @${LD} --export-dynamic -T$S/alpha/conf/kernel.script -e locorestart \ -o $@ -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL= @${SIZE} $@; chmod 755 $@ .endif %BEFORE_DEPEND %OBJS %CFILES %SFILES %MFILES %LOAD %CLEAN .if !exists(.depend) ${SYSTEM_OBJS}: ${BEFORE_DEPEND:M*.h} .endif clean: rm -f *.o *.s eddep errs genassym gensetdefs kernel linterrs \ makelinks param.c setdefs.h symbols.exclude symbols.sort tags \ vers.c vnode_if.c vnode_if.h ${CLEAN} #lint: /tmp param.c # @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} ${PARAM} \ # ${ALPHA}/alpha/Locore.c ${CFILES} ioconf.c param.c | \ # grep -v 'struct/union .* never defined' | \ # grep -v 'possible pointer alignment problem' symbols.exclude: Makefile echo "gcc2_compiled." >symbols.exclude echo "___gnu_compiled_c" >>symbols.exclude symbols.sort: ${ALPHA}/alpha/symbols.raw grep -v '^#' ${ALPHA}/alpha/symbols.raw \ | sed 's/^ //' | sort -u > symbols.sort locore.o: ${ALPHA}/alpha/locore.s assym.s ${NORMAL_S} hack.So: Makefile echo "void __elf_kld_hack() {}" > hack.c ${CC} -shared -nostdlib hack.c -o hack.So rm -f hack.c setdef0.o: ${ALPHA}/alpha/setdef0.c setdefs.h ${NORMAL_C} setdef1.o: ${ALPHA}/alpha/setdef1.c setdefs.h ${NORMAL_C} setdefs.h: gensetdefs ${OBJS} @echo Generating kernel linker sets @./gensetdefs ${OBJS} >setdefs.h gensetdefs: gensetdefs.o ${HCC} -static gensetdefs.o -o $@ gensetdefs.o: ${ALPHA}/alpha/gensetdefs.c ${HCC} -c -I${INCLUDES} ${ALPHA}/alpha/gensetdefs.c # everything potentially depends on the Makefile since everything potentially # depends on the options. Some things are more dependent on the Makefile for # historical reasons. machdep.o: Makefile # the following is necessary because autoconf.o depends on #if GENERIC autoconf.o: Makefile # XXX - may no longer be needed locore.o: Makefile # depends on KDB (cons.o also depends on GENERIC) trap.o cons.o: Makefile # this rule stops ./assym.s in .depend from causing problems ./assym.s: assym.s assym.s: genassym ./genassym >assym.s # Some of the defines that genassym outputs may well depend on the # value of kernel options. genassym.o: ${ALPHA}/alpha/genassym.c Makefile opt_global.h ${HCC} -c ${COPTS} ${PARAM} -UKERNEL ${ALPHA}/alpha/genassym.c genassym: genassym.o ${HCC} -static ${COPTS} ${PARAM} genassym.o -o $@ SYSTEM_OBJS+= __divqu.o __divq.o __divlu.o __divl.o SYSTEM_OBJS+= __remqu.o __remq.o __remlu.o __reml.o CLEAN+= __divqu.S __divq.S __divlu.S __divl.S CLEAN+= __remqu.S __remq.S __remlu.S __reml.S __divqu.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__divqu')define(OP,\`div')define(S,\`false')"; \ echo "define(WORDSIZE,64)"; cat ${.ALLSRC}) | m4 > ${.TARGET} __divq.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__divq')define(OP,\`div')define(S,\`true')"; \ echo "define(WORDSIZE,64)"; cat ${.ALLSRC}) | m4 > ${.TARGET} __divlu.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__divlu')define(OP,\`div')define(S,\`false')"; \ echo "define(WORDSIZE,32)"; cat ${.ALLSRC}) | m4 > ${.TARGET} __divl.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__divl')define(OP,\`div')define(S,\`true')"; \ echo "define(WORDSIZE,32)"; cat ${.ALLSRC}) | m4 > ${.TARGET} __remqu.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__remqu')define(OP,\`rem')define(S,\`false')"; \ echo "define(WORDSIZE,64)"; cat ${.ALLSRC}) | m4 > ${.TARGET} __remq.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__remq')define(OP,\`rem')define(S,\`true')"; \ echo "define(WORDSIZE,64)"; cat ${.ALLSRC}) | m4 > ${.TARGET} __remlu.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__remlu')define(OP,\`rem')define(S,\`false')"; \ echo "define(WORDSIZE,32)"; cat ${.ALLSRC}) | m4 > ${.TARGET} __reml.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__reml')define(OP,\`rem')define(S,\`true')"; \ echo "define(WORDSIZE,32)"; cat ${.ALLSRC}) | m4 > ${.TARGET} ${OBJS}: opt_global.h # XXX this assumes that the options for NORMAL_C* and DRIVER_C* are identical. depend: assym.s param.c vnode_if.h ${BEFORE_DEPEND} rm -f .newdep mkdep -a -f .newdep ${COPTS} ${CFILES} ${SYSTEM_CFILES} mkdep -a -f .newdep ${COPTS} ${PARAM} -UKERNEL ${ALPHA}/alpha/genassym.c MKDEP_CPP="${CC} -E -x assembler-with-cpp" ; export MKDEP_CPP ; \ mkdep -a -f .newdep -DLOCORE ${COPTS} ${SFILES} ${SYSTEM_SFILES} rm -f .depend mv -f .newdep .depend cleandepend: rm -f .depend links: egrep '#if' ${CFILES:Nswapkernel.c} | sed -f $S/conf/defines | \ sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink echo ${CFILES:Nswapkernel.c} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ sort -u | comm -23 - dontlink | \ sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks sh makelinks && rm -f dontlink tags: @echo "see $S/kern/Makefile for tags" install: @if [ ! -f kernel ] ; then \ echo "You must first build your kernel before trying to install." ; \ exit 1 ; \ fi .if exists(${DESTDIR}/kernel) - chflags noschg ${DESTDIR}/kernel + -chflags noschg ${DESTDIR}/kernel mv ${DESTDIR}/kernel ${DESTDIR}/kernel.old .endif PATH=$${PATH}:/sbin:/usr/sbin; \ if [ `sysctl -n kern.bootfile` = ${DESTDIR}/kernel ] ; then \ sysctl -w kern.bootfile=${DESTDIR}/kernel.old ; \ if [ -f /var/db/kvm_kernel.db ] ; then \ mv -f /var/db/kvm_kernel.db /var/db/kvm_kernel.old.db ; \ fi \ fi install -c -m 555 -o root -g wheel -fschg kernel ${DESTDIR}/ ioconf.o: ioconf.c $S/sys/param.h $S/sys/buf.h ${CC} -c ${CFLAGS} ioconf.c param.c: $S/conf/param.c -rm -f param.c cp $S/conf/param.c . param.o: param.c Makefile ${CC} -c ${CFLAGS} ${PARAM} param.c vers.o: ${SYSTEM_DEP} ${SYSTEM_SWAP_DEP} sh $S/conf/newvers.sh ${KERN_IDENT} ${IDENT} ${CC} ${CFLAGS} -c vers.c vnode_if.c: $S/kern/vnode_if.sh $S/kern/vnode_if.src sh $S/kern/vnode_if.sh $S/kern/vnode_if.src vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src sh $S/kern/vnode_if.sh $S/kern/vnode_if.src .if exists($S/../share/mk) .include "$S/../share/mk/bsd.kern.mk" .else .include .endif %RULES # DO NOT DELETE THIS LINE -- make depend uses it Index: head/sys/conf/Makefile.alpha =================================================================== --- head/sys/conf/Makefile.alpha (revision 43993) +++ head/sys/conf/Makefile.alpha (revision 43994) @@ -1,293 +1,293 @@ # Makefile.alpha -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.alpha 7.1 5/10/91 -# $Id: Makefile.alpha,v 1.16 1999/01/09 21:50:59 jdp Exp $ +# $Id: Makefile.alpha,v 1.17 1999/02/02 18:34:23 dfr Exp $ # # Makefile for FreeBSD # # This makefile is constructed from a machine description: # config machineid # Most changes should be made in the machine description # /sys/alpha/conf/``machineid'' # after which you should do # config machineid # Generic makefile changes should be made in # /sys/alpha/conf/Makefile.alpha # after which config should be rerun for all machines. # # Which version of config(8) is required. %VERSREQ= 300009 BINFORMAT?= elf STD8X16FONT?= iso .if exists(./@/.) S= ./@ .else S= ../.. .endif ALPHA= ${S}/alpha HCC?=${CC} SIZE?=size COPTFLAGS?=-O INCLUDES= -nostdinc -I- -I. -I$S # This hack is to allow kernel compiles to succeed on machines w/out srcdist .if exists($S/../include) INCLUDES+= -I$S/../include .else INCLUDES+= -I/usr/include .endif COPTS= ${INCLUDES} ${IDENT} -DKERNEL -include opt_global.h CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} LOAD_ADDRESS?= 0xfffffc0000300000 DEFINED_PROF= ${PROF} .if defined(PROF) CFLAGS+= -malign-functions=4 .if ${PROFLEVEL} >= 2 IDENT+= -DGPROF4 -DGUPROF PROF+= -mprofiler-epilogue .endif .endif NORMAL_C= ${CC} -c ${CFLAGS} ${PROF} $< NORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< # XXX LOCORE means "don't declare C stuff" not "for locore.s". NORMAL_S= ${CC} -c -x assembler-with-cpp -DLOCORE ${COPTS} $< DRIVER_C= ${CC} -c ${CFLAGS} ${PROF} $< DRIVER_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< DRIVER_S= ${CC} -c -x assembler-with-cpp -DLOCORE ${COPTS} $< PROFILE_C= ${CC} -c ${CFLAGS} ${PARAM} $< NORMAL_M= ${NORMAL_C} # ${ALPHA}/alpha/setdef0.c and ${ALPHA}/alpha/setdef1.c are intentionally # omitted from SYSTEM_CFILES. They depend on setdefs.h, a header which # is generated from all of ${OBJS}. We don't want to have to compile # everything just to do a make depend. SYSTEM_CFILES= ioconf.c param.c vnode_if.c config.c SYSTEM_SFILES= ${ALPHA}/alpha/locore.s SYSTEM_DEP= Makefile symbols.exclude symbols.sort ${SYSTEM_OBJS} .if ${CFLAGS:M-g} == "" SYMORDER_EXCLUDE=-x symbols.exclude .endif SYSTEM_LD_HEAD= @echo loading $@; rm -f $@ .if ${BINFORMAT} == elf SYSTEM_OBJS= locore.o setdef0.o vnode_if.o \ ${OBJS} ioconf.o param.o config.o \ setdef1.o hack.So SYSTEM_LD= @${LD} --export-dynamic -T$S/alpha/conf/kernel.script -e locorestart \ -o $@ -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL= @${SIZE} $@; chmod 755 $@ .endif %BEFORE_DEPEND %OBJS %CFILES %SFILES %MFILES %LOAD %CLEAN .if !exists(.depend) ${SYSTEM_OBJS}: ${BEFORE_DEPEND:M*.h} .endif clean: rm -f *.o *.s eddep errs genassym gensetdefs kernel linterrs \ makelinks param.c setdefs.h symbols.exclude symbols.sort tags \ vers.c vnode_if.c vnode_if.h ${CLEAN} #lint: /tmp param.c # @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} ${PARAM} \ # ${ALPHA}/alpha/Locore.c ${CFILES} ioconf.c param.c | \ # grep -v 'struct/union .* never defined' | \ # grep -v 'possible pointer alignment problem' symbols.exclude: Makefile echo "gcc2_compiled." >symbols.exclude echo "___gnu_compiled_c" >>symbols.exclude symbols.sort: ${ALPHA}/alpha/symbols.raw grep -v '^#' ${ALPHA}/alpha/symbols.raw \ | sed 's/^ //' | sort -u > symbols.sort locore.o: ${ALPHA}/alpha/locore.s assym.s ${NORMAL_S} hack.So: Makefile echo "void __elf_kld_hack() {}" > hack.c ${CC} -shared -nostdlib hack.c -o hack.So rm -f hack.c setdef0.o: ${ALPHA}/alpha/setdef0.c setdefs.h ${NORMAL_C} setdef1.o: ${ALPHA}/alpha/setdef1.c setdefs.h ${NORMAL_C} setdefs.h: gensetdefs ${OBJS} @echo Generating kernel linker sets @./gensetdefs ${OBJS} >setdefs.h gensetdefs: gensetdefs.o ${HCC} -static gensetdefs.o -o $@ gensetdefs.o: ${ALPHA}/alpha/gensetdefs.c ${HCC} -c -I${INCLUDES} ${ALPHA}/alpha/gensetdefs.c # everything potentially depends on the Makefile since everything potentially # depends on the options. Some things are more dependent on the Makefile for # historical reasons. machdep.o: Makefile # the following is necessary because autoconf.o depends on #if GENERIC autoconf.o: Makefile # XXX - may no longer be needed locore.o: Makefile # depends on KDB (cons.o also depends on GENERIC) trap.o cons.o: Makefile # this rule stops ./assym.s in .depend from causing problems ./assym.s: assym.s assym.s: genassym ./genassym >assym.s # Some of the defines that genassym outputs may well depend on the # value of kernel options. genassym.o: ${ALPHA}/alpha/genassym.c Makefile opt_global.h ${HCC} -c ${COPTS} ${PARAM} -UKERNEL ${ALPHA}/alpha/genassym.c genassym: genassym.o ${HCC} -static ${COPTS} ${PARAM} genassym.o -o $@ SYSTEM_OBJS+= __divqu.o __divq.o __divlu.o __divl.o SYSTEM_OBJS+= __remqu.o __remq.o __remlu.o __reml.o CLEAN+= __divqu.S __divq.S __divlu.S __divl.S CLEAN+= __remqu.S __remq.S __remlu.S __reml.S __divqu.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__divqu')define(OP,\`div')define(S,\`false')"; \ echo "define(WORDSIZE,64)"; cat ${.ALLSRC}) | m4 > ${.TARGET} __divq.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__divq')define(OP,\`div')define(S,\`true')"; \ echo "define(WORDSIZE,64)"; cat ${.ALLSRC}) | m4 > ${.TARGET} __divlu.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__divlu')define(OP,\`div')define(S,\`false')"; \ echo "define(WORDSIZE,32)"; cat ${.ALLSRC}) | m4 > ${.TARGET} __divl.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__divl')define(OP,\`div')define(S,\`true')"; \ echo "define(WORDSIZE,32)"; cat ${.ALLSRC}) | m4 > ${.TARGET} __remqu.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__remqu')define(OP,\`rem')define(S,\`false')"; \ echo "define(WORDSIZE,64)"; cat ${.ALLSRC}) | m4 > ${.TARGET} __remq.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__remq')define(OP,\`rem')define(S,\`true')"; \ echo "define(WORDSIZE,64)"; cat ${.ALLSRC}) | m4 > ${.TARGET} __remlu.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__remlu')define(OP,\`rem')define(S,\`false')"; \ echo "define(WORDSIZE,32)"; cat ${.ALLSRC}) | m4 > ${.TARGET} __reml.S: ${S}/alpha/alpha/divrem.m4 @echo 'building ${.TARGET} from ${.ALLSRC}' @(echo "define(NAME,\`__reml')define(OP,\`rem')define(S,\`true')"; \ echo "define(WORDSIZE,32)"; cat ${.ALLSRC}) | m4 > ${.TARGET} ${OBJS}: opt_global.h # XXX this assumes that the options for NORMAL_C* and DRIVER_C* are identical. depend: assym.s param.c vnode_if.h ${BEFORE_DEPEND} rm -f .newdep mkdep -a -f .newdep ${COPTS} ${CFILES} ${SYSTEM_CFILES} mkdep -a -f .newdep ${COPTS} ${PARAM} -UKERNEL ${ALPHA}/alpha/genassym.c MKDEP_CPP="${CC} -E -x assembler-with-cpp" ; export MKDEP_CPP ; \ mkdep -a -f .newdep -DLOCORE ${COPTS} ${SFILES} ${SYSTEM_SFILES} rm -f .depend mv -f .newdep .depend cleandepend: rm -f .depend links: egrep '#if' ${CFILES:Nswapkernel.c} | sed -f $S/conf/defines | \ sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink echo ${CFILES:Nswapkernel.c} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ sort -u | comm -23 - dontlink | \ sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks sh makelinks && rm -f dontlink tags: @echo "see $S/kern/Makefile for tags" install: @if [ ! -f kernel ] ; then \ echo "You must first build your kernel before trying to install." ; \ exit 1 ; \ fi .if exists(${DESTDIR}/kernel) - chflags noschg ${DESTDIR}/kernel + -chflags noschg ${DESTDIR}/kernel mv ${DESTDIR}/kernel ${DESTDIR}/kernel.old .endif PATH=$${PATH}:/sbin:/usr/sbin; \ if [ `sysctl -n kern.bootfile` = ${DESTDIR}/kernel ] ; then \ sysctl -w kern.bootfile=${DESTDIR}/kernel.old ; \ if [ -f /var/db/kvm_kernel.db ] ; then \ mv -f /var/db/kvm_kernel.db /var/db/kvm_kernel.old.db ; \ fi \ fi install -c -m 555 -o root -g wheel -fschg kernel ${DESTDIR}/ ioconf.o: ioconf.c $S/sys/param.h $S/sys/buf.h ${CC} -c ${CFLAGS} ioconf.c param.c: $S/conf/param.c -rm -f param.c cp $S/conf/param.c . param.o: param.c Makefile ${CC} -c ${CFLAGS} ${PARAM} param.c vers.o: ${SYSTEM_DEP} ${SYSTEM_SWAP_DEP} sh $S/conf/newvers.sh ${KERN_IDENT} ${IDENT} ${CC} ${CFLAGS} -c vers.c vnode_if.c: $S/kern/vnode_if.sh $S/kern/vnode_if.src sh $S/kern/vnode_if.sh $S/kern/vnode_if.src vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src sh $S/kern/vnode_if.sh $S/kern/vnode_if.src .if exists($S/../share/mk) .include "$S/../share/mk/bsd.kern.mk" .else .include .endif %RULES # DO NOT DELETE THIS LINE -- make depend uses it Index: head/sys/conf/Makefile.i386 =================================================================== --- head/sys/conf/Makefile.i386 (revision 43993) +++ head/sys/conf/Makefile.i386 (revision 43994) @@ -1,271 +1,271 @@ # Makefile.i386 -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $Id: Makefile.i386,v 1.137 1999/01/25 04:08:28 peter Exp $ +# $Id: Makefile.i386,v 1.138 1999/01/26 02:49:51 julian Exp $ # # Makefile for FreeBSD # # This makefile is constructed from a machine description: # config machineid # Most changes should be made in the machine description # /sys/i386/conf/``machineid'' # after which you should do # config machineid # Generic makefile changes should be made in # /sys/i386/conf/Makefile.i386 # after which config should be rerun for all machines. # # Which version of config(8) is required. %VERSREQ= 300009 KERNFORMAT?= elf STD8X16FONT?= iso .if exists(./@/.) S= ./@ .else S= ../.. .endif I386= ${S}/i386 COPTFLAGS?=-O INCLUDES= -nostdinc -I- -I. -I$S # This hack is to allow kernel compiles to succeed on machines w/out srcdist .if exists($S/../include) INCLUDES+= -I$S/../include .else INCLUDES+= -I/usr/include .endif COPTS= ${INCLUDES} ${IDENT} -DKERNEL -DVM_STACK -include opt_global.h CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} # XXX LOCORE means "don't declare C stuff" not "for locore.s". ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS} # Use the default object format for genassym, etc. GEN_CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} # Select the correct set of tools. Can't set OBJFORMAT here because it # doesn't get exported into the environment, and if it were exported # then it might break building of genassym, etc. .if ${KERNFORMAT} == "elf" CFLAGS+= -elf .else CFLAGS+= -aout .endif LOAD_ADDRESS?= F0100000 DEFINED_PROF= ${PROF} .if defined(PROF) CFLAGS+= -malign-functions=4 .if ${PROFLEVEL} >= 2 IDENT+= -DGPROF4 -DGUPROF PROF+= -mprofiler-epilogue .endif .endif NORMAL_C= ${CC} -c ${CFLAGS} ${PROF} $< NORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} $< NORMAL_S= ${CC} -c ${ASM_CFLAGS} $< DRIVER_C= ${CC} -c ${CFLAGS} ${PROF} $< DRIVER_C_C= ${CC} -c ${CFLAGS} ${PROF} $< DRIVER_S= ${CC} -c -x ${ASM_CFLAGS} $< PROFILE_C= ${CC} -c ${CFLAGS} $< GEN_CFILES= ${I386}/i386/genassym.c # setdef0.c and setdef1.c are intentionally # omitted from SYSTEM_CFILES. They include setdefs.h, a header which # is generated from all of ${OBJS}. We don't want to have to compile # everything just to do a make depend. SYSTEM_CFILES= ioconf.c param.c vnode_if.c config.c SYSTEM_SFILES= ${I386}/i386/locore.s SYSTEM_DEP= Makefile symbols.exclude symbols.sort ${SYSTEM_OBJS} .if ${CFLAGS:M-g} == "" SYMORDER_EXCLUDE=-x symbols.exclude .endif SYSTEM_LD_HEAD= @echo loading ${.TARGET}; rm -f ${.TARGET} .if ${KERNFORMAT} == aout || ${KERNFORMAT} == aoutkld SYSTEM_OBJS= locore.o vnode_if.o ${OBJS} ioconf.o param.o config.o SYSTEM_LD= @${LD} -aout -Bforcedynamic -Z -T ${LOAD_ADDRESS} -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL= @echo rearranging symbols; \ symorder -m ${SYMORDER_EXCLUDE} symbols.sort ${.TARGET}; \ size -aout ${.TARGET} ; chmod 755 ${.TARGET} .endif .if ${KERNFORMAT} == elf SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \ setdef1.o hack.So SYSTEM_LD= @${LD} -elf -Bdynamic -T $S/i386/conf/kernel.script \ -export-dynamic -dynamic-linker /red/herring \ -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL= @size -elf ${.TARGET} ; chmod 755 ${.TARGET} SYSTEM_DEP+= $S/i386/conf/kernel.script .endif %BEFORE_DEPEND %OBJS %CFILES %SFILES %MFILES %LOAD %CLEAN .if !exists(.depend) ${SYSTEM_OBJS}: ${BEFORE_DEPEND:M*.h} .endif clean: rm -f *.o *.so *.So *.ko *.s eddep errs genassym gensetdefs \ kernel linterrs makelinks param.c setdef[01].c setdefs.h \ symbols.exclude symbols.sort tags \ vers.c vnode_if.c vnode_if.h ${CLEAN} #lint: /tmp param.c # @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} \ # ${I386}/i386/Locore.c ${CFILES} ioconf.c param.c | \ # grep -v 'struct/union .* never defined' | \ # grep -v 'possible pointer alignment problem' symbols.exclude: echo "gcc2_compiled." >symbols.exclude echo "___gnu_compiled_c" >>symbols.exclude symbols.sort: ${I386}/i386/symbols.raw grep -v '^#' ${I386}/i386/symbols.raw \ | sed 's/^ //' | sort -u > symbols.sort locore.o: ${I386}/i386/locore.s assym.s ${NORMAL_S} .if ${KERNFORMAT} == elf # This is a hack. BFD "optimizes" away dynamic mode if there are no # dynamic references. We could probably do a '-Bforcedynamic' mode like # in the a.out ld. For now, this works. hack.So: Makefile touch hack.c ${CC} -elf -shared -nostdlib hack.c -o hack.So rm -f hack.c .endif .ORDER: setdefs.h setdef0.c setdef1.c setdef0.o: setdef0.c setdefs.h ${NORMAL_C} setdef1.o: setdef1.c setdefs.h ${NORMAL_C} setdef0.c setdef1.c setdefs.h: ${OBJS} @echo generating linker set emulation glue for ELF @gensetdefs ${OBJS} # this rule stops ./assym.s in .depend from causing problems ./assym.s: assym.s assym.s: genassym ./genassym >assym.s genassym.o: ${I386}/i386/genassym.c ${CC} -c ${GEN_CFLAGS} ${I386}/i386/genassym.c genassym: genassym.o ${CC} ${GEN_CFLAGS} genassym.o -o ${.TARGET} ${SYSTEM_OBJS} genassym.o vers.o: opt_global.h # XXX this assumes that the options for NORMAL_C* and DRIVER_C* are identical. depend: assym.s param.c vnode_if.h ${BEFORE_DEPEND} rm -f .newdep mkdep -a -f .newdep ${CFLAGS} ${CFILES} ${SYSTEM_CFILES} mkdep -a -f .newdep ${GEN_CFLAGS} ${GEN_CFILES} env MKDEP_CPP="${CC} -E" \ mkdep -a -f .newdep ${ASM_CFLAGS} ${SFILES} ${SYSTEM_SFILES} rm -f .depend mv -f .newdep .depend cleandepend: rm -f .depend links: egrep '#if' ${CFILES:Nswapkernel.c} | sed -f $S/conf/defines | \ sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink echo ${CFILES:Nswapkernel.c} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ sort -u | comm -23 - dontlink | \ sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks sh makelinks && rm -f dontlink tags: @echo "see $S/kern/Makefile for tags" install: @if [ ! -f kernel ] ; then \ echo "You must first build your kernel before trying to install." ; \ exit 1 ; \ fi .if ${KERNFORMAT} == "elf" && !defined(FORCE) @if [ -f /kernel -a "`file /kernel 2>/dev/null | grep ELF`" = "" ]; then \ echo "WARNING: You are about to install an ELF kernel for the first time!" ; \ echo "Please be sure you have upgraded your bootblocks and/or /boot/loader so" ; \ echo "that you can boot it. Old bootblocks WILL NOT WORK! Please read:" ; \ echo "http://www.freebsd.org/~peter/elfday.html for information." ; \ echo "If you are satisfied you can boot an ELF kernel, type: make -DFORCE install" ; \ exit 1 ; \ fi .endif .if exists(${DESTDIR}/kernel) - chflags noschg ${DESTDIR}/kernel + -chflags noschg ${DESTDIR}/kernel mv ${DESTDIR}/kernel ${DESTDIR}/kernel.old .endif PATH=$${PATH}:/sbin:/usr/sbin; \ if [ `sysctl -n kern.bootfile` = ${DESTDIR}/kernel ] ; then \ sysctl -w kern.bootfile=${DESTDIR}/kernel.old ; \ if [ -f /var/db/kvm_kernel.db ] ; then \ mv -f /var/db/kvm_kernel.db /var/db/kvm_kernel.old.db ; \ fi \ fi install -c -m 555 -o root -g wheel -fschg kernel ${DESTDIR}/ config.o: ${NORMAL_C} ioconf.o: ${NORMAL_C} param.c: $S/conf/param.c -rm -f param.c cp $S/conf/param.c . param.o: ${NORMAL_C} vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP} sh $S/conf/newvers.sh ${KERN_IDENT} ${IDENT} # XXX strictly, everything depends on Makefile because changes to ${PROF} # only appear there, but we don't handle that. vers.o: ${NORMAL_C} .ORDER: vnode_if.c vnode_if.h vnode_if.c vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src sh $S/kern/vnode_if.sh $S/kern/vnode_if.src vnode_if.o: ${NORMAL_C} .if exists($S/../share/mk) .include "$S/../share/mk/bsd.kern.mk" .else .include .endif %RULES # DO NOT DELETE THIS LINE -- make depend uses it Index: head/sys/conf/Makefile.pc98 =================================================================== --- head/sys/conf/Makefile.pc98 (revision 43993) +++ head/sys/conf/Makefile.pc98 (revision 43994) @@ -1,275 +1,275 @@ # Makefile for FreeBSD(98) after: # # Makefile.i386 -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $Id: Makefile.pc98,v 1.53 1999/01/25 12:12:01 kato Exp $ +# $Id: Makefile.pc98,v 1.54 1999/01/27 08:25:19 kato Exp $ # # Makefile for FreeBSD # # This makefile is constructed from a machine description: # config machineid # Most changes should be made in the machine description # /sys/i386/conf/``machineid'' # after which you should do # config machineid # Generic makefile changes should be made in # /sys/i386/conf/Makefile.i386 # after which config should be rerun for all machines. # # Which version of config(8) is required. %VERSREQ= 300009 KERNFORMAT?= elf #STD8X16FONT?= iso .if exists(./@/.) S= ./@ .else S= ../.. .endif PC98= ${S}/pc98 I386= ${S}/i386 COPTFLAGS?=-O INCLUDES= -nostdinc -I- -I. -I$S # This hack is to allow kernel compiles to succeed on machines w/out srcdist .if exists($S/../include) INCLUDES+= -I$S/../include .else INCLUDES+= -I/usr/include .endif COPTS= ${INCLUDES} ${IDENT} -DKERNEL -DVM_STACK -include opt_global.h CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} # XXX LOCORE means "don't declare C stuff" not "for locore.s". ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS} # Use the default object format for genassym, etc. GEN_CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} # Select the correct set of tools. Can't set OBJFORMAT here because it # doesn't get exported into the environment, and if it were exported # then it might break building of genassym, etc. .if ${KERNFORMAT} == "elf" CFLAGS+= -elf .else CFLAGS+= -aout .endif LOAD_ADDRESS?= F0100000 DEFINED_PROF= ${PROF} .if defined(PROF) CFLAGS+= -malign-functions=4 .if ${PROFLEVEL} >= 2 IDENT+= -DGPROF4 -DGUPROF PROF+= -mprofiler-epilogue .endif .endif NORMAL_C= ${CC} -c ${CFLAGS} ${PROF} $< NORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} $< NORMAL_S= ${CC} -c ${ASM_CFLAGS} $< DRIVER_C= ${CC} -c ${CFLAGS} ${PROF} $< DRIVER_C_C= ${CC} -c ${CFLAGS} ${PROF} $< DRIVER_S= ${CC} -c -x ${ASM_CFLAGS} $< PROFILE_C= ${CC} -c ${CFLAGS} $< GEN_CFILES= ${I386}/i386/genassym.c # setdef0.c and setdef1.c are intentionally # omitted from SYSTEM_CFILES. They include setdefs.h, a header which # is generated from all of ${OBJS}. We don't want to have to compile # everything just to do a make depend. SYSTEM_CFILES= ioconf.c param.c vnode_if.c config.c SYSTEM_SFILES= ${I386}/i386/locore.s SYSTEM_DEP= Makefile symbols.exclude symbols.sort ${SYSTEM_OBJS} .if ${CFLAGS:M-g} == "" SYMORDER_EXCLUDE=-x symbols.exclude .endif SYSTEM_LD_HEAD= @echo loading ${.TARGET}; rm -f ${.TARGET} .if ${KERNFORMAT} == aout || ${KERNFORMAT} == aoutkld SYSTEM_OBJS= locore.o vnode_if.o ${OBJS} ioconf.o param.o config.o SYSTEM_LD= @${LD} -aout -Bforcedynamic -Z -T ${LOAD_ADDRESS} -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL= @echo rearranging symbols; \ symorder -m ${SYMORDER_EXCLUDE} symbols.sort ${.TARGET}; \ size -aout ${.TARGET} ; chmod 755 ${.TARGET} .endif .if ${KERNFORMAT} == elf SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \ setdef1.o hack.So SYSTEM_LD= @${LD} -elf -Bdynamic -T $S/i386/conf/kernel.script \ -export-dynamic -dynamic-linker /red/herring \ -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL= @size -elf ${.TARGET} ; chmod 755 ${.TARGET} SYSTEM_DEP+= $S/i386/conf/kernel.script .endif %BEFORE_DEPEND %OBJS %CFILES %SFILES %MFILES %LOAD %CLEAN .if !exists(.depend) ${SYSTEM_OBJS}: ${BEFORE_DEPEND:M*.h} .endif clean: rm -f *.o *.so *.So *.ko *.s eddep errs genassym gensetdefs \ kernel linterrs makelinks param.c setdef[01].c setdefs.h \ symbols.exclude symbols.sort tags \ vers.c vnode_if.c vnode_if.h ${CLEAN} #lint: /tmp param.c # @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} \ # ${I386}/i386/Locore.c ${CFILES} ioconf.c param.c | \ # grep -v 'struct/union .* never defined' | \ # grep -v 'possible pointer alignment problem' symbols.exclude: echo "gcc2_compiled." >symbols.exclude echo "___gnu_compiled_c" >>symbols.exclude symbols.sort: ${I386}/i386/symbols.raw grep -v '^#' ${I386}/i386/symbols.raw \ | sed 's/^ //' | sort -u > symbols.sort locore.o: ${I386}/i386/locore.s assym.s ${NORMAL_S} .if ${KERNFORMAT} == elf # This is a hack. BFD "optimizes" away dynamic mode if there are no # dynamic references. We could probably do a '-Bforcedynamic' mode like # in the a.out ld. For now, this works. hack.So: Makefile touch hack.c ${CC} -elf -shared -nostdlib hack.c -o hack.So rm -f hack.c .endif .ORDER: setdefs.h setdef0.c setdef1.c setdef0.o: setdef0.c setdefs.h ${NORMAL_C} setdef1.o: setdef1.c setdefs.h ${NORMAL_C} setdef0.c setdef1.c setdefs.h: ${OBJS} @echo generating linker set emulation glue for ELF @gensetdefs ${OBJS} # this rule stops ./assym.s in .depend from causing problems ./assym.s: assym.s assym.s: genassym ./genassym >assym.s genassym.o: ${I386}/i386/genassym.c rm -f ./machine ; ln -s ${I386}/include ./machine ${CC} -c ${GEN_CFLAGS} ${I386}/i386/genassym.c genassym: genassym.o ${CC} ${GEN_CFLAGS} genassym.o -o ${.TARGET} ${SYSTEM_OBJS} genassym.o vers.o: opt_global.h # XXX this assumes that the options for NORMAL_C* and DRIVER_C* are identical. depend: assym.s param.c vnode_if.h ${BEFORE_DEPEND} rm -f .newdep mkdep -a -f .newdep ${CFLAGS} ${CFILES} ${SYSTEM_CFILES} mkdep -a -f .newdep ${GEN_CFLAGS} ${GEN_CFILES} env MKDEP_CPP="${CC} -E" \ mkdep -a -f .newdep ${ASM_CFLAGS} ${SFILES} ${SYSTEM_SFILES} rm -f .depend mv -f .newdep .depend cleandepend: rm -f .depend links: egrep '#if' ${CFILES:Nswapkernel.c} | sed -f $S/conf/defines | \ sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink echo ${CFILES:Nswapkernel.c} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ sort -u | comm -23 - dontlink | \ sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks sh makelinks && rm -f dontlink tags: @echo "see $S/kern/Makefile for tags" install: @if [ ! -f kernel ] ; then \ echo "You must first build your kernel before trying to install." ; \ exit 1 ; \ fi .if ${KERNFORMAT} == "elf" && !defined(FORCE) @if [ -f /kernel -a "`file /kernel 2>/dev/null | grep ELF`" = "" ]; then \ echo "WARNING: You are about to install an ELF kernel for the first time!" ; \ echo "Please be sure you have upgraded your bootblocks and/or /boot/loader so" ; \ echo "that you can boot it. Old bootblocks WILL NOT WORK! Please read:" ; \ echo "http://www.freebsd.org/~peter/elfday.html for information." ; \ echo "If you are satisfied you can boot an ELF kernel, type: make -DFORCE install" ; \ exit 1 ; \ fi .endif .if exists(${DESTDIR}/kernel) - chflags noschg ${DESTDIR}/kernel + -chflags noschg ${DESTDIR}/kernel mv ${DESTDIR}/kernel ${DESTDIR}/kernel.old .endif PATH=$${PATH}:/sbin:/usr/sbin; \ if [ `sysctl -n kern.bootfile` = ${DESTDIR}/kernel ] ; then \ sysctl -w kern.bootfile=${DESTDIR}/kernel.old ; \ if [ -f /var/db/kvm_kernel.db ] ; then \ mv -f /var/db/kvm_kernel.db /var/db/kvm_kernel.old.db ; \ fi \ fi install -c -m 555 -o root -g wheel -fschg kernel ${DESTDIR}/ config.o: ${NORMAL_C} ioconf.o: ${NORMAL_C} param.c: $S/conf/param.c -rm -f param.c cp $S/conf/param.c . param.o: ${NORMAL_C} vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP} sh $S/conf/newvers.sh ${KERN_IDENT} ${IDENT} # XXX strictly, everything depends on Makefile because changes to ${PROF} # only appear there, but we don't handle that. vers.o: ${NORMAL_C} .ORDER: vnode_if.c vnode_if.h vnode_if.c vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src sh $S/kern/vnode_if.sh $S/kern/vnode_if.src vnode_if.o: ${NORMAL_C} .if exists($S/../share/mk) .include "$S/../share/mk/bsd.kern.mk" .else .include .endif %RULES # DO NOT DELETE THIS LINE -- make depend uses it Index: head/sys/conf/Makefile.powerpc =================================================================== --- head/sys/conf/Makefile.powerpc (revision 43993) +++ head/sys/conf/Makefile.powerpc (revision 43994) @@ -1,271 +1,271 @@ # Makefile.i386 -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $Id: Makefile.i386,v 1.137 1999/01/25 04:08:28 peter Exp $ +# $Id: Makefile.i386,v 1.138 1999/01/26 02:49:51 julian Exp $ # # Makefile for FreeBSD # # This makefile is constructed from a machine description: # config machineid # Most changes should be made in the machine description # /sys/i386/conf/``machineid'' # after which you should do # config machineid # Generic makefile changes should be made in # /sys/i386/conf/Makefile.i386 # after which config should be rerun for all machines. # # Which version of config(8) is required. %VERSREQ= 300009 KERNFORMAT?= elf STD8X16FONT?= iso .if exists(./@/.) S= ./@ .else S= ../.. .endif I386= ${S}/i386 COPTFLAGS?=-O INCLUDES= -nostdinc -I- -I. -I$S # This hack is to allow kernel compiles to succeed on machines w/out srcdist .if exists($S/../include) INCLUDES+= -I$S/../include .else INCLUDES+= -I/usr/include .endif COPTS= ${INCLUDES} ${IDENT} -DKERNEL -DVM_STACK -include opt_global.h CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} # XXX LOCORE means "don't declare C stuff" not "for locore.s". ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS} # Use the default object format for genassym, etc. GEN_CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} # Select the correct set of tools. Can't set OBJFORMAT here because it # doesn't get exported into the environment, and if it were exported # then it might break building of genassym, etc. .if ${KERNFORMAT} == "elf" CFLAGS+= -elf .else CFLAGS+= -aout .endif LOAD_ADDRESS?= F0100000 DEFINED_PROF= ${PROF} .if defined(PROF) CFLAGS+= -malign-functions=4 .if ${PROFLEVEL} >= 2 IDENT+= -DGPROF4 -DGUPROF PROF+= -mprofiler-epilogue .endif .endif NORMAL_C= ${CC} -c ${CFLAGS} ${PROF} $< NORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} $< NORMAL_S= ${CC} -c ${ASM_CFLAGS} $< DRIVER_C= ${CC} -c ${CFLAGS} ${PROF} $< DRIVER_C_C= ${CC} -c ${CFLAGS} ${PROF} $< DRIVER_S= ${CC} -c -x ${ASM_CFLAGS} $< PROFILE_C= ${CC} -c ${CFLAGS} $< GEN_CFILES= ${I386}/i386/genassym.c # setdef0.c and setdef1.c are intentionally # omitted from SYSTEM_CFILES. They include setdefs.h, a header which # is generated from all of ${OBJS}. We don't want to have to compile # everything just to do a make depend. SYSTEM_CFILES= ioconf.c param.c vnode_if.c config.c SYSTEM_SFILES= ${I386}/i386/locore.s SYSTEM_DEP= Makefile symbols.exclude symbols.sort ${SYSTEM_OBJS} .if ${CFLAGS:M-g} == "" SYMORDER_EXCLUDE=-x symbols.exclude .endif SYSTEM_LD_HEAD= @echo loading ${.TARGET}; rm -f ${.TARGET} .if ${KERNFORMAT} == aout || ${KERNFORMAT} == aoutkld SYSTEM_OBJS= locore.o vnode_if.o ${OBJS} ioconf.o param.o config.o SYSTEM_LD= @${LD} -aout -Bforcedynamic -Z -T ${LOAD_ADDRESS} -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL= @echo rearranging symbols; \ symorder -m ${SYMORDER_EXCLUDE} symbols.sort ${.TARGET}; \ size -aout ${.TARGET} ; chmod 755 ${.TARGET} .endif .if ${KERNFORMAT} == elf SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \ setdef1.o hack.So SYSTEM_LD= @${LD} -elf -Bdynamic -T $S/i386/conf/kernel.script \ -export-dynamic -dynamic-linker /red/herring \ -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL= @size -elf ${.TARGET} ; chmod 755 ${.TARGET} SYSTEM_DEP+= $S/i386/conf/kernel.script .endif %BEFORE_DEPEND %OBJS %CFILES %SFILES %MFILES %LOAD %CLEAN .if !exists(.depend) ${SYSTEM_OBJS}: ${BEFORE_DEPEND:M*.h} .endif clean: rm -f *.o *.so *.So *.ko *.s eddep errs genassym gensetdefs \ kernel linterrs makelinks param.c setdef[01].c setdefs.h \ symbols.exclude symbols.sort tags \ vers.c vnode_if.c vnode_if.h ${CLEAN} #lint: /tmp param.c # @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} \ # ${I386}/i386/Locore.c ${CFILES} ioconf.c param.c | \ # grep -v 'struct/union .* never defined' | \ # grep -v 'possible pointer alignment problem' symbols.exclude: echo "gcc2_compiled." >symbols.exclude echo "___gnu_compiled_c" >>symbols.exclude symbols.sort: ${I386}/i386/symbols.raw grep -v '^#' ${I386}/i386/symbols.raw \ | sed 's/^ //' | sort -u > symbols.sort locore.o: ${I386}/i386/locore.s assym.s ${NORMAL_S} .if ${KERNFORMAT} == elf # This is a hack. BFD "optimizes" away dynamic mode if there are no # dynamic references. We could probably do a '-Bforcedynamic' mode like # in the a.out ld. For now, this works. hack.So: Makefile touch hack.c ${CC} -elf -shared -nostdlib hack.c -o hack.So rm -f hack.c .endif .ORDER: setdefs.h setdef0.c setdef1.c setdef0.o: setdef0.c setdefs.h ${NORMAL_C} setdef1.o: setdef1.c setdefs.h ${NORMAL_C} setdef0.c setdef1.c setdefs.h: ${OBJS} @echo generating linker set emulation glue for ELF @gensetdefs ${OBJS} # this rule stops ./assym.s in .depend from causing problems ./assym.s: assym.s assym.s: genassym ./genassym >assym.s genassym.o: ${I386}/i386/genassym.c ${CC} -c ${GEN_CFLAGS} ${I386}/i386/genassym.c genassym: genassym.o ${CC} ${GEN_CFLAGS} genassym.o -o ${.TARGET} ${SYSTEM_OBJS} genassym.o vers.o: opt_global.h # XXX this assumes that the options for NORMAL_C* and DRIVER_C* are identical. depend: assym.s param.c vnode_if.h ${BEFORE_DEPEND} rm -f .newdep mkdep -a -f .newdep ${CFLAGS} ${CFILES} ${SYSTEM_CFILES} mkdep -a -f .newdep ${GEN_CFLAGS} ${GEN_CFILES} env MKDEP_CPP="${CC} -E" \ mkdep -a -f .newdep ${ASM_CFLAGS} ${SFILES} ${SYSTEM_SFILES} rm -f .depend mv -f .newdep .depend cleandepend: rm -f .depend links: egrep '#if' ${CFILES:Nswapkernel.c} | sed -f $S/conf/defines | \ sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink echo ${CFILES:Nswapkernel.c} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ sort -u | comm -23 - dontlink | \ sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks sh makelinks && rm -f dontlink tags: @echo "see $S/kern/Makefile for tags" install: @if [ ! -f kernel ] ; then \ echo "You must first build your kernel before trying to install." ; \ exit 1 ; \ fi .if ${KERNFORMAT} == "elf" && !defined(FORCE) @if [ -f /kernel -a "`file /kernel 2>/dev/null | grep ELF`" = "" ]; then \ echo "WARNING: You are about to install an ELF kernel for the first time!" ; \ echo "Please be sure you have upgraded your bootblocks and/or /boot/loader so" ; \ echo "that you can boot it. Old bootblocks WILL NOT WORK! Please read:" ; \ echo "http://www.freebsd.org/~peter/elfday.html for information." ; \ echo "If you are satisfied you can boot an ELF kernel, type: make -DFORCE install" ; \ exit 1 ; \ fi .endif .if exists(${DESTDIR}/kernel) - chflags noschg ${DESTDIR}/kernel + -chflags noschg ${DESTDIR}/kernel mv ${DESTDIR}/kernel ${DESTDIR}/kernel.old .endif PATH=$${PATH}:/sbin:/usr/sbin; \ if [ `sysctl -n kern.bootfile` = ${DESTDIR}/kernel ] ; then \ sysctl -w kern.bootfile=${DESTDIR}/kernel.old ; \ if [ -f /var/db/kvm_kernel.db ] ; then \ mv -f /var/db/kvm_kernel.db /var/db/kvm_kernel.old.db ; \ fi \ fi install -c -m 555 -o root -g wheel -fschg kernel ${DESTDIR}/ config.o: ${NORMAL_C} ioconf.o: ${NORMAL_C} param.c: $S/conf/param.c -rm -f param.c cp $S/conf/param.c . param.o: ${NORMAL_C} vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP} sh $S/conf/newvers.sh ${KERN_IDENT} ${IDENT} # XXX strictly, everything depends on Makefile because changes to ${PROF} # only appear there, but we don't handle that. vers.o: ${NORMAL_C} .ORDER: vnode_if.c vnode_if.h vnode_if.c vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src sh $S/kern/vnode_if.sh $S/kern/vnode_if.src vnode_if.o: ${NORMAL_C} .if exists($S/../share/mk) .include "$S/../share/mk/bsd.kern.mk" .else .include .endif %RULES # DO NOT DELETE THIS LINE -- make depend uses it Index: head/sys/i386/conf/Makefile.i386 =================================================================== --- head/sys/i386/conf/Makefile.i386 (revision 43993) +++ head/sys/i386/conf/Makefile.i386 (revision 43994) @@ -1,271 +1,271 @@ # Makefile.i386 -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $Id: Makefile.i386,v 1.137 1999/01/25 04:08:28 peter Exp $ +# $Id: Makefile.i386,v 1.138 1999/01/26 02:49:51 julian Exp $ # # Makefile for FreeBSD # # This makefile is constructed from a machine description: # config machineid # Most changes should be made in the machine description # /sys/i386/conf/``machineid'' # after which you should do # config machineid # Generic makefile changes should be made in # /sys/i386/conf/Makefile.i386 # after which config should be rerun for all machines. # # Which version of config(8) is required. %VERSREQ= 300009 KERNFORMAT?= elf STD8X16FONT?= iso .if exists(./@/.) S= ./@ .else S= ../.. .endif I386= ${S}/i386 COPTFLAGS?=-O INCLUDES= -nostdinc -I- -I. -I$S # This hack is to allow kernel compiles to succeed on machines w/out srcdist .if exists($S/../include) INCLUDES+= -I$S/../include .else INCLUDES+= -I/usr/include .endif COPTS= ${INCLUDES} ${IDENT} -DKERNEL -DVM_STACK -include opt_global.h CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} # XXX LOCORE means "don't declare C stuff" not "for locore.s". ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS} # Use the default object format for genassym, etc. GEN_CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} # Select the correct set of tools. Can't set OBJFORMAT here because it # doesn't get exported into the environment, and if it were exported # then it might break building of genassym, etc. .if ${KERNFORMAT} == "elf" CFLAGS+= -elf .else CFLAGS+= -aout .endif LOAD_ADDRESS?= F0100000 DEFINED_PROF= ${PROF} .if defined(PROF) CFLAGS+= -malign-functions=4 .if ${PROFLEVEL} >= 2 IDENT+= -DGPROF4 -DGUPROF PROF+= -mprofiler-epilogue .endif .endif NORMAL_C= ${CC} -c ${CFLAGS} ${PROF} $< NORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} $< NORMAL_S= ${CC} -c ${ASM_CFLAGS} $< DRIVER_C= ${CC} -c ${CFLAGS} ${PROF} $< DRIVER_C_C= ${CC} -c ${CFLAGS} ${PROF} $< DRIVER_S= ${CC} -c -x ${ASM_CFLAGS} $< PROFILE_C= ${CC} -c ${CFLAGS} $< GEN_CFILES= ${I386}/i386/genassym.c # setdef0.c and setdef1.c are intentionally # omitted from SYSTEM_CFILES. They include setdefs.h, a header which # is generated from all of ${OBJS}. We don't want to have to compile # everything just to do a make depend. SYSTEM_CFILES= ioconf.c param.c vnode_if.c config.c SYSTEM_SFILES= ${I386}/i386/locore.s SYSTEM_DEP= Makefile symbols.exclude symbols.sort ${SYSTEM_OBJS} .if ${CFLAGS:M-g} == "" SYMORDER_EXCLUDE=-x symbols.exclude .endif SYSTEM_LD_HEAD= @echo loading ${.TARGET}; rm -f ${.TARGET} .if ${KERNFORMAT} == aout || ${KERNFORMAT} == aoutkld SYSTEM_OBJS= locore.o vnode_if.o ${OBJS} ioconf.o param.o config.o SYSTEM_LD= @${LD} -aout -Bforcedynamic -Z -T ${LOAD_ADDRESS} -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL= @echo rearranging symbols; \ symorder -m ${SYMORDER_EXCLUDE} symbols.sort ${.TARGET}; \ size -aout ${.TARGET} ; chmod 755 ${.TARGET} .endif .if ${KERNFORMAT} == elf SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \ setdef1.o hack.So SYSTEM_LD= @${LD} -elf -Bdynamic -T $S/i386/conf/kernel.script \ -export-dynamic -dynamic-linker /red/herring \ -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL= @size -elf ${.TARGET} ; chmod 755 ${.TARGET} SYSTEM_DEP+= $S/i386/conf/kernel.script .endif %BEFORE_DEPEND %OBJS %CFILES %SFILES %MFILES %LOAD %CLEAN .if !exists(.depend) ${SYSTEM_OBJS}: ${BEFORE_DEPEND:M*.h} .endif clean: rm -f *.o *.so *.So *.ko *.s eddep errs genassym gensetdefs \ kernel linterrs makelinks param.c setdef[01].c setdefs.h \ symbols.exclude symbols.sort tags \ vers.c vnode_if.c vnode_if.h ${CLEAN} #lint: /tmp param.c # @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} \ # ${I386}/i386/Locore.c ${CFILES} ioconf.c param.c | \ # grep -v 'struct/union .* never defined' | \ # grep -v 'possible pointer alignment problem' symbols.exclude: echo "gcc2_compiled." >symbols.exclude echo "___gnu_compiled_c" >>symbols.exclude symbols.sort: ${I386}/i386/symbols.raw grep -v '^#' ${I386}/i386/symbols.raw \ | sed 's/^ //' | sort -u > symbols.sort locore.o: ${I386}/i386/locore.s assym.s ${NORMAL_S} .if ${KERNFORMAT} == elf # This is a hack. BFD "optimizes" away dynamic mode if there are no # dynamic references. We could probably do a '-Bforcedynamic' mode like # in the a.out ld. For now, this works. hack.So: Makefile touch hack.c ${CC} -elf -shared -nostdlib hack.c -o hack.So rm -f hack.c .endif .ORDER: setdefs.h setdef0.c setdef1.c setdef0.o: setdef0.c setdefs.h ${NORMAL_C} setdef1.o: setdef1.c setdefs.h ${NORMAL_C} setdef0.c setdef1.c setdefs.h: ${OBJS} @echo generating linker set emulation glue for ELF @gensetdefs ${OBJS} # this rule stops ./assym.s in .depend from causing problems ./assym.s: assym.s assym.s: genassym ./genassym >assym.s genassym.o: ${I386}/i386/genassym.c ${CC} -c ${GEN_CFLAGS} ${I386}/i386/genassym.c genassym: genassym.o ${CC} ${GEN_CFLAGS} genassym.o -o ${.TARGET} ${SYSTEM_OBJS} genassym.o vers.o: opt_global.h # XXX this assumes that the options for NORMAL_C* and DRIVER_C* are identical. depend: assym.s param.c vnode_if.h ${BEFORE_DEPEND} rm -f .newdep mkdep -a -f .newdep ${CFLAGS} ${CFILES} ${SYSTEM_CFILES} mkdep -a -f .newdep ${GEN_CFLAGS} ${GEN_CFILES} env MKDEP_CPP="${CC} -E" \ mkdep -a -f .newdep ${ASM_CFLAGS} ${SFILES} ${SYSTEM_SFILES} rm -f .depend mv -f .newdep .depend cleandepend: rm -f .depend links: egrep '#if' ${CFILES:Nswapkernel.c} | sed -f $S/conf/defines | \ sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink echo ${CFILES:Nswapkernel.c} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ sort -u | comm -23 - dontlink | \ sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks sh makelinks && rm -f dontlink tags: @echo "see $S/kern/Makefile for tags" install: @if [ ! -f kernel ] ; then \ echo "You must first build your kernel before trying to install." ; \ exit 1 ; \ fi .if ${KERNFORMAT} == "elf" && !defined(FORCE) @if [ -f /kernel -a "`file /kernel 2>/dev/null | grep ELF`" = "" ]; then \ echo "WARNING: You are about to install an ELF kernel for the first time!" ; \ echo "Please be sure you have upgraded your bootblocks and/or /boot/loader so" ; \ echo "that you can boot it. Old bootblocks WILL NOT WORK! Please read:" ; \ echo "http://www.freebsd.org/~peter/elfday.html for information." ; \ echo "If you are satisfied you can boot an ELF kernel, type: make -DFORCE install" ; \ exit 1 ; \ fi .endif .if exists(${DESTDIR}/kernel) - chflags noschg ${DESTDIR}/kernel + -chflags noschg ${DESTDIR}/kernel mv ${DESTDIR}/kernel ${DESTDIR}/kernel.old .endif PATH=$${PATH}:/sbin:/usr/sbin; \ if [ `sysctl -n kern.bootfile` = ${DESTDIR}/kernel ] ; then \ sysctl -w kern.bootfile=${DESTDIR}/kernel.old ; \ if [ -f /var/db/kvm_kernel.db ] ; then \ mv -f /var/db/kvm_kernel.db /var/db/kvm_kernel.old.db ; \ fi \ fi install -c -m 555 -o root -g wheel -fschg kernel ${DESTDIR}/ config.o: ${NORMAL_C} ioconf.o: ${NORMAL_C} param.c: $S/conf/param.c -rm -f param.c cp $S/conf/param.c . param.o: ${NORMAL_C} vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP} sh $S/conf/newvers.sh ${KERN_IDENT} ${IDENT} # XXX strictly, everything depends on Makefile because changes to ${PROF} # only appear there, but we don't handle that. vers.o: ${NORMAL_C} .ORDER: vnode_if.c vnode_if.h vnode_if.c vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src sh $S/kern/vnode_if.sh $S/kern/vnode_if.src vnode_if.o: ${NORMAL_C} .if exists($S/../share/mk) .include "$S/../share/mk/bsd.kern.mk" .else .include .endif %RULES # DO NOT DELETE THIS LINE -- make depend uses it Index: head/sys/pc98/conf/Makefile.pc98 =================================================================== --- head/sys/pc98/conf/Makefile.pc98 (revision 43993) +++ head/sys/pc98/conf/Makefile.pc98 (revision 43994) @@ -1,275 +1,275 @@ # Makefile for FreeBSD(98) after: # # Makefile.i386 -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $Id: Makefile.pc98,v 1.53 1999/01/25 12:12:01 kato Exp $ +# $Id: Makefile.pc98,v 1.54 1999/01/27 08:25:19 kato Exp $ # # Makefile for FreeBSD # # This makefile is constructed from a machine description: # config machineid # Most changes should be made in the machine description # /sys/i386/conf/``machineid'' # after which you should do # config machineid # Generic makefile changes should be made in # /sys/i386/conf/Makefile.i386 # after which config should be rerun for all machines. # # Which version of config(8) is required. %VERSREQ= 300009 KERNFORMAT?= elf #STD8X16FONT?= iso .if exists(./@/.) S= ./@ .else S= ../.. .endif PC98= ${S}/pc98 I386= ${S}/i386 COPTFLAGS?=-O INCLUDES= -nostdinc -I- -I. -I$S # This hack is to allow kernel compiles to succeed on machines w/out srcdist .if exists($S/../include) INCLUDES+= -I$S/../include .else INCLUDES+= -I/usr/include .endif COPTS= ${INCLUDES} ${IDENT} -DKERNEL -DVM_STACK -include opt_global.h CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} # XXX LOCORE means "don't declare C stuff" not "for locore.s". ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS} # Use the default object format for genassym, etc. GEN_CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} # Select the correct set of tools. Can't set OBJFORMAT here because it # doesn't get exported into the environment, and if it were exported # then it might break building of genassym, etc. .if ${KERNFORMAT} == "elf" CFLAGS+= -elf .else CFLAGS+= -aout .endif LOAD_ADDRESS?= F0100000 DEFINED_PROF= ${PROF} .if defined(PROF) CFLAGS+= -malign-functions=4 .if ${PROFLEVEL} >= 2 IDENT+= -DGPROF4 -DGUPROF PROF+= -mprofiler-epilogue .endif .endif NORMAL_C= ${CC} -c ${CFLAGS} ${PROF} $< NORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} $< NORMAL_S= ${CC} -c ${ASM_CFLAGS} $< DRIVER_C= ${CC} -c ${CFLAGS} ${PROF} $< DRIVER_C_C= ${CC} -c ${CFLAGS} ${PROF} $< DRIVER_S= ${CC} -c -x ${ASM_CFLAGS} $< PROFILE_C= ${CC} -c ${CFLAGS} $< GEN_CFILES= ${I386}/i386/genassym.c # setdef0.c and setdef1.c are intentionally # omitted from SYSTEM_CFILES. They include setdefs.h, a header which # is generated from all of ${OBJS}. We don't want to have to compile # everything just to do a make depend. SYSTEM_CFILES= ioconf.c param.c vnode_if.c config.c SYSTEM_SFILES= ${I386}/i386/locore.s SYSTEM_DEP= Makefile symbols.exclude symbols.sort ${SYSTEM_OBJS} .if ${CFLAGS:M-g} == "" SYMORDER_EXCLUDE=-x symbols.exclude .endif SYSTEM_LD_HEAD= @echo loading ${.TARGET}; rm -f ${.TARGET} .if ${KERNFORMAT} == aout || ${KERNFORMAT} == aoutkld SYSTEM_OBJS= locore.o vnode_if.o ${OBJS} ioconf.o param.o config.o SYSTEM_LD= @${LD} -aout -Bforcedynamic -Z -T ${LOAD_ADDRESS} -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL= @echo rearranging symbols; \ symorder -m ${SYMORDER_EXCLUDE} symbols.sort ${.TARGET}; \ size -aout ${.TARGET} ; chmod 755 ${.TARGET} .endif .if ${KERNFORMAT} == elf SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \ setdef1.o hack.So SYSTEM_LD= @${LD} -elf -Bdynamic -T $S/i386/conf/kernel.script \ -export-dynamic -dynamic-linker /red/herring \ -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL= @size -elf ${.TARGET} ; chmod 755 ${.TARGET} SYSTEM_DEP+= $S/i386/conf/kernel.script .endif %BEFORE_DEPEND %OBJS %CFILES %SFILES %MFILES %LOAD %CLEAN .if !exists(.depend) ${SYSTEM_OBJS}: ${BEFORE_DEPEND:M*.h} .endif clean: rm -f *.o *.so *.So *.ko *.s eddep errs genassym gensetdefs \ kernel linterrs makelinks param.c setdef[01].c setdefs.h \ symbols.exclude symbols.sort tags \ vers.c vnode_if.c vnode_if.h ${CLEAN} #lint: /tmp param.c # @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} \ # ${I386}/i386/Locore.c ${CFILES} ioconf.c param.c | \ # grep -v 'struct/union .* never defined' | \ # grep -v 'possible pointer alignment problem' symbols.exclude: echo "gcc2_compiled." >symbols.exclude echo "___gnu_compiled_c" >>symbols.exclude symbols.sort: ${I386}/i386/symbols.raw grep -v '^#' ${I386}/i386/symbols.raw \ | sed 's/^ //' | sort -u > symbols.sort locore.o: ${I386}/i386/locore.s assym.s ${NORMAL_S} .if ${KERNFORMAT} == elf # This is a hack. BFD "optimizes" away dynamic mode if there are no # dynamic references. We could probably do a '-Bforcedynamic' mode like # in the a.out ld. For now, this works. hack.So: Makefile touch hack.c ${CC} -elf -shared -nostdlib hack.c -o hack.So rm -f hack.c .endif .ORDER: setdefs.h setdef0.c setdef1.c setdef0.o: setdef0.c setdefs.h ${NORMAL_C} setdef1.o: setdef1.c setdefs.h ${NORMAL_C} setdef0.c setdef1.c setdefs.h: ${OBJS} @echo generating linker set emulation glue for ELF @gensetdefs ${OBJS} # this rule stops ./assym.s in .depend from causing problems ./assym.s: assym.s assym.s: genassym ./genassym >assym.s genassym.o: ${I386}/i386/genassym.c rm -f ./machine ; ln -s ${I386}/include ./machine ${CC} -c ${GEN_CFLAGS} ${I386}/i386/genassym.c genassym: genassym.o ${CC} ${GEN_CFLAGS} genassym.o -o ${.TARGET} ${SYSTEM_OBJS} genassym.o vers.o: opt_global.h # XXX this assumes that the options for NORMAL_C* and DRIVER_C* are identical. depend: assym.s param.c vnode_if.h ${BEFORE_DEPEND} rm -f .newdep mkdep -a -f .newdep ${CFLAGS} ${CFILES} ${SYSTEM_CFILES} mkdep -a -f .newdep ${GEN_CFLAGS} ${GEN_CFILES} env MKDEP_CPP="${CC} -E" \ mkdep -a -f .newdep ${ASM_CFLAGS} ${SFILES} ${SYSTEM_SFILES} rm -f .depend mv -f .newdep .depend cleandepend: rm -f .depend links: egrep '#if' ${CFILES:Nswapkernel.c} | sed -f $S/conf/defines | \ sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink echo ${CFILES:Nswapkernel.c} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ sort -u | comm -23 - dontlink | \ sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks sh makelinks && rm -f dontlink tags: @echo "see $S/kern/Makefile for tags" install: @if [ ! -f kernel ] ; then \ echo "You must first build your kernel before trying to install." ; \ exit 1 ; \ fi .if ${KERNFORMAT} == "elf" && !defined(FORCE) @if [ -f /kernel -a "`file /kernel 2>/dev/null | grep ELF`" = "" ]; then \ echo "WARNING: You are about to install an ELF kernel for the first time!" ; \ echo "Please be sure you have upgraded your bootblocks and/or /boot/loader so" ; \ echo "that you can boot it. Old bootblocks WILL NOT WORK! Please read:" ; \ echo "http://www.freebsd.org/~peter/elfday.html for information." ; \ echo "If you are satisfied you can boot an ELF kernel, type: make -DFORCE install" ; \ exit 1 ; \ fi .endif .if exists(${DESTDIR}/kernel) - chflags noschg ${DESTDIR}/kernel + -chflags noschg ${DESTDIR}/kernel mv ${DESTDIR}/kernel ${DESTDIR}/kernel.old .endif PATH=$${PATH}:/sbin:/usr/sbin; \ if [ `sysctl -n kern.bootfile` = ${DESTDIR}/kernel ] ; then \ sysctl -w kern.bootfile=${DESTDIR}/kernel.old ; \ if [ -f /var/db/kvm_kernel.db ] ; then \ mv -f /var/db/kvm_kernel.db /var/db/kvm_kernel.old.db ; \ fi \ fi install -c -m 555 -o root -g wheel -fschg kernel ${DESTDIR}/ config.o: ${NORMAL_C} ioconf.o: ${NORMAL_C} param.c: $S/conf/param.c -rm -f param.c cp $S/conf/param.c . param.o: ${NORMAL_C} vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP} sh $S/conf/newvers.sh ${KERN_IDENT} ${IDENT} # XXX strictly, everything depends on Makefile because changes to ${PROF} # only appear there, but we don't handle that. vers.o: ${NORMAL_C} .ORDER: vnode_if.c vnode_if.h vnode_if.c vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src sh $S/kern/vnode_if.sh $S/kern/vnode_if.src vnode_if.o: ${NORMAL_C} .if exists($S/../share/mk) .include "$S/../share/mk/bsd.kern.mk" .else .include .endif %RULES # DO NOT DELETE THIS LINE -- make depend uses it Index: head/usr.bin/chpass/Makefile =================================================================== --- head/usr.bin/chpass/Makefile (revision 43993) +++ head/usr.bin/chpass/Makefile (revision 43994) @@ -1,69 +1,69 @@ # @(#)Makefile 8.2 (Berkeley) 4/2/94 PROG= chpass CFLAGS+=-Wall SRCS= chpass.c edit.c field.c pw_copy.c pw_scan.c pw_util.c pw_yp.c \ table.c util.c ypxfr_misc.c ${GENSRCS} GENSRCS=yp.h yp_clnt.c yppasswd.h yppasswd_clnt.c yppasswd_private.h \ yppasswd_private_clnt.c yppasswd_private_xdr.c BINMODE=4555 .PATH: ${.CURDIR}/../../usr.sbin/pwd_mkdb ${.CURDIR}/../../usr.sbin/vipw \ ${.CURDIR}/../../libexec/ypxfr \ ${.CURDIR}/../../usr.sbin/rpc.yppasswdd CFLAGS+=-I${.CURDIR}/../../usr.sbin/pwd_mkdb -I${.CURDIR}/../../usr.sbin/vipw LINKS= ${BINDIR}/chpass ${BINDIR}/chfn LINKS+= ${BINDIR}/chpass ${BINDIR}/chsh LINKS+= ${BINDIR}/chpass ${BINDIR}/ypchpass LINKS+= ${BINDIR}/chpass ${BINDIR}/ypchfn LINKS+= ${BINDIR}/chpass ${BINDIR}/ypchsh MLINKS= chpass.1 chfn.1 chpass.1 chsh.1 MLINKS+= chpass.1 ypchpass.1 chpass.1 ypchfn.1 chpass.1 ypchsh.1 COPTS+= -DYP -I. -I${.CURDIR}/../../libexec/ypxfr \ -I${.CURDIR}/../../usr.sbin/rpc.yppasswdd -Dyp_error=warnx #Some people need this, uncomment to activate #COPTS+= -DRESTRICT_FULLNAME_CHANGE DPADD= ${LIBRPCSVC} ${LIBCRYPT} LDADD+= -lrpcsvc -lcrypt CLEANFILES= ${GENSRCS} RPCGEN= rpcgen -C RPCSRC= ${DESTDIR}/usr/include/rpcsvc/yp.x RPCSRC_PW= ${DESTDIR}/usr/include/rpcsvc/yppasswd.x RPCSRC_PRIV= ${.CURDIR}/../../usr.sbin/rpc.yppasswdd/yppasswd_private.x yp.h: ${RPCSRC} ${RPCGEN} -h -o ${.TARGET} ${RPCSRC} yp_clnt.c: ${RPCSRC} ${RPCGEN} -l -o ${.TARGET} ${RPCSRC} yppasswd.h: ${RPCSRC_PW} ${RPCGEN} -h -o ${.TARGET} ${RPCSRC_PW} yppasswd_clnt.c: ${RPCSRC_PW} ${RPCGEN} -l -o ${.TARGET} ${RPCSRC_PW} yppasswd_private.h: ${RPCSRC_PRIV} ${RPCGEN} -h -o ${.TARGET} ${RPCSRC_PRIV} yppasswd_private_xdr.c: ${RPCSRC_PRIV} ${RPCGEN} -c -o ${.TARGET} ${RPCSRC_PRIV} yppasswd_private_clnt.c: ${RPCSRC_PRIV} ${RPCGEN} -l -o ${.TARGET} ${RPCSRC_PRIV} beforeinstall: .for i in chpass chfn chsh ypchpass ypchfn ypchsh [ ! -e ${DESTDIR}${BINDIR}/$i ] || \ - chflags noschg ${DESTDIR}${BINDIR}/$i + chflags noschg ${DESTDIR}${BINDIR}/$i || true .endfor afterinstall: - chflags schg ${DESTDIR}${BINDIR}/chpass + -chflags schg ${DESTDIR}${BINDIR}/chpass .include Index: head/usr.bin/passwd/Makefile =================================================================== --- head/usr.bin/passwd/Makefile (revision 43993) +++ head/usr.bin/passwd/Makefile (revision 43994) @@ -1,79 +1,79 @@ # From: @(#)Makefile 8.3 (Berkeley) 4/2/94 -# $Id: Makefile,v 1.29 1998/08/06 21:37:51 markm Exp $ +# $Id: Makefile,v 1.30 1998/09/19 22:42:04 obrien Exp $ PROG= passwd SRCS= local_passwd.c passwd.c pw_copy.c pw_util.c pw_yp.c \ yp_passwd.c ypxfr_misc.c ${GENSRCS} GENSRCS=yp.h yp_clnt.c yppasswd.h yppasswd_clnt.c \ yppasswd_private.h yppasswd_private_clnt.c yppasswd_private_xdr.c CFLAGS+=-Wall DPADD= ${LIBCRYPT} ${LIBRPCSVC} ${LIBUTIL} LDADD= -lcrypt -lrpcsvc -lutil .PATH: ${.CURDIR}/../../usr.bin/chpass ${.CURDIR}/../../usr.sbin/vipw \ ${.CURDIR}/../rlogin ${.CURDIR}/../../libexec/ypxfr \ ${.CURDIR}/../../usr.sbin/rpc.yppasswdd CFLAGS+= -DLOGIN_CAP -DCRYPT -DYP -I. -I${.CURDIR} \ -I${.CURDIR}/../../usr.sbin/vipw \ -I${.CURDIR}/../../usr.bin/chpass \ -I${.CURDIR}/../../libexec/ypxfr \ -I${.CURDIR}/../../usr.sbin/rpc.yppasswdd \ -Dyp_error=warnx -DLOGGING CLEANFILES= ${GENSRCS} RPCGEN= rpcgen -C RPCSRC= ${DESTDIR}/usr/include/rpcsvc/yp.x RPCSRC_PW= ${DESTDIR}/usr/include/rpcsvc/yppasswd.x RPCSRC_PRIV= ${.CURDIR}/../../usr.sbin/rpc.yppasswdd/yppasswd_private.x yp.h: ${RPCSRC} ${RPCGEN} -h -o ${.TARGET} ${RPCSRC} yp_clnt.c: ${RPCSRC} yp.h ${RPCGEN} -l -o ${.TARGET} ${RPCSRC} yppasswd.h: ${RPCSRC_PW} ${RPCGEN} -h -o ${.TARGET} ${RPCSRC_PW} yppasswd_clnt.c: ${RPCSRC_PW} ${RPCGEN} -l -o ${.TARGET} ${RPCSRC_PW} yppasswd_private.h: ${RPCSRC_PRIV} ${RPCGEN} -h -o ${.TARGET} ${RPCSRC_PRIV} yppasswd_private_xdr.c: ${RPCSRC_PRIV} ${RPCGEN} -c -o ${.TARGET} ${RPCSRC_PRIV} yppasswd_private_clnt.c: ${RPCSRC_PRIV} ${RPCGEN} -l -o ${.TARGET} ${RPCSRC_PRIV} BINMODE=4555 MAN1=passwd.1 LINKS=${BINDIR}/passwd ${BINDIR}/yppasswd MLINKS=passwd.1 yppasswd.1 .if exists(${DESTDIR}${LIBDIR}/libkrb.a) && (defined(MAKE_KERBEROS4)) SRCS+= kpasswd_standalone.c .PATH: ${.CURDIR}/../../usr.bin/chpass ${.CURDIR}/../../usr.sbin/vipw \ ${.CURDIR}/../../usr.bin/rlogin ${.CURDIR}/../../usr.bin/passwd \ ${.CURDIR}/../../crypto/kerberosIV/kadmin CFLAGS+= -DKERBEROS # XXX not defined: ${LIBKADM}, ${LIBCOM_ERR} DPADD= ${LIBKADM} ${LIBKRB} ${LIBDES} ${LIBCRYPT} ${LIBRPCSVC} ${LIBCOM_ERR} ${LIBUTIL} LDADD= -lkadm -lkrb -ldes -lcrypt -lrpcsvc -lcom_err -lutil DISTRIBUTION= krb .endif beforeinstall: .for i in passwd yppasswd [ ! -e ${DESTDIR}${BINDIR}/$i ] || \ - chflags noschg ${DESTDIR}${BINDIR}/$i + chflags noschg ${DESTDIR}${BINDIR}/$i || true .endfor afterinstall: - chflags schg ${DESTDIR}${BINDIR}/passwd + -chflags schg ${DESTDIR}${BINDIR}/passwd .include