From owner-svn-src-all@FreeBSD.ORG Mon Jun 9 14:36:49 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E82DDB70; Mon, 9 Jun 2014 14:36:49 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BB0FB2AB2; Mon, 9 Jun 2014 14:36:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s59EanG6044948; Mon, 9 Jun 2014 14:36:49 GMT (envelope-from jmmv@svn.freebsd.org) Received: (from jmmv@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s59EanPI044946; Mon, 9 Jun 2014 14:36:49 GMT (envelope-from jmmv@svn.freebsd.org) Message-Id: <201406091436.s59EanPI044946@svn.freebsd.org> From: Julio Merino Date: Mon, 9 Jun 2014 14:36:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r267276 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jun 2014 14:36:50 -0000 Author: jmmv Date: Mon Jun 9 14:36:49 2014 New Revision: 267276 URL: http://svnweb.freebsd.org/changeset/base/267276 Log: Ensure files are created during the build when using bsd.subdir.mk. When FILES is defined in a Makefile that _also_ includes bsd.subdir.mk, the build of the files (if any) was not properly triggered during the build stage. This was because bsd.files.mk did not define the buildfiles target if it was already defined... and bsd.subdir.mk defined this target on its own, thus causing a conflict. Fix this by unconditionally defining buildfiles from bsd.files.mk; this is safe because nothing else in the tree needs to redefine this and because the target itself contains no commands: all it does is define dependencies. Also ensure that bsd.files.mk is always pulled in by bsd.test.mk regardless of what bsd.prog.mk does. These fixes allow "make installworld" to run cleanly on a system with read-only src and obj trees. This is "make tinderbox" clean. Reviewed by: imp Obtained from: jilles Modified: head/share/mk/bsd.files.mk head/share/mk/bsd.test.mk Modified: head/share/mk/bsd.files.mk ============================================================================== --- head/share/mk/bsd.files.mk Mon Jun 9 14:34:33 2014 (r267275) +++ head/share/mk/bsd.files.mk Mon Jun 9 14:36:49 2014 (r267276) @@ -4,13 +4,14 @@ .error bsd.files.mk cannot be included directly. .endif +.if !target(____) +____: + FILESGROUPS?= FILES -.if !target(buildfiles) .for group in ${FILESGROUPS} buildfiles: ${${group}} .endfor -.endif all: buildfiles @@ -65,3 +66,5 @@ _${group}INS: ${_${group}FILES} realinstall: installfiles .ORDER: beforeinstall installfiles + +.endif # !target(____) Modified: head/share/mk/bsd.test.mk ============================================================================== --- head/share/mk/bsd.test.mk Mon Jun 9 14:34:33 2014 (r267275) +++ head/share/mk/bsd.test.mk Mon Jun 9 14:36:49 2014 (r267276) @@ -82,8 +82,7 @@ test: aftertest .if !empty(PROGS) || !empty(PROGS_CXX) || !empty(SCRIPTS) .include -.elif !empty(FILES) -.include .endif +.include .include