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)/ \ $(GENODE_DIR)/ \ $(BASE_DIR)/ \ $(BASE_DIR)/ \ $(REP_DIR)/ \ |> $(LD) -u _start --whole-archive -r \ % % % %f $(STATIC_LIBS) -o %o \ |> core.o $(REP_DIR)/