Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Mar 2013 22:02:09 +0000 (UTC)
From:      "Simon J. Gerraty" <sjg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r248076 - projects/bmake/share/mk
Message-ID:  <201303082202.r28M29XK084335@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 <bsd.symver.mk>

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303082202.r28M29XK084335>