HaikuDepot: fix build rules

* Fixes a couple issues with independent target warnings, causing
  parallel build problems.

Change-Id: Id968709094c9d5efa4cb443c62c41c83c9622355
This commit is contained in:
Jessica Hamilton 2022-04-29 14:58:45 +00:00
parent 83f755b5d8
commit 2798df0e80
2 changed files with 23 additions and 9 deletions

View File

@ -3,8 +3,7 @@ SubDir HAIKU_TOP src apps haikudepot ;
# disable -Werror for this directory only
SubDirC++Flags -Wno-error ;
include [ FDirName $(HAIKU_TOP) src apps haikudepot build jam
HdsSchemaGenRules ] ;
include [ FDirName $(SUBDIR) build jam HdsSchemaGenRules ] ;
UsePrivateHeaders interface kernel net netservices package shared storage ;
UsePrivateHeaders support locale ;
@ -71,7 +70,7 @@ local sourceDirs =
local sourceDir ;
for sourceDir in $(sourceDirs) {
SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src apps haikudepot $(sourceDir) ] ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) $(sourceDir) ] ;
}
SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src servers package ] ;
@ -312,36 +311,52 @@ HdsSchemaGenParser $(dumpExportReferenceListenerTargetFile)
HdsSchemaGenAppSrcDependsOnGeneration
[ FGristFiles $(generatedPkgParserSourceFiles) ]
[ FGristFiles $(generatedPkgParserSourceFiles:S=.h) ]
: $(dumpExportPkgBulkListenerTargetDirectory)
: $(dumpExportPkgBulkListenerTargetFile) ;
HdsSchemaGenAppSrcDependsOnGeneration
[ FGristFiles $(generatedRepositoryParserSourceFiles) ]
[ FGristFiles $(generatedRepositoryParserSourceFiles:S=.h) ]
: $(dumpExportRepositoryBulkListerTargetDirectory)
: $(dumpExportRepositoryBulkListerTargetFile) ;
HdsSchemaGenAppSrcDependsOnGeneration
[ FGristFiles $(generatedReferenceParserSourceFiles) ]
[ FGristFiles $(generatedReferenceParserSourceFiles:S=.h) ]
: $(dumpExportReferenceListenerTargetDirectory)
: $(dumpExportReferenceListenerTargetFile) ;
HdsSchemaGenAppSrcDependsOnGeneration
[ FGristFiles $(generatedRepositoryModelSourceFiles) ]
[ FGristFiles $(generatedRepositoryModelSourceFiles:S=.h) ]
: $(dumpExportRepositoryModelTargetDirectory)
: $(dumpExportRepositoryModelTargetFile) ;
HdsSchemaGenAppSrcDependsOnGeneration
[ FGristFiles $(generatedPkgModelSourceFiles) ]
[ FGristFiles $(generatedPkgModelSourceFiles:S=.h) ]
: $(dumpExportPkgModelTargetDirectory)
: $(dumpExportPkgModelTargetFile) ;
HdsSchemaGenAppSrcDependsOnGeneration
[ FGristFiles $(generatedReferenceModelSourceFiles) ]
[ FGristFiles $(generatedReferenceModelSourceFiles:S=.h) ]
: $(dumpExportReferenceModelTargetDirectory)
: $(dumpExportReferenceModelTargetFile) ;
# This will ensure that if any of the generated files' header files change, then
# the application should be re-built.
Includes [ FGristFiles $(applicationSources) ]
:
$(dumpExportRepositoryBulkListerTargetDirectory)
$(dumpExportPkgBulkListenerTargetDirectory)
$(dumpExportReferenceListenerTargetDirectory)
$(dumpExportPkgModelTargetDirectory)
$(dumpExportRepositoryModelTargetDirectory)
$(dumpExportReferenceModelTargetDirectory)
;
Depends [ FGristFiles $(applicationSources:S=.o) ]
:
[ FGristFiles $(generatedPkgParserSourceFiles:S=.h) ]

View File

@ -102,14 +102,13 @@ actions HdsSchemaGenParser1
# output files and the target for a given python script run.
# 1 : generated files (.h and .cpp)
# 2 : target that will generate the generated files (dummy file)
# 2 : target directory generated files will be placed in
# 3 : target that will generate the generated files (dummy file)
rule HdsSchemaGenAppSrcDependsOnGeneration {
local generatedSource ;
local applicationSource ;
MakeLocate $(1) : $(2:D) ;
Depends $(1) : $(2) ;
MakeLocate $(1) : $(2) ;
MkDir $(2) ;
Depends $(1) : $(2) $(3) ;
Clean $(1) ;
# just in case the dummy file ends up being newer than the generated