genode/repos/base-nova/src/core/Tupfile

76 lines
2.1 KiB
Plaintext

include_rules
GEN_CORE_DIR = $(BASE_DIR)/src/core
INCLUDES += \
-I$(TUP_CWD)/include \
-I$(GEN_CORE_DIR)/include \
SRC_CC += *.cc
ifeq (@(TUP_ARCH),i386)
SRC_CC += spec/x86_32/*.cc
endif
ifeq (@(TUP_ARCH),x86_64)
SRC_CC += spec/x86_64/*.cc
endif
SRC_CC += \
$(GEN_CORE_DIR)/core_log.cc \
$(GEN_CORE_DIR)/core_mem_alloc.cc \
$(GEN_CORE_DIR)/cpu_session_component.cc \
$(GEN_CORE_DIR)/cpu_session_support.cc \
$(GEN_CORE_DIR)/cpu_thread_component.cc \
$(GEN_CORE_DIR)/dataspace_component.cc \
$(GEN_CORE_DIR)/default_log.cc \
$(GEN_CORE_DIR)/dump_alloc.cc \
$(GEN_CORE_DIR)/heartbeat.cc \
$(GEN_CORE_DIR)/io_mem_session_component.cc \
$(GEN_CORE_DIR)/main.cc \
$(GEN_CORE_DIR)/pd_session_component.cc \
$(GEN_CORE_DIR)/platform_rom_modules.cc \
$(GEN_CORE_DIR)/ram_dataspace_factory.cc \
$(GEN_CORE_DIR)/region_map_component.cc \
$(GEN_CORE_DIR)/rom_session_component.cc \
$(GEN_CORE_DIR)/signal_receiver.cc \
$(GEN_CORE_DIR)/signal_transmitter_noinit.cc \
$(GEN_CORE_DIR)/spec/x86/io_port_session_component.cc \
$(GEN_CORE_DIR)/spec/x86/io_port_session_support.cc \
$(GEN_CORE_DIR)/stack_area.cc \
$(GEN_CORE_DIR)/trace_session_component.cc \
$(GEN_CORE_DIR)/vm_session_common.cc \
$(GEN_CORE_DIR)/version.cc \
CXXFLAGS_$(GEN_CORE_DIR)/version.cc += -DGENODE_VERSION=\"`git describe`\"
: foreach $(SRC_CC) |> !cxx |> {link-items}
: {link-items} |> !ar |> {archive}
STATIC_LIBS += -L$(LIB_DIR) `$(PKG_CONFIG) --libs cxx startup`
ifndef LIBUNWIND_BAREMETAL
error CONFIG_LIBUNWIND_BAREMETAL not defined
@(LIBUNWIND_BAREMETAL)
endif
EH_SYMBOLS = \
_Unwind_Resume \
_Unwind_Complete \
_Unwind_DeleteException \
REDEF_SYMBOLS = `echo $(EH_SYMBOLS) | awk -v RS=' ' '{ print "--redefine-sym "$1"=_cxx_"$1 }'`
export OBJCOPY
: |> $OBJCOPY $(LOCAL_SYMBOLS) $(REDEF_SYMBOLS) @(LIBUNWIND_BAREMETAL) %o |> libunwind.a {archive}
: {archive} | \
$(DEV_DIR)/<lib> \
$(GENODE_DIR)/<pkg-config> \
$(BASE_DIR)/<libunwind-baremetal> \
$(BASE_DIR)/<base-libs> \
$(REP_DIR)/<base-common> \
|> $(LD) -u _start --whole-archive -r \
%<libunwind-baremetal> %<base-libs> %<base-common> %f $(STATIC_LIBS) -o %o \
|> core.o $(REP_DIR)/<core>