SubDir OBOS_TOP src kits ;

# Collect libopenbeos.so sources.
subdirs = app interface support storage ;
for subdir in $(subdirs) {
	local dir = [ FDirName $(SUBDIR) $(subdir) ] ;
	local file = $(subdir:S=.src) ;
	include $(file:D=$(dir)) ;
	UsePrivateHeaders $(subdir) ;
	UsePublicHeaders $(subdir) ;
	SEARCH_SOURCE += $(dir) ;
}

UsePublicHeaders [ FDirName add-ons file_system ] ;
UsePrivateHeaders shared ;

# Add subsubdirs to the SEARCH_SOURCE.
SEARCH_SOURCE += [ FDirName $(SUBDIR) storage mime ] ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) storage sniffer ] ;

SharedLibrary openbeos :
	$(APP_KIT_SOURCE)
	$(INTERFACE_KIT_SOURCE)
	$(SUPPORT_KIT_SOURCE)
	$(STORAGE_KIT_SOURCE)
;

LinkSharedOSLibs libopenbeos.so :
	libbeadapter.so
	be
	stdc++.r4 ;

# The adapter library we need (Storage Kit).
#
SharedLibrary beadapter :
	LibBeAdapter.cpp
;
LinkSharedOSLibs libbeadapter.so :
	be
;

# Note: If you want to use /boot/home/config/lib/libopenbeos.so in another
# rule, use the identifier <boot!home!config!lib>libopenbeos.so, otherwise
# libopenbeos.so.
LOCATE on <boot!home!config!lib>libopenbeos.so
		  <boot!home!config!lib>libbeadapter.so = /boot/home/config/lib ;
File <boot!home!config!lib>libopenbeos.so : libopenbeos.so ;
File <boot!home!config!lib>libbeadapter.so : libbeadapter.so ;
Includes <boot!home!config!lib>libopenbeos.so
	: <boot!home!config!lib>libbeadapter.so ;

SubInclude OBOS_TOP src kits app ;
SubInclude OBOS_TOP src kits interface ;
SubInclude OBOS_TOP src kits media ;
SubInclude OBOS_TOP src kits midi ;
SubInclude OBOS_TOP src kits screensaver ;
SubInclude OBOS_TOP src kits storage ;
SubInclude OBOS_TOP src kits support ;
SubInclude OBOS_TOP src kits translation ;
SubInclude OBOS_TOP src kits device ;
SubInclude OBOS_TOP src kits game ;
SubInclude OBOS_TOP src kits net ;
