SubDir HAIKU_TOP src kits app ;

# 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) ;
}

UseLibraryHeaders icon ;
UsePrivateHeaders shared app interface libroot locale notification ;

SetSubDirSupportedPlatforms haiku libbe_test ;

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

		UsePrivateSystemHeaders ;

		MergeObject <libbe!$(architecture)>app_kit.o :
			AppDefs.cpp
			Application.cpp
			AppMisc.cpp
			AppServerLink.cpp
			Cursor.cpp
			Clipboard.cpp
			DesktopLink.cpp
			DirectMessageTarget.cpp
			Handler.cpp
			InitTerminateLibBe.cpp
			Invoker.cpp
			LaunchRoster.cpp
			LinkReceiver.cpp
			LinkSender.cpp
			Looper.cpp
			LooperList.cpp
			Message.cpp
			MessageAdapter.cpp
			MessageFilter.cpp
			MessageQueue.cpp
			MessageRunner.cpp
			Messenger.cpp
			MessageUtils.cpp
			Notification.cpp
			PropertyInfo.cpp
			PortLink.cpp
			RegistrarDefs.cpp
			Roster.cpp
			RosterPrivate.cpp
			Server.cpp
			ServerLink.cpp
			ServerMemoryAllocator.cpp
			TokenSpace.cpp
			TypeConstants.cpp

			# KeyStore implementation
			Key.cpp
			KeyStore.cpp
			;
	}
}
