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