xref: /haiku/src/system/kernel/Jamfile (revision 2ae568931fcac7deb9f1e6ff4e47213fbfe4029b)
1SubDir HAIKU_TOP src system kernel ;
2
3{
4	# TODO: Rename the macro OBOS_ARCH to TARGET_ARCH, or something like that.
5	local defines =
6		OBOS_ARCH=\\\"$(TARGET_ARCH)\\\"
7		;
8
9	defines = [ FDefines $(defines) ] ;
10	SubDirCcFlags $(defines) ;
11	SubDirC++Flags $(defines) ;
12}
13
14KernelMergeObject kernel_core.o :
15	boot_item.cpp
16	cpu.c
17	elf.c
18	heap.c
19	image.c
20	int.c
21	kernel_daemon.c
22	linkhack.c
23	lock.c
24	main.c
25	module.c
26	port.c
27	real_time_clock.c
28	scheduler.c
29	sem.c
30	shutdown.c
31	signal.c
32	system_info.c
33	smp.c
34	syscalls.c
35	sysctl.c
36	team.c
37	thread.c
38	timer.c
39
40	: -fno-pic
41;
42
43# We need to specify the dependency on the generated syscalls files explicitly.
44Includes [ FGristFiles syscalls.c ]
45	: <syscalls>syscall_dispatcher.h <syscalls>syscall_table.h ;
46
47KernelLd linkhack.so :
48	<$(SOURCE_GRIST)>linkhack.o
49	:
50	:
51	-shared -Bdynamic
52;
53
54KernelLd kernel_$(TARGET_ARCH) :
55	kernel_core.o
56	kernel_fs.o
57	kernel_vm.o
58	kernel_cache.o
59	kernel_device_manager.o
60	kernel_disk_device_manager.o
61	kernel_util.o
62	kernel_messaging.o
63	kernel_debug.o
64
65	lib$(TARGET_ARCH).a
66
67	linkhack.so
68
69	# kernel libroot parts
70	kernel_os_main.o
71	kernel_os_arch_$(TARGET_ARCH).o
72	kernel_posix.o
73
74	$(HAIKU_STATIC_LIBSUPC++)
75
76	: $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/kernel.ld
77	: -Bdynamic -export-dynamic -dynamic-linker /foo/bar
78	:
79;
80
81KernelLd kernel.so :
82	kernel_core.o
83	kernel_fs.o
84	kernel_vm.o
85	kernel_cache.o
86	kernel_device_manager.o
87	kernel_disk_device_manager.o
88	kernel_util.o
89	kernel_messaging.o
90	kernel_debug.o
91
92	lib$(TARGET_ARCH).a
93
94	linkhack.so
95
96	# kernel libroot parts
97	kernel_os_main.o
98	kernel_os_arch_$(TARGET_ARCH).o
99	kernel_posix.o
100
101	$(HAIKU_STATIC_LIBSUPC++)
102
103	: $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/kernel.ld
104	: -Bdynamic -shared -export-dynamic -dynamic-linker /foo/bar
105;
106
107NotFile kernel ;
108Depends kernel : kernel_$(TARGET_ARCH) ;
109Depends kernel.so : kernel ;
110	# kernel.so will be rebuilt with the kernel
111
112
113SubInclude HAIKU_TOP src system kernel arch ;
114SubInclude HAIKU_TOP src system kernel cache ;
115SubInclude HAIKU_TOP src system kernel device_manager ;
116SubInclude HAIKU_TOP src system kernel debug ;
117SubInclude HAIKU_TOP src system kernel disk_device_manager ;
118SubInclude HAIKU_TOP src system kernel fs ;
119SubInclude HAIKU_TOP src system kernel lib ;
120SubInclude HAIKU_TOP src system kernel messaging ;
121SubInclude HAIKU_TOP src system kernel util ;
122SubInclude HAIKU_TOP src system kernel vm ;
123