⛏️ index : haiku.git

SubDir HAIKU_TOP src kits ;

# If defined allows to run applications without the registrar
# -- for development only, of course.
if $(RUN_WITHOUT_REGISTRAR) {
	local defines = [ FDefines RUN_WITHOUT_REGISTRAR ] ;
	SubDirCcFlags $(defines) ;
	SubDirC++Flags $(defines) ;
}

# If defined allows to run applications without the app server
# -- needed until the app server runs on our kernel.
RUN_WITHOUT_APP_SERVER ?= 0 ;
if $(RUN_WITHOUT_APP_SERVER) != 0 {
	local defines = [ FDefines RUN_WITHOUT_APP_SERVER ] ;
	SubDirCcFlags $(defines) ;
	SubDirC++Flags $(defines) ;
}

UsePrivateHeaders app interface kernel locale print shared ;

# Build our libbe.so

local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
	on $(architectureObject) {
		local architecture = $(TARGET_PACKAGING_ARCH) ;
		local libbe = [ MultiArchDefaultGristFiles libbe.so ] ;

		AddResources $(libbe) :
			libbe_version.rdef CountryFlags.rdef Icons.rdef LanguageFlags.rdef
			;

		SetVersionScript $(libbe) : libbe_versions ;

		SharedLibrary $(libbe) : :
			<libbe!$(architecture)>app_kit.o
			<libbe!$(architecture)>interface_kit.o
			<libbe!$(architecture)>locale_kit.o
			<libbe!$(architecture)>storage_kit.o
			<libbe!$(architecture)>support_kit.o

			[ MultiArchDefaultGristFiles libstorage_kit_mime.a ]

			[ MultiArchDefaultGristFiles libicon.a ]
			[ MultiArchDefaultGristFiles libagg.a ]

			[ TargetLibstdc++ ]
			[ BuildFeatureAttribute icu : libraries ]
			[ BuildFeatureAttribute zlib : library ]
			[ BuildFeatureAttribute zstd : library ]
			;
	}
}

# Build libbe_test.so

SetSupportedPlatformsForTarget libbe_test.so : libbe_test ;

SetVersionScript libbe_test.so : libbe_test_versions ;

UsePrivateHeaders storage mime ;

SharedLibrary libbe_test.so :
	:
	<libbe!$(TARGET_PACKAGING_ARCH)>app_kit.o
	<libbe!$(TARGET_PACKAGING_ARCH)>interface_kit.o
	<libbe!$(TARGET_PACKAGING_ARCH)>locale_kit.o
	<libbe!$(TARGET_PACKAGING_ARCH)>storage_kit.o
	<libbe!$(TARGET_PACKAGING_ARCH)>support_kit.o

	[ MultiArchDefaultGristFiles libstorage_kit_mime.a ]

	[ MultiArchDefaultGristFiles libicon.a ]
	[ MultiArchDefaultGristFiles libagg.a ]

	[ TargetLibstdc++ ]
	[ BuildFeatureAttribute icu : libraries ]
	[ BuildFeatureAttribute zlib : library ]
	[ BuildFeatureAttribute zstd : library ]
	;

SEARCH_SOURCE += [ FDirName $(SUBDIR) interface ] ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) interface textview_support ] ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) shared ] ;

DoCatalogs libbe.so
	: x-vnd.Haiku-libbe
	:
	AboutMenuItem.cpp
	AboutWindow.cpp
	ColorControl.cpp
	ColumnTypes.cpp
	DecorInfo.cpp
	Dragger.cpp
	Menu.cpp
	PrintJob.cpp
	StringForRate.cpp
	StringForSize.cpp
	TextView.cpp
	ZombieReplicantView.cpp
	;

#SEARCH on [ FGristFiles KMessage.cpp ]
#	= [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
#
#SEARCH on [ FGristFiles syslog.cpp ]
#	= [ FDirName $(HAIKU_TOP) src system libroot posix ] ;


SubInclude HAIKU_TOP src kits app ;
SubInclude HAIKU_TOP src kits bluetooth ;
SubInclude HAIKU_TOP src kits debug ;
SubInclude HAIKU_TOP src kits debugger ;
SubInclude HAIKU_TOP src kits device ;
SubInclude HAIKU_TOP src kits game ;
SubInclude HAIKU_TOP src kits interface ;
SubInclude HAIKU_TOP src kits locale ;
SubInclude HAIKU_TOP src kits mail ;
SubInclude HAIKU_TOP src kits media ;
SubInclude HAIKU_TOP src kits midi ;
SubInclude HAIKU_TOP src kits midi2 ;
SubInclude HAIKU_TOP src kits network ;
SubInclude HAIKU_TOP src kits package ;
SubInclude HAIKU_TOP src kits print ;
SubInclude HAIKU_TOP src kits screensaver ;
SubInclude HAIKU_TOP src kits shared ;
SubInclude HAIKU_TOP src kits storage ;
SubInclude HAIKU_TOP src kits support ;
SubInclude HAIKU_TOP src kits textencoding ;
SubInclude HAIKU_TOP src kits tracker ;
SubInclude HAIKU_TOP src kits translation ;