1SubDir OBOS_TOP src kits ; 2 3# define USER for KMessage.cpp 4SubDirCcFlags [ FDefines USER=1 ] ; 5SubDirC++Flags [ FDefines USER=1 ] ; 6 7# If defined allows to run applications without the registrar 8# -- for development only, of course. 9if $(RUN_WITHOUT_REGISTRAR) { 10 local defines = [ FDefines RUN_WITHOUT_REGISTRAR ] ; 11 SubDirCcFlags $(defines) ; 12 SubDirC++Flags $(defines) ; 13} 14 15# If defined allows to run applications without the app server 16# -- needed until the app server runs on our kernel. 17RUN_WITHOUT_APP_SERVER ?= 0 ; 18if $(RUN_WITHOUT_APP_SERVER) != 0 { 19 local defines = [ FDefines RUN_WITHOUT_APP_SERVER ] ; 20 SubDirCcFlags $(defines) ; 21 SubDirC++Flags $(defines) ; 22} 23 24# Collect libopenbeos.so sources. 25subdirs = app interface support storage ; 26for subdir in $(subdirs) { 27 local dir = [ FDirName $(SUBDIR) $(subdir) ] ; 28 local file = $(subdir:S=.src) ; 29 include $(file:D=$(dir)) ; 30 UsePrivateHeaders $(subdir) ; 31 SEARCH_SOURCE += $(dir) ; 32} 33 34UsePrivateHeaders shared app [ FDirName servers app ] ; 35UsePrivateHeaders kernel ; # for syscalls.h 36UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; 37UsePrivateHeaders [ FDirName kernel util ] ; # KMessage.h 38UsePrivateHeaders input ; 39 40# Add subsubdirs to the SEARCH_SOURCE. 41SEARCH_SOURCE += [ FDirName $(SUBDIR) interface BTextView ] ; 42SEARCH_SOURCE += [ FDirName $(SUBDIR) storage mime ] ; 43SEARCH_SOURCE += [ FDirName $(SUBDIR) storage sniffer ] ; 44 45LIBBE_SOURCE = 46 $(APP_KIT_SOURCE) 47 $(INTERFACE_KIT_SOURCE) 48 $(SUPPORT_KIT_SOURCE) 49 $(STORAGE_KIT_SOURCE) 50 51 KMessage.cpp 52; 53 54LIBBE_SOURCE_HAIKU_ONLY = 55 $(STORAGE_KIT_SOURCE_HAIKU_ONLY) 56; 57 58SharedLibrary be : 59 $(LIBBE_SOURCE) $(LIBBE_SOURCE_HAIKU_ONLY) 60; 61 62SharedLibraryFromObjects openbeos : 63 $(LIBBE_SOURCE:S=.o) 64; 65 66LinkSharedOSLibs libbe.so : 67 libroot.so # make sure it links against our libroot.so 68 stdc++.r4 69; 70 71AddResources libbe.so : libbe_version.rdef ; 72 73LinkSharedOSLibs libopenbeos.so : 74 libbeadapter.so 75 be net 76 stdc++.r4 77; 78 79# The adapter library we need (Storage Kit). 80# 81SharedLibrary beadapter : 82 LibBeAdapter.cpp 83 strlcat.c 84 strlcpy.c 85; 86LinkSharedOSLibs libbeadapter.so : 87 be 88; 89 90# Note: If you want to use /boot/home/config/lib/libopenbeos.so in another 91# rule, use the identifier <boot!home!config!lib>libopenbeos.so, otherwise 92# libopenbeos.so. 93LOCATE on <boot!home!config!lib>libopenbeos.so 94 <boot!home!config!lib>libbeadapter.so = /boot/home/config/lib ; 95File <boot!home!config!lib>libopenbeos.so : libopenbeos.so ; 96File <boot!home!config!lib>libbeadapter.so : libbeadapter.so ; 97Includes <boot!home!config!lib>libopenbeos.so 98 : <boot!home!config!lib>libbeadapter.so ; 99 100SEARCH on [ FGristFiles 101 strlcat.c strlcpy.c 102 ] = [ FDirName $(OBOS_TOP) src system libroot posix string ] ; 103 104SEARCH on [ FGristFiles KMessage.cpp ] 105 = [ FDirName $(OBOS_TOP) src system kernel messaging ] ; 106 107SubInclude OBOS_TOP src kits app ; 108SubInclude OBOS_TOP src kits debug ; 109SubInclude OBOS_TOP src kits interface ; 110SubInclude OBOS_TOP src kits mail ; 111SubInclude OBOS_TOP src kits media ; 112SubInclude OBOS_TOP src kits midi ; 113SubInclude OBOS_TOP src kits midi2 ; 114SubInclude OBOS_TOP src kits screensaver ; 115#SubInclude OBOS_TOP src kits storage ; 116SubInclude OBOS_TOP src kits support ; 117SubInclude OBOS_TOP src kits textencoding ; 118SubInclude OBOS_TOP src kits translation ; 119SubInclude OBOS_TOP src kits tracker ; 120SubInclude OBOS_TOP src kits device ; 121SubInclude OBOS_TOP src kits game ; 122SubInclude OBOS_TOP src kits network ; 123SubInclude OBOS_TOP src kits opengl ; 124