- Implement first part of SMP support.
[planlOS.git] / system / kernel / CMakeLists.txt
blob6a4c37c14e29aa63608491a62752c74251118b1a
2 set(SRC
3 ke/apic.c
4 ke/cpu.c
5 ke/debug.c
6 ke/gdt.c
7 ke/interrupts.c
8 ke/intstubs.S
9 ke/smp.c
10 ke/start.c
11 ke/start.S
12 mm/phys.c
13 mm/virt.c
14 ../../shared/string.c
15 ke/stdlib.c
16 ke/bsdmalloc.c
17 ke/smpstart.o
20 set(CMAKE_C_FLAGS "-fstrength-reduce -fno-builtin -m32 -Wall -Wextra -Wno-unused-parameter -nostdlib -nostdinc -Wno-long-long")
21 set(CMAKE_ASM-ATT_FLAGS "--32")
22 include_directories(../include ../../shared/include)
23 add_custom_command(OUTPUT ke/smpstart.o COMMAND ${CMAKE_ASM-ATT_COMPILER} --32 -o smpstart2.o ke/smpstart.S && ld -o smpstart.o smpstart2.o -Ttext 0x1000 --oformat binary -m elf_i386 && objcopy -B i386 -I binary -O elf32-i386 smpstart.o ke/smpstart.o && rm smpstart.o smpstart2.o DEPENDS ke/smpstart.S)
24 add_definitions(-DARCH_X86=1)
25 set(EXECUTABLE_OUTPUT_PATH ../../build/boot)
26 add_executable(planlOS ${SRC})
27 set_target_properties(planlOS PROPERTIES LINK_FLAGS "-T planlOS.ld")
29 add_object(planlOS)