xref: /haiku/src/kits/Jamfile (revision 079c69cbfd7cd3c97baae91332251c8388a8bb02)
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
23# Build our libbe.so
24
25AddResources libbe.so : libbe_version.rdef ;
26
27SharedLibrary libbe.so :
28	KMessage.cpp
29	:
30	<libbe>app_kit.o
31	<libbe>interface_kit.o
32	<libbe>storage_kit.o
33	<libbe>support_kit.o
34
35	libqoca.so
36
37	libicon.a
38	libagg.a
39
40	libroot.so	# make sure it links against our libroot.so
41	$(TARGET_LIBSTDC++)
42;
43
44# Build libbe_haiku.so
45
46SetSupportedPlatformsForTarget libbe_haiku.so : libbe_test ;
47
48if $(TARGET_PLATFORM) = libbe_test {
49	local syslog = [ FGristFiles syslog.o ] ;
50	# Remove _NO_INLINE_ASM from the defines for syslog.cpp. Otherwise we get
51	# references to tls_get/set() etc. that don't exist under BeOS.
52	TARGET_DEFINES on $(syslog)
53		= [ on $(syslog) FFilter $(TARGET_DEFINES) : _NO_INLINE_ASM ] ;
54
55	# We need to use our <syslog.h>, because the syslog() prototype differs
56	# from the BeOS one.
57	TARGET_DEFINES on $(syslog) += _SYS_LOG_H ;
58	TARGET_C++FLAGS on $(syslog) = [ on $(syslog) return $(TARGET_C++FLAGS) ]
59		-include [ FDirName $(HAIKU_TOP) headers posix syslog.h ] ;
60}
61
62SharedLibrary libbe_haiku.so :
63	KMessage.cpp
64	syslog.cpp
65	:
66	<libbe>app_kit.o
67	<libbe>interface_kit.o
68	<libbe>storage_kit.o
69	<libbe>support_kit.o
70
71	libqoca.so
72
73	libicon.a
74	libagg.a
75
76	libbeadapter.so
77	$(TARGET_NETWORK_LIBS)
78	$(TARGET_LIBSTDC++)
79;
80
81SEARCH on [ FGristFiles KMessage.cpp ]
82	= [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
83
84SEARCH on [ FGristFiles syslog.cpp ]
85	= [ FDirName $(HAIKU_TOP) src system libroot posix ] ;
86
87
88SubInclude HAIKU_TOP src kits app ;
89SubInclude HAIKU_TOP src kits debug ;
90SubInclude HAIKU_TOP src kits device ;
91SubInclude HAIKU_TOP src kits game ;
92SubInclude HAIKU_TOP src kits interface ;
93SubInclude HAIKU_TOP src kits mail ;
94SubInclude HAIKU_TOP src kits media ;
95SubInclude HAIKU_TOP src kits midi ;
96SubInclude HAIKU_TOP src kits midi2 ;
97SubInclude HAIKU_TOP src kits network ;
98SubInclude HAIKU_TOP src kits opengl ;
99SubInclude HAIKU_TOP src kits screensaver ;
100SubInclude HAIKU_TOP src kits shared ;
101SubInclude HAIKU_TOP src kits storage ;
102SubInclude HAIKU_TOP src kits support ;
103SubInclude HAIKU_TOP src kits textencoding ;
104SubInclude HAIKU_TOP src kits tracker ;
105SubInclude HAIKU_TOP src kits translation ;
106