xref: /haiku/src/kits/Jamfile (revision ea6253d0ba561f923f74af1febaf250d2419b1ae)
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