2 include_directories(BEFORE include)
3 include_directories(BEFORE include/efi)
4 include_directories(${REACTOS_SOURCE_DIR}/ntoskrnl/include)
5 include_directories(${REACTOS_SOURCE_DIR}/lib/cmlib)
6 include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs)
8 add_definitions(-D_NTHAL_ -D_BLDR_ -D_NTSYSTEM_)
10 list(APPEND BOOTLIB_SOURCE
15 lib/firmware/efi/firmware.c
26 lib/io/display/display.c
27 lib/io/display/emscons.c
28 lib/io/display/guicons.c
29 lib/io/display/textcons.c
30 lib/io/display/efi/textcons.c
31 lib/io/display/efi/guicons.c
32 lib/io/display/efi/gop.c
33 lib/io/display/efi/uga.c)
35 if(ARCH STREQUAL "i386")
36 list(APPEND BOOTLIB_ASM_SOURCE
37 #lib/arch/i386/foo.asm
39 list(APPEND BOOTLIB_SOURCE
43 elseif(ARCH STREQUAL "amd64")
44 list(APPEND BOOTLIB_ASM_SOURCE
45 #lib/arch/amd64/foo.asm
47 list(APPEND BOOTLIB_SOURCE
53 list(APPEND BOOTLIB_SOURCE
59 add_asm_files(bootlib_asm ${BOOTLIB_ASM_SOURCE})
60 add_library(bootlib ${BOOTLIB_SOURCE} ${bootlib_asm})
61 add_pch(bootlib app/bootmgr/bootmgr.h BOOTLIB_SOURCE)
62 add_dependencies(bootlib bugcodes xdk)
64 list(APPEND BOOTMGR_BASE_SOURCE
67 app/bootmgr/rtlcompat.c
70 add_executable(bootmgfw ${BOOTMGR_BASE_SOURCE})
71 set_target_properties(bootmgfw PROPERTIES SUFFIX ".efi")
74 add_target_link_flags(bootmgfw "/ignore:4078 /ignore:4254 /DRIVER /FIXED")
76 add_target_link_flags(bootmgfw "-Wl,--strip-all,--exclude-all-symbols")
79 set_image_base(bootmgfw 0x10000)
82 set_subsystem(bootmgfw EFI_APPLICATION)
84 set_subsystem(bootmgfw 10)
87 set_entrypoint(bootmgfw EfiEntry)
89 target_link_libraries(bootmgfw bootlib cportlib cmlib rtl libcntpr)
92 target_link_libraries(bootmgfw gcc_ssp)
93 elseif(RUNTIME_CHECKS)
94 target_link_libraries(bootmgfw runtmchk)
97 add_dependencies(bootmgfw asm bugcodes)
99 add_cd_file(TARGET bootmgfw FILE ${_bootmgfw_output_file} DESTINATION efi/boot NO_CAB FOR bootcd regtest NAME_ON_CD boot${EFI_PLATFORM_ID}.efi)