From owner-svn-src-projects@FreeBSD.ORG Fri Mar 8 22:02:10 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 28EA896C; Fri, 8 Mar 2013 22:02:10 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 029D5CE2; Fri, 8 Mar 2013 22:02:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r28M29pf084342; Fri, 8 Mar 2013 22:02:09 GMT (envelope-from sjg@svn.freebsd.org) Received: (from sjg@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r28M29XK084335; Fri, 8 Mar 2013 22:02:09 GMT (envelope-from sjg@svn.freebsd.org) Message-Id: <201303082202.r28M29XK084335@svn.freebsd.org> From: "Simon J. Gerraty" Date: Fri, 8 Mar 2013 22:02:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r248076 - projects/bmake/share/mk X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Mar 2013 22:02:10 -0000 Author: sjg Date: Fri Mar 8 22:02:08 2013 New Revision: 248076 URL: http://svnweb.freebsd.org/changeset/base/248076 Log: Allow staging to be help up (by .WAIT) until other bits of all: are done. Modified: projects/bmake/share/mk/bsd.incs.mk projects/bmake/share/mk/bsd.lib.mk projects/bmake/share/mk/bsd.nls.mk projects/bmake/share/mk/bsd.sys.mk projects/bmake/share/mk/meta.stage.mk Modified: projects/bmake/share/mk/bsd.incs.mk ============================================================================== --- projects/bmake/share/mk/bsd.incs.mk Fri Mar 8 21:44:42 2013 (r248075) +++ projects/bmake/share/mk/bsd.incs.mk Fri Mar 8 22:02:08 2013 (r248076) @@ -99,7 +99,7 @@ buildincludes: stage_as .endif .endif .if !empty(INCSLINKS) -stage_files: stage_symlinks +staging: stage_symlinks STAGE_SYMLINKS.INCS= ${INCSLINKS} .endif .endif Modified: projects/bmake/share/mk/bsd.lib.mk ============================================================================== --- projects/bmake/share/mk/bsd.lib.mk Fri Mar 8 21:44:42 2013 (r248075) +++ projects/bmake/share/mk/bsd.lib.mk Fri Mar 8 22:02:08 2013 (r248076) @@ -114,10 +114,6 @@ PO_FLAG=-pg .if !defined(_SKIP_BUILD) all: beforebuild .WAIT beforebuild: objwarn -.if !defined(.PARSEDIR) -# this is a no-op -.WAIT: -.endif .endif .include Modified: projects/bmake/share/mk/bsd.nls.mk ============================================================================== --- projects/bmake/share/mk/bsd.nls.mk Fri Mar 8 21:44:42 2013 (r248075) +++ projects/bmake/share/mk/bsd.nls.mk Fri Mar 8 22:02:08 2013 (r248076) @@ -63,7 +63,7 @@ NLSDIR?= ${SHAREDIR}/nls # .if ${MK_STAGING_PROG} == "yes" .if !defined(_SKIP_BUILD) -all: stage_symlinks +staging: stage_symlinks .endif STAGE_SYMLINKS.NLS= ${NLSSYMLINKS} STAGE_SYMLINKS_DIR.NLS= ${STAGE_OBJTOP} Modified: projects/bmake/share/mk/bsd.sys.mk ============================================================================== --- projects/bmake/share/mk/bsd.sys.mk Fri Mar 8 21:44:42 2013 (r248075) +++ projects/bmake/share/mk/bsd.sys.mk Fri Mar 8 22:02:08 2013 (r248076) @@ -142,16 +142,21 @@ PHONY_NOTMAIN = afterdepend afterinstall .PHONY: ${PHONY_NOTMAIN} .NOTMAIN: ${PHONY_NOTMAIN} +.if !defined(.PARSEDIR) +# this is a no-op +.WAIT: +.endif + .if ${MK_STAGING} != "no" .if defined(_SKIP_BUILD) || !make(all) -stage_libs stage_files stage_as stage_links stage_symlinks: +staging stage_libs stage_files stage_as stage_links stage_symlinks: .else # allow targets like beforeinstall to be leveraged DESTDIR= ${STAGE_OBJTOP} -.if target(beforeinstall) +.if commands(beforeinstall) .if !empty(_LIBS) || ${MK_STAGING_PROG} != "no" -stage_files: beforeinstall +staging: beforeinstall .endif .endif @@ -167,7 +172,7 @@ stage_as.prog: ${PROG} .else STAGE_SETS+= prog stage_files.prog: ${PROG} -all: stage_files +staging: stage_files .endif .endif .endif @@ -182,24 +187,24 @@ beforebuild: buildincludes .for t in stage_libs stage_files stage_as .if target($t) -all: $t +staging: $t .endif .endfor .if !empty(STAGE_AS_SETS) -all: stage_as +staging: stage_as .endif .if !empty(_LIBS) || ${MK_STAGING_PROG} != "no" .if !empty(LINKS) -all: stage_links +staging: stage_links STAGE_SETS+= links STAGE_LINKS.links= ${LINKS} .endif .if !empty(SYMLINKS) -all: stage_symlinks +staging: stage_symlinks STAGE_SETS+= links STAGE_SYMLINKS.links= ${SYMLINKS} .endif Modified: projects/bmake/share/mk/meta.stage.mk ============================================================================== --- projects/bmake/share/mk/meta.stage.mk Fri Mar 8 21:44:42 2013 (r248075) +++ projects/bmake/share/mk/meta.stage.mk Fri Mar 8 22:02:08 2013 (r248076) @@ -1,4 +1,4 @@ -# $Id: meta.stage.mk,v 1.20 2013/03/08 00:00:57 sjg Exp $ +# $Id: meta.stage.mk,v 1.22 2013/03/08 17:52:11 sjg Exp $ # # @(#) Copyright (c) 2011, Simon J. Gerraty # @@ -114,8 +114,7 @@ _STAGE_BASENAME_USE: .USE ${.TARGET:T} @${STAGE_FILE_SCRIPT}; StageFiles ${.TARGET:H:${STAGE_DIR_FILTER}} ${.TARGET:T} .if !empty(STAGE_INCSDIR) -CLEANFILES += stage_incs - +STAGE_TARGETS += stage_incs STAGE_INCS ?= ${.ALLSRC:N.dirdep} stage_incs: .dirdep @@ -124,7 +123,7 @@ stage_incs: .dirdep .endif .if !empty(STAGE_LIBDIR) -CLEANFILES += stage_libs +STAGE_TARGETS += stage_libs STAGE_LIBS ?= ${.ALLSRC:N.dirdep} @@ -161,6 +160,7 @@ STAGE_SYMLINKS.$s ?= ${.ALLSRC:N.dirdep} STAGE_LINKS_DIR.$s ?= ${STAGE_OBJTOP} STAGE_SYMLINKS_DIR.$s ?= ${STAGE_OBJTOP} +STAGE_TARGETS += stage_files .if $s != "_default" stage_files: stage_files.$s stage_files.$s: .dirdep @@ -170,6 +170,7 @@ stage_files: .dirdep @${STAGE_FILE_SCRIPT}; StageFiles ${FLAGS.$@} ${STAGE_FILES_DIR.$s:U${STAGE_DIR.$s}:${STAGE_DIR_FILTER}} ${STAGE_FILES.$s} @touch $@ +STAGE_TARGETS += stage_links .if $s != "_default" stage_links: stage_links.$s stage_links.$s: .dirdep @@ -179,6 +180,7 @@ stage_links: .dirdep @${STAGE_LINKS_SCRIPT}; StageLinks ${STAGE_LINKS_DIR.$s:U${STAGE_DIR.$s}:${STAGE_DIR_FILTER}} ${STAGE_LINKS.$s} @touch $@ +STAGE_TARGETS += stage_symlinks .if $s != "_default" stage_symlinks: stage_symlinks.$s stage_symlinks.$s: .dirdep @@ -194,6 +196,8 @@ stage_symlinks: .dirdep .if !empty(STAGE_AS_SETS) CLEANFILES += ${STAGE_AS_SETS:@s@stage*$s@} +STAGE_TARGETS += stage_as + # sometimes things need to be renamed as they are staged # each ${file} will be staged as ${STAGE_AS_${file:T}} # one could achieve the same with SYMLINKS @@ -208,7 +212,20 @@ stage_as.$s: .dirdep .endfor .endif -# if we have to do any of these, do them in this order -.ORDER: stage_incs stage_libs stage_files stage_as stage_links stage_symlinks +CLEANFILES += ${STAGE_TARGETS} + +# stage_*links usually needs to follow any others. +.for t in ${STAGE_TARGETS:N*links:O:u} +.ORDER: $t stage_links +.ORDER: $t stage_symlinks +.endfor + +# make sure this exists +staging: + +# generally we want staging to wait until everything else is done +STAGING_WAIT ?= .WAIT + +all: ${STAGING_WAIT} staging .endif