kernel/usb4bsd: Add usbdevs.h to a few Makefile which need it.
[dragonfly.git] / Makefile.inc1
index dc172b5..8ab7470 100644 (file)
 # realquickworld - skip the glue and depend stages and just build the meat
 # crossworld  - only build the glue (particularly the cross-build environment)
 # installworld- install everything built by "buildworld"
-# backupworld - copies /bin /sbin /usr/bin /usr/sbin /libexec to backup dir
-# restoreworld- installs binaries from backup dir to world
+# backupworld - copies /bin /sbin /usr/bin /usr/sbin /usr/lib /usr/libexec
+#               to manual backup dir
+# restoreworld- installs binaries from manual backup dir to world
+# restoreworld-auto - installs binaries from auto-backup dir to world
 # most        - build user commands, no libraries or include files
 # installmost - install user commands, no libraries or include files
+# backup-clean - delete backup from manual backup dir
+# backup-auto-clean - delete backup from auto-backup dir
 #
 # Standard targets (not defined here) are documented in the makefiles in
 # /usr/share/mk.  These include:
@@ -114,7 +118,7 @@ OBJTREE?=           ${MAKEOBJDIRPREFIX}
 
 # Used for stage installs and pathing
 #
-DESTDIRBASE?=          ${OBJTREE}${.CURDIR}
+DESTDIRBASE:=          ${OBJTREE}${.CURDIR}
 
 # Remove DESTDIR from MAKEFLAGS.  It is present in the environment
 # anyhow, and we need to be able to override it for stage installs
@@ -123,23 +127,12 @@ DESTDIRBASE?=             ${OBJTREE}${.CURDIR}
 # This section sets the tools used to build the world/kernel
 WORLD_CCVER?=          gcc47
 WORLD_LDVER?=          ld.bfd
-WORLD_BINUTILSVER?=    binutils222
+WORLD_BINUTILSVER?=    binutils224
 
 # Set the backup parameters if they are not already defined
 #
 WORLD_BACKUP?=         /var/backups/world_backup
-AUTO_BACKUP=           ${OBJTREE}/world_backup
-
-# temporary until everybody has converted to x86_64
-.if ${MACHINE_ARCH} == "amd64"
-MACHINE_ARCH=  x86_64
-.if defined(.PARSEDIR)
-.export MACHINE_ARCH
-.else
-# LEGACY MAKE - REMOVE FOR DFLY 3.6
-.makeenv MACHINE_ARCH
-.endif
-.endif
+AUTO_BACKUP?=          ${OBJTREE}/world_backup/${DESTDIR}
 
 TARGET_ARCH?=  ${MACHINE_ARCH}
 .if ${TARGET_ARCH} == ${MACHINE_ARCH}
