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