SubDir HAIKU_TOP src apps haikudepot ; # disable -Werror for this directory only SubDirC++Flags -Wno-error ; include [ FDirName $(SUBDIR) build jam HdsSchemaGenRules ] ; UsePrivateHeaders interface kernel net netservices package shared storage ; UsePrivateHeaders support locale ; HAIKUDEPOT_GENERATED_SOURCES_DIRECTORY = $(TARGET_COMMON_DEBUG_LOCATE_TARGET) ; # During the build process, some sources are generated into directories. These # are the directories. local dumpExportRepositoryBulkListerTargetDirectory = [ FDirName $(HAIKUDEPOT_GENERATED_SOURCES_DIRECTORY) dumpexportrepositorybulklistener ] ; local dumpExportPkgBulkListenerTargetDirectory = [ FDirName $(HAIKUDEPOT_GENERATED_SOURCES_DIRECTORY) dumpexportpkgbulklistener ] ; local dumpExportReferenceListenerTargetDirectory = [ FDirName $(HAIKUDEPOT_GENERATED_SOURCES_DIRECTORY) dumpexportreferencelistener ] ; local dumpExportPkgModelTargetDirectory = [ FDirName $(HAIKUDEPOT_GENERATED_SOURCES_DIRECTORY) dumpexportpkgmodel ] ; local dumpExportRepositoryModelTargetDirectory = [ FDirName $(HAIKUDEPOT_GENERATED_SOURCES_DIRECTORY) dumpexportrepositorymodel ] ; local dumpExportReferenceModelTargetDirectory = [ FDirName $(HAIKUDEPOT_GENERATED_SOURCES_DIRECTORY) dumpexportreferencemodel ] ; # During the build process, some sources are generated into a directory. In # order to maintain a timestamp on that generation process, a dummy file is # used to signify the target of the generation. The leafname of this dummy file # is defined here. local dummyFile = "dummy.dat" ; local dumpExportRepositoryBulkListerTargetFile = [ FDirName $(dumpExportRepositoryBulkListerTargetDirectory) $(dummyFile) ] ; local dumpExportPkgBulkListenerTargetFile = [ FDirName $(dumpExportPkgBulkListenerTargetDirectory) $(dummyFile) ] ; local dumpExportReferenceListenerTargetFile = [ FDirName $(dumpExportReferenceListenerTargetDirectory) $(dummyFile) ] ; local dumpExportPkgModelTargetFile = [ FDirName $(dumpExportPkgModelTargetDirectory) $(dummyFile) ] ; local dumpExportRepositoryModelTargetFile = [ FDirName $(dumpExportRepositoryModelTargetDirectory) $(dummyFile) ] ; local dumpExportReferenceModelTargetFile = [ FDirName $(dumpExportReferenceModelTargetDirectory) $(dummyFile) ] ; # source directories local sourceDirs = edits_generic model packagemanagement process textview ui ui_generic server tar util ; local sourceDir ; for sourceDir in $(sourceDirs) { SEARCH_SOURCE += [ FDirName $(SUBDIR) $(sourceDir) ] ; } SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src servers package ] ; SEARCH_SOURCE += $(dumpExportRepositoryBulkListerTargetDirectory) ; SEARCH_SOURCE += $(dumpExportPkgBulkListenerTargetDirectory) ; SEARCH_SOURCE += $(dumpExportReferenceListenerTargetDirectory) ; SEARCH_SOURCE += $(dumpExportPkgModelTargetDirectory) ; SEARCH_SOURCE += $(dumpExportRepositoryModelTargetDirectory) ; SEARCH_SOURCE += $(dumpExportReferenceModelTargetDirectory) ; local textDocumentSources = # edits_generic CompoundEdit.cpp EditContext.cpp EditManager.cpp UndoableEdit.cpp # textview Bullet.cpp BulletData.cpp CharacterStyle.cpp CharacterStyleData.cpp MarkupParser.cpp Paragraph.cpp ParagraphLayout.cpp ParagraphStyle.cpp ParagraphStyleData.cpp TextDocument.cpp TextDocumentLayout.cpp TextDocumentView.cpp TextEditor.cpp TextListener.cpp TextSelection.cpp TextSpan.cpp TextView.cpp UndoableEditListener.cpp ; local applicationSources = App.cpp BarberPole.cpp BitmapView.cpp Captcha.cpp CreateUserDetail.cpp DecisionProvider.cpp DeskbarLink.cpp FeaturedPackagesView.cpp FilterView.cpp GeneralContentScrollView.cpp IconTarPtr.cpp IncrementViewCounterProcess.cpp JobStateListener.cpp LanguageModel.cpp LinkView.cpp LinkedBitmapView.cpp Logger.cpp main.cpp MainWindow.cpp MarkupTextView.cpp MessagePackageListener.cpp Model.cpp PackageContentsView.cpp PackageIconTarRepository.cpp PackageInfo.cpp PackageInfoListener.cpp PackageInfoView.cpp PackageListView.cpp RatePackageWindow.cpp RatingView.cpp RatingStability.cpp RatingUtils.cpp support.cpp ScreenshotWindow.cpp ScrollableGroupView.cpp SettingsWindow.cpp SharedBitmap.cpp ShuttingDownWindow.cpp ToLatestUserUsageConditionsWindow.cpp UserCredentials.cpp UserDetail.cpp UserLoginWindow.cpp UserUsageConditions.cpp UserUsageConditionsWindow.cpp ValidationFailure.cpp ValidationUtils.cpp WorkStatusView.cpp # packagemanagement AbstractPackageProcess.cpp InstallPackageProcess.cpp OpenPackageProcess.cpp PackageAction.cpp PackageManager.cpp UninstallPackageProcess.cpp # network + server / local processes AbstractProcess.cpp AbstractProcessNode.cpp AbstractServerProcess.cpp AbstractSingleFileServerProcess.cpp LocalPkgDataLoadProcess.cpp LocalRepositoryUpdateProcess.cpp ProcessCoordinator.cpp ProcessCoordinatorFactory.cpp ServerHelper.cpp ServerSettings.cpp ServerPkgDataUpdateProcess.cpp ServerReferenceDataUpdateProcess.cpp ServerRepositoryDataUpdateProcess.cpp ServerIconExportUpdateProcess.cpp StandardMetaDataJsonEventListener.cpp StandardMetaData.cpp ThreadedProcessNode.cpp UserDetailVerifierProcess.cpp WebAppInterface.cpp # tar TarArchiveHeader.cpp TarArchiveService.cpp # util AppUtils.cpp DataIOUtils.cpp LanguageMenuUtils.cpp LocaleUtils.cpp PackageUtils.cpp RepositoryUrlUtils.cpp StorageUtils.cpp LoggingUrlProtocolListener.cpp # package_daemon ProblemWindow.cpp ResultWindow.cpp ; local generatedPkgModelSourceFiles = DumpExportPkg.cpp DumpExportPkgCategory.cpp DumpExportPkgScreenshot.cpp DumpExportPkgVersion.cpp ; local generatedRepositoryModelSourceFiles = DumpExportRepository.cpp DumpExportRepositorySource.cpp DumpExportRepositorySourceMirror.cpp ; local generatedReferenceModelSourceFiles = DumpExportReference.cpp DumpExportReferenceNaturalLanguage.cpp DumpExportReferencePkgCategory.cpp DumpExportReferenceUserRatingStability.cpp DumpExportReferenceCountry.cpp ; local generatedPkgParserSourceFiles = DumpExportPkgJsonListener.cpp ; local generatedRepositoryParserSourceFiles = DumpExportRepositoryJsonListener.cpp ; local generatedReferenceParserSourceFiles = DumpExportReferenceJsonListener.cpp ; Application HaikuDepot : $(applicationSources) $(textDocumentSources) $(generatedPkgModelSourceFiles) $(generatedRepositoryModelSourceFiles) $(generatedReferenceModelSourceFiles) $(generatedPkgParserSourceFiles) $(generatedRepositoryParserSourceFiles) $(generatedReferenceParserSourceFiles) : be package bnetapi translation libnetservices.a libcolumnlistview.a shared [ TargetLibstdc++ ] [ TargetLibsupc++ ] localestub : HaikuDepot.rdef ; DoCatalogs HaikuDepot : x-vnd.Haiku-HaikuDepot : App.cpp FeaturedPackagesView.cpp FilterView.cpp LocaleUtils.cpp LocalPkgDataLoadProcess.cpp LocalRepositoryUpdateProcess.cpp MainWindow.cpp Model.cpp PackageContentsView.cpp PackageInfoView.cpp PackageListView.cpp PackageManager.cpp ProcessCoordinator.cpp RatePackageWindow.cpp ScreenshotWindow.cpp ServerHelper.cpp ServerIconExportUpdateProcess.cpp ServerPkgDataUpdateProcess.cpp ServerReferenceDataUpdateProcess.cpp ServerRepositoryDataUpdateProcess.cpp SettingsWindow.cpp UserLoginWindow.cpp WorkStatusView.cpp ; # The following use of rules configures the generation of .cpp and .h files from # JSON schemas that are defined in the HaikuDepotServer system. See the # included Jam rules and actions for the definitions. HdsSchemaGenModel $(dumpExportPkgModelTargetFile) : dumpexportpkg.json : jsonschema2cppmodel.py ; HdsSchemaGenModel $(dumpExportRepositoryModelTargetFile) : dumpexportrepository.json : jsonschema2cppmodel.py ; HdsSchemaGenModel $(dumpExportReferenceModelTargetFile) : dumpexportreference.json : jsonschema2cppmodel.py ; HdsSchemaGenBulkParser $(dumpExportRepositoryBulkListerTargetFile) : dumpexportrepository.json : jsonschema2cppparser.py ; HdsSchemaGenBulkParser $(dumpExportPkgBulkListenerTargetFile) : dumpexportpkg.json : jsonschema2cppparser.py ; HdsSchemaGenParser $(dumpExportReferenceListenerTargetFile) : dumpexportreference.json : jsonschema2cppparser.py ; 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) ] [ FGristFiles $(generatedPkgModelSourceFiles:S=.h) ] [ FGristFiles $(generatedRepositoryParserSourceFiles:S=.h) ] [ FGristFiles $(generatedRepositoryModelSourceFiles:S=.h) ] [ FGristFiles $(generatedReferenceParserSourceFiles:S=.h) ] [ FGristFiles $(generatedReferenceModelSourceFiles:S=.h) ] ;