@@ -218,7 +211,7 @@ BTOOLSPATH= ${BTOOLSDEST}/usr/sbin:${BTOOLSDEST}/usr/bin:${BTOOLSDEST}/bin:${BTO
 # The strict temporary command path contains all binaries required
 # by the buildworld system after the cross-tools stage.
 #
-STRICTTMPPATH= ${CTOOLSDEST}/usr/sbin:${CTOOLSDEST}/usr/bin:${CTOOLSDEST}/bin:${CTOOLSDEST}/usr/games:${BTOOLSDEST}/usr/sbin:${BTOOLSDEST}/usr/bin:${BTOOLSDEST}/bin:${BTOOLSDEST}/usr/games:/usr/pkg/bin
+STRICTTMPPATH= ${CTOOLSDEST}/usr/sbin:${CTOOLSDEST}/usr/bin:${CTOOLSDEST}/bin:${CTOOLSDEST}/usr/games:${BTOOLSDEST}/usr/sbin:${BTOOLSDEST}/usr/bin:${BTOOLSDEST}/bin:${BTOOLSDEST}/usr/games:/usr/local/bin:/usr/pkg/bin
 
 TMPDIR?=       /tmp
 TMPPID!=       echo $$$$
@@ -421,7 +414,6 @@ everything:
        @echo ">>> stage 4d: building everything.."
        @echo "--------------------------------------------------------------"
        cd ${.CURDIR}; ${WMAKE} all
-       @rm -f ${AUTO_BACKUP}/installstamp
 
 # note: buildworld no longer depends on _cleanobj because we rm -rf the
 # entire object tree and built the bootstrap tools in a different location.
@@ -958,10 +950,7 @@ _prebuild_libs+=   lib/libutil
 _generic_libs= gnu/lib
 
 _prebuild_libs+= lib/libcom_err lib/libcrypt lib/libmd \
-               lib/libncurses/libncurses lib/libopie lib/libradius \
-               lib/libsbuf lib/libtacplus lib/libm \
-               lib/libpam lib/libypclnt lib/lib${THREAD_LIB} \
-               lib/libpthread lib/libprop lib/libdevattr
+               lib/libncurses/libncurses lib/libopie
 
 lib/libopie__L lib/libradius__L lib/libtacplus__L: lib/libmd__L
 
@@ -978,6 +967,10 @@ secure/lib/libssh__L: secure/lib/libcrypto__L lib/libz__L
 _generic_libs+=        secure/lib
 .endif
 
+_prebuild_libs+= lib/libradius lib/libsbuf lib/libtacplus lib/libm \
+               lib/libpam lib/libypclnt lib/lib${THREAD_LIB} \
+               lib/libpthread lib/libprop lib/libdevattr
+
 _generic_libs+=        usr.bin/flex/lib
 
 .for _lib in ${_startup_libs44} ${_startup_libs47} \
@@ -1053,81 +1046,55 @@ xmake:
 xmakeenv:
        @echo '${XMAKEENV} /bin/sh'
 
-backupworld:
+backupworld: backup-clean
        @mkdir -p ${WORLD_BACKUP}
-       @chflags -R noschg ${WORLD_BACKUP}
-       @rm -rf ${WORLD_BACKUP}/sbin ${WORLD_BACKUP}/bin \
-               ${WORLD_BACKUP}/usr.sbin ${WORLD_BACKUP}/usr.bin \
-               ${WORLD_BACKUP}/usr.libexec
-       cp -RpP /bin ${WORLD_BACKUP}/bin
-       cp -RpP /sbin ${WORLD_BACKUP}/sbin
-       cp -RpP /usr/bin ${WORLD_BACKUP}/usr.bin
-       cp -RpP /usr/lib ${WORLD_BACKUP}/usr.lib
-       cp -RpP /usr/sbin ${WORLD_BACKUP}/usr.sbin
-       cp -RpP /usr/libexec ${WORLD_BACKUP}/usr.libexec
+.if (exists(${DESTDIR}/sbin) && exists(${DESTDIR}/bin) && \
+     exists(${DESTDIR}/usr/sbin) && exists(${DESTDIR}/usr/bin) && \
+     exists(${DESTDIR}/usr/lib) && exists(${DESTDIR}/usr/libexec))
+       tar -czf ${WORLD_BACKUP}/binaries.tar.gz -C ${DESTDIR}/ \
+               --options gzip:compression-level=1 \
+               sbin bin usr/sbin usr/bin usr/lib usr/libexec
+.endif
 
 backupworld-auto:
-.if !exists(${AUTO_BACKUP}/installstamp)
+.if !defined(NO_BACKUP)
+       rm -f ${AUTO_BACKUP}/binaries.tar.gz
        @mkdir -p ${AUTO_BACKUP}
-       @chflags -R noschg ${AUTO_BACKUP}
-       @rm -rf ${AUTO_BACKUP}/sbin ${AUTO_BACKUP}/bin \
-               ${AUTO_BACKUP}/usr.sbin ${AUTO_BACKUP}/usr.bin \
-               ${AUTO_BACKUP}/usr.libexec
-       cp -RpP /bin ${AUTO_BACKUP}/bin
-       cp -RpP /sbin ${AUTO_BACKUP}/sbin
-       cp -RpP /usr/bin ${AUTO_BACKUP}/usr.bin
-       cp -RpP /usr/lib ${AUTO_BACKUP}/usr.lib
-       cp -RpP /usr/sbin ${AUTO_BACKUP}/usr.sbin
-       cp -RpP /usr/libexec ${AUTO_BACKUP}/usr.libexec
-       @date '+%Y-%m-%d %H:%M:%S' > ${AUTO_BACKUP}/installstamp
+.if (exists(${DESTDIR}/sbin) && exists(${DESTDIR}/bin) && \
+     exists(${DESTDIR}/usr/sbin) && exists(${DESTDIR}/usr/bin) && \
+     exists(${DESTDIR}/usr/lib) && exists(${DESTDIR}/usr/libexec))
+       tar -czf ${AUTO_BACKUP}/binaries.tar.gz -C ${DESTDIR}/ \
+               --options gzip:compression-level=1 \
+               sbin bin usr/sbin usr/bin usr/lib usr/libexec
+.endif
 .endif
 
+backup-auto-clean:
+       rm -f ${AUTO_BACKUP}/binaries.tar.gz
+
+backup-clean:
+       rm -f ${WORLD_BACKUP}/binaries.tar.gz
+
 restoreworld:
-.if !(exists(${WORLD_BACKUP}/sbin) && exists(${WORLD_BACKUP}/bin) && \
-      exists(${WORLD_BACKUP}/usr.sbin) && exists(${WORLD_BACKUP}/usr.bin) && \
-      exists(${WORLD_BACKUP}/usr.lib) && exists(${WORLD_BACKUP}/usr.libexec))
+.if !exists(${WORLD_BACKUP}/binaries.tar.gz)
        @echo "There does not seem to be a valid archive present."
 .else
        @echo "Restoring system binaries from manual backup archive..."
-       @rm -f /tmp/rs.tmp
-.for BX in sbin bin usr.sbin usr.bin usr.lib usr.libexec
-       @chflags -R noschg /${BX:S/./\//}
-       @cd ${WORLD_BACKUP}/${BX} && find * -type f -perm +700 -exec \
-         echo cp ${WORLD_BACKUP}/${BX}/{} /${BX:S/./\//}/{} >> /tmp/rs.tmp \;
-.endfor
-       @grep -Ev ' (/bin/sh|/bin/cp|/sbin/init.bak|/usr/bin/make|/usr/libexec/ld-elf.so.2|/usr/libexec/ld-elf.so.2.old)$$' \
-          /tmp/rs.tmp > /tmp/restore.script
-       @/bin/sh /tmp/restore.script
-       @rm /tmp/rs.tmp /tmp/restore.script
-       @echo "These files were not restored from ${WORLD_BACKUP}:"
-       @echo "   /bin/cp"
-       @echo "   /bin/sh"
-       @echo "   /usr/bin/make"
-       @echo "   /usr/libexec/ld-elf.so.2"
+       @chflags -R noschg ${DESTDIR}/sbin ${DESTDIR}/bin \
+               ${DESTDIR}/usr/sbin ${DESTDIR}/usr/bin \
+               ${DESTDIR}/usr/lib ${DESTDIR}/usr/libexec
+       tar -xzf ${WORLD_BACKUP}/binaries.tar.gz -C ${DESTDIR}/
 .endif
 
 restoreworld-auto:
-.if !(exists(${AUTO_BACKUP}/sbin) && exists(${AUTO_BACKUP}/bin) && \
-      exists(${AUTO_BACKUP}/usr.sbin) && exists(${AUTO_BACKUP}/usr.bin) && \
-      exists(${AUTO_BACKUP}/usr.lib) && exists(${AUTO_BACKUP}/usr.libexec))
+.if !exists(${AUTO_BACKUP}/binaries.tar.gz)
        @echo "There does not seem to be a valid archive present."
 .else
        @echo "Restoring system binaries from auto-backup archive..."
-       @rm -f /tmp/rs.tmp
-.for BX in sbin bin usr.sbin usr.bin usr.lib usr.libexec
-       @chflags -R noschg /${BX:S/./\//}
-       @cd ${AUTO_BACKUP}/${BX} && find * -type f -perm +700 -exec \
-         echo cp ${AUTO_BACKUP}/${BX}/{} /${BX:S/./\//}/{} >> /tmp/rs.tmp \;
-.endfor
-       @grep -Ev ' (/bin/sh|/bin/cp|/sbin/init.bak|/usr/bin/make|/usr/libexec/ld-elf.so.2|/usr/libexec/ld-elf.so.2.old)$$' \
-          /tmp/rs.tmp > /tmp/restore.script
-       @/bin/sh /tmp/restore.script
-       @rm /tmp/rs.tmp /tmp/restore.script
-       @echo "These files were not restored from ${AUTO_BACKUP}:"
-       @echo "   /bin/cp"
-       @echo "   /bin/sh"
-       @echo "   /usr/bin/make"
-       @echo "   /usr/libexec/ld-elf.so.2"
+       @chflags -R noschg ${DESTDIR}/sbin ${DESTDIR}/bin \
+               ${DESTDIR}/usr/sbin ${DESTDIR}/usr/bin \
+               ${DESTDIR}/usr/lib ${DESTDIR}/usr/libexec
+       tar -xzf ${AUTO_BACKUP}/binaries.tar.gz -C ${DESTDIR}/
 .endif
 
 # Take advantage of bmake error response