Date: Mon, 14 Oct 2002 06:27:49 -0700 (PDT) From: Liu Kang <lazykang@hotmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: misc/44052: make clean and make world or kernel should not be performanced concurrently. Message-ID: <200210141327.g9EDRnW9047604@www.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 44052 >Category: misc >Synopsis: make clean and make world or kernel should not be performanced concurrently. >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Mon Oct 14 06:30:07 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Liu Kang >Release: 4.7 >Organization: Beijing Polytechnic University >Environment: FreeBSD ftp.bjpu.edu.cn 4.7-STABLE FreeBSD 4.7-STABLE #13: Thu Oct 10 02:24:10 CST 2002 lazy@ftp.bjpu.edu.cn:/usr/obj/usr/src/sys/FTP i386 >Description: make clean and make world(kernel) should not be performanced at the same time. if so , make world would stop immediately. >How-To-Repeat: just run "make world" and "make clean" at the same time. >Fix: I changed the Makefile in /usr/src as follow: --- Makefile.orig Mon Oct 14 21:04:12 2002 +++ Makefile Mon Oct 14 21:05:37 2002 @@ -116,7 +116,7 @@ # # Handle the user-driven targets, using the source relative mk files. # -${TGTS} ${BITGTS}: upgrade_checks +${TGTS} ${BITGTS}: ifmaking upgrade_checks @cd ${.CURDIR}; \ ${MAKE} ${.TARGET} @@ -130,7 +130,7 @@ # Attempt to rebuild and reinstall *everything*, with reasonable chance of # success, regardless of how old your existing system is. # -world: upgrade_checks +world: ifmaking upgrade_checks @echo "--------------------------------------------------------------" @echo ">>> ${OBJFORMAT} make world started on ${STARTTIME}" @echo "--------------------------------------------------------------" @@ -154,6 +154,7 @@ @echo "--------------------------------------------------------------" @printf ">>> ${OBJFORMAT} make world completed on `LC_ALL=C date`\n (started ${STARTTIME})\n" @echo "--------------------------------------------------------------" + @rm /var/spool/lock/makeworld.lock # # kernel @@ -180,6 +181,20 @@ grep -q "Unknown modifier 'C'"; then \ make make; \ fi +# +# Perform a test to determine whether someone is running "make" in the source directory +# in order to prevent run "make " and "make clean" at the same time. +# +ifmaking: + @ if [ -f /var/spool/lock/makeworld.lock ]; then \ + echo "Please make sure you are the only one who run make at the time!"; \ + echo "If you think you get this message by mistake , delete /var/spool/lock/makeworld.lock manualy and run make again."; \ + kill $$PPID ;\ + else\ + touch /var/spool/lock/makeworld.lock;\ + fi + + # # A simple test target used as part of the test to see if make supports @@ -219,6 +234,6 @@ upgrade: aout-to-elf -${UPGRADE} : upgrade_checks +${UPGRADE} : ifmaking upgrade_checks @cd ${.CURDIR}; \ ${MAKE} -f Makefile.upgrade -m ${.CURDIR}/share/mk ${.TARGET} >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210141327.g9EDRnW9047604>