* Moved the DeferredSubInclude rules into MiscRules.
* Added new rule HaikuSubInclude for more comfortable subdirectory inclusion. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20352 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -397,44 +397,5 @@ rule FStandardHeaders
|
|||||||
return $(headers) ;
|
return $(headers) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
rule DeferredSubInclude params
|
|
||||||
{
|
|
||||||
# DeferredSubInclude <subdir tokens> ;
|
|
||||||
#
|
|
||||||
# Takes the same parameter as SubInclude. The the subdirectory referred to
|
|
||||||
# by <subdir tokens> will be included when ExecuteDeferredSubIncludes is
|
|
||||||
# invoked, i.e. at the end of the root Jamfile.
|
|
||||||
|
|
||||||
HAIKU_DEFERRED_SUB_INCLUDES += "/" $(params) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
rule ExecuteDeferredSubIncludes
|
|
||||||
{
|
|
||||||
# ExecuteDeferredSubIncludes ;
|
|
||||||
#
|
|
||||||
# Performs the deferred SubIncludes scheduled by DeferredSubInclude.
|
|
||||||
|
|
||||||
local tokensList = $(HAIKU_DEFERRED_SUB_INCLUDES) ;
|
|
||||||
while $(tokensList) {
|
|
||||||
# chop off leading "/"
|
|
||||||
tokensList = $(tokensList[2-]) ;
|
|
||||||
|
|
||||||
# get the tokens for the next include
|
|
||||||
local tokens ;
|
|
||||||
while $(tokensList) && $(tokensList[1]) != "/" {
|
|
||||||
tokens += $(tokensList[1]) ;
|
|
||||||
tokensList = $(tokensList[2-]) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
# perform the include
|
|
||||||
if $(tokens) {
|
|
||||||
SubInclude $(tokens) ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# The variable used to collect the deferred SubIncludes.
|
|
||||||
HAIKU_DEFERRED_SUB_INCLUDES = ;
|
|
||||||
|
|
||||||
# SUBDIRSYSHDRS shall be reset automatically for each subdir
|
# SUBDIRSYSHDRS shall be reset automatically for each subdir
|
||||||
SUBDIRRESET += SYSHDRS ;
|
SUBDIRRESET += SYSHDRS ;
|
||||||
|
|||||||
@@ -76,3 +76,54 @@ rule MakeLocateDebug
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rule DeferredSubInclude params
|
||||||
|
{
|
||||||
|
# DeferredSubInclude <subdir tokens> ;
|
||||||
|
#
|
||||||
|
# Takes the same parameter as SubInclude. The the subdirectory referred to
|
||||||
|
# by <subdir tokens> will be included when ExecuteDeferredSubIncludes is
|
||||||
|
# invoked, i.e. at the end of the root Jamfile.
|
||||||
|
|
||||||
|
HAIKU_DEFERRED_SUB_INCLUDES += "/" $(params) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
rule ExecuteDeferredSubIncludes
|
||||||
|
{
|
||||||
|
# ExecuteDeferredSubIncludes ;
|
||||||
|
#
|
||||||
|
# Performs the deferred SubIncludes scheduled by DeferredSubInclude.
|
||||||
|
|
||||||
|
local tokensList = $(HAIKU_DEFERRED_SUB_INCLUDES) ;
|
||||||
|
while $(tokensList) {
|
||||||
|
# chop off leading "/"
|
||||||
|
tokensList = $(tokensList[2-]) ;
|
||||||
|
|
||||||
|
# get the tokens for the next include
|
||||||
|
local tokens ;
|
||||||
|
while $(tokensList) && $(tokensList[1]) != "/" {
|
||||||
|
tokens += $(tokensList[1]) ;
|
||||||
|
tokensList = $(tokensList[2-]) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
# perform the include
|
||||||
|
if $(tokens) {
|
||||||
|
SubInclude $(tokens) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rule HaikuSubInclude tokens
|
||||||
|
{
|
||||||
|
# HaikuSubInclude <tokens> ;
|
||||||
|
#
|
||||||
|
# Current subdir relative SubInclude.
|
||||||
|
# <tokens> - subdir tokens specifying the subdirectory to be include
|
||||||
|
# (relative to the current subdir)
|
||||||
|
|
||||||
|
if $(tokens) {
|
||||||
|
SubInclude HAIKU_TOP $(SUBDIR_TOKENS) $(tokens) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# The variable used to collect the deferred SubIncludes.
|
||||||
|
HAIKU_DEFERRED_SUB_INCLUDES = ;
|
||||||
|
|||||||
@@ -657,7 +657,13 @@ rule SubInclude
|
|||||||
config = $(HAIKU_INHERITED_SUBDIR_CONFIG) ;
|
config = $(HAIKU_INHERITED_SUBDIR_CONFIG) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# store SUBDIR_TOKENS
|
||||||
|
local oldSubDirTokens = $(SUBDIR_TOKENS) ;
|
||||||
|
|
||||||
on $(config) {
|
on $(config) {
|
||||||
include [ FDirName $($(1[1])) $(1[2-) $(JAMFILE) ] ;
|
include [ FDirName $($(1[1])) $(1[2-) $(JAMFILE) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# restore SUBDIR_TOKENS
|
||||||
|
SUBDIR_TOKENS = $(oldSubDirTokens) ;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user