xref: /haiku/src/kits/Jamfile (revision a1163de83ea633463a79de234b8742ee106531b2)
1SubDir HAIKU_TOP src kits ;
2
3# If defined allows to run applications without the registrar
4# -- for development only, of course.
5if $(RUN_WITHOUT_REGISTRAR) {
6	local defines = [ FDefines RUN_WITHOUT_REGISTRAR ] ;
7	SubDirCcFlags $(defines) ;
8	SubDirC++Flags $(defines) ;
9}
10
11# If defined allows to run applications without the app server
12# -- needed until the app server runs on our kernel.
13RUN_WITHOUT_APP_SERVER ?= 0 ;
14if $(RUN_WITHOUT_APP_SERVER) != 0 {
15	local defines = [ FDefines RUN_WITHOUT_APP_SERVER ] ;
16	SubDirCcFlags $(defines) ;
17	SubDirC++Flags $(defines) ;
18}
19
20UsePrivateHeaders [ FDirName kernel ]   # For KMessage.h
21UsePrivateHeaders syslog_daemon ;		# For syslog.cpp
22
23local pngDump ;
24if $(TARGET_PLATFORM) != haiku {
25	pngDump = libpng.so libz.so ;
26}
27
28# Build our libbe.so
29
30AddResources libbe.so : libbe_version.rdef ;
31
32SetVersionScript libbe.so : libbe_versions ;
33
34SharedLibrary libbe.so :
35	:
36	<libbe>app_kit.o
37	<libbe>interface_kit.o
38	<libbe>storage_kit.o
39	<libbe>support_kit.o
40
41	libicon.a
42	libagg.a
43
44	libroot.so	# make sure it links against our libroot.so
45	$(pngDump) # For dumping the screen to PNG in the Interface Kit on R5
46	$(TARGET_LIBSTDC++)
47;
48
49# Build libbe_haiku.so
50
51SetSupportedPlatformsForTarget libbe_haiku.so : libbe_test ;
52
53if $(TARGET_PLATFORM) = libbe_test {
54	local syslog = [ FGristFiles syslog.o ] ;
55	# Remove _NO_INLINE_ASM from the defines for syslog.cpp. Otherwise we get
56	# references to tls_get/set() etc. that don't exist under BeOS.
57	TARGET_DEFINES on $(syslog)
58		= [ on $(syslog) FFilter $(TARGET_DEFINES) : _NO_INLINE_ASM ] ;
59
60	# We need to use our <syslog.h>, because the syslog() prototype differs
61	# from the BeOS one.
62	TARGET_DEFINES on $(syslog) += _SYS_LOG_H ;
63	TARGET_C++FLAGS on $(syslog) = [ on $(syslog) return $(TARGET_C++FLAGS) ]
64		-include [ FDirName $(HAIKU_TOP) headers posix syslog.h ] ;
65}
66
67SharedLibrary libbe_haiku.so :
68	KMessage.cpp
69	syslog.cpp
70	:
71	<libbe>app_kit.o
72	<libbe>interface_kit.o
73	<libbe>storage_kit.o
74	<libbe>support_kit.o
75
76	libicon.a
77	libagg.a
78
79	libbeadapter.so
80	$(TARGET_NETWORK_LIBS)
81	$(TARGET_LIBSTDC++)
82;
83
84SEARCH on [ FGristFiles KMessage.cpp ]
85	= [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
86
87SEARCH on [ FGristFiles syslog.cpp ]
88	= [ FDirName $(HAIKU_TOP) src system libroot posix ] ;
89
90
91SubInclude HAIKU_TOP src kits app ;
92SubInclude HAIKU_TOP src kits bluetooth ;
93SubInclude HAIKU_TOP src kits debug ;
94SubInclude HAIKU_TOP src kits device ;
95SubInclude HAIKU_TOP src kits game ;
96SubInclude HAIKU_TOP src kits interface ;
97SubInclude HAIKU_TOP src kits locale ;
98SubInclude HAIKU_TOP src kits mail ;
99SubInclude HAIKU_TOP src kits media ;
100SubInclude HAIKU_TOP src kits midi ;
101SubInclude HAIKU_TOP src kits midi2 ;
102SubInclude HAIKU_TOP src kits network ;
103SubInclude HAIKU_TOP src kits opengl ;
104SubInclude HAIKU_TOP src kits print ;
105SubInclude HAIKU_TOP src kits screensaver ;
106SubInclude HAIKU_TOP src kits shared ;
107SubInclude HAIKU_TOP src kits storage ;
108SubInclude HAIKU_TOP src kits support ;
109SubInclude HAIKU_TOP src kits textencoding ;
110SubInclude HAIKU_TOP src kits tracker ;
111SubInclude HAIKU_TOP src kits translation ;
112