SubDir OBOS_TOP src kits ; # define USER for KMessage.cpp SubDirCcFlags [ FDefines USER=1 ] ; SubDirC++Flags [ FDefines USER=1 ] ; # 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) ; } # 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) ; SEARCH_SOURCE += $(dir) ; } UsePrivateHeaders shared app [ FDirName servers app ] ; UsePrivateHeaders kernel ; # for syscalls.h UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; UsePrivateHeaders [ FDirName kernel util ] ; # KMessage.h UsePrivateHeaders input ; # Add subsubdirs to the SEARCH_SOURCE. SEARCH_SOURCE += [ FDirName $(SUBDIR) interface BTextView ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) storage mime ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) storage sniffer ] ; LIBBE_SOURCE = $(APP_KIT_SOURCE) $(INTERFACE_KIT_SOURCE) $(SUPPORT_KIT_SOURCE) $(STORAGE_KIT_SOURCE) KMessage.cpp ; LIBBE_SOURCE_HAIKU_ONLY = $(STORAGE_KIT_SOURCE_HAIKU_ONLY) ; SharedLibrary be : $(LIBBE_SOURCE) $(LIBBE_SOURCE_HAIKU_ONLY) ; SharedLibraryFromObjects openbeos : $(LIBBE_SOURCE:S=.o) ; LinkSharedOSLibs libbe.so : libroot.so # make sure it links against our libroot.so stdc++.r4 ; AddResources libbe.so : libbe_version.rdef ; LinkSharedOSLibs libopenbeos.so : libbeadapter.so be net stdc++.r4 ; # The adapter library we need (Storage Kit). # SharedLibrary beadapter : LibBeAdapter.cpp strlcat.c strlcpy.c ; LinkSharedOSLibs libbeadapter.so : be ; # Note: If you want to use /boot/home/config/lib/libopenbeos.so in another # rule, use the identifier libopenbeos.so, otherwise # libopenbeos.so. LOCATE on libopenbeos.so libbeadapter.so = /boot/home/config/lib ; File libopenbeos.so : libopenbeos.so ; File libbeadapter.so : libbeadapter.so ; Includes libopenbeos.so : libbeadapter.so ; SEARCH on [ FGristFiles strlcat.c strlcpy.c ] = [ FDirName $(OBOS_TOP) src system libroot posix string ] ; SEARCH on [ FGristFiles KMessage.cpp ] = [ FDirName $(OBOS_TOP) src system kernel messaging ] ; SubInclude OBOS_TOP src kits app ; SubInclude OBOS_TOP src kits debug ; SubInclude OBOS_TOP src kits interface ; SubInclude OBOS_TOP src kits mail ; SubInclude OBOS_TOP src kits media ; SubInclude OBOS_TOP src kits midi ; SubInclude OBOS_TOP src kits midi2 ; SubInclude OBOS_TOP src kits screensaver ; #SubInclude OBOS_TOP src kits storage ; SubInclude OBOS_TOP src kits support ; SubInclude OBOS_TOP src kits textencoding ; SubInclude OBOS_TOP src kits translation ; SubInclude OBOS_TOP src kits tracker ; SubInclude OBOS_TOP src kits device ; SubInclude OBOS_TOP src kits game ; SubInclude OBOS_TOP src kits network ; SubInclude OBOS_TOP src kits opengl ;