diff options
Diffstat (limited to 'erts/emulator/Makefile.in')
-rw-r--r-- | erts/emulator/Makefile.in | 43 |
1 files changed, 28 insertions, 15 deletions
diff --git a/erts/emulator/Makefile.in b/erts/emulator/Makefile.in index 5320de8bef..c3449c5f73 100644 --- a/erts/emulator/Makefile.in +++ b/erts/emulator/Makefile.in @@ -25,6 +25,7 @@ include $(ERL_TOP)/make/$(TARGET)/otp.mk ENABLE_ALLOC_TYPE_VARS = @ENABLE_ALLOC_TYPE_VARS@ JIT_ENABLED=@JIT_ENABLED@ +JIT_ARCH=@JIT_ARCH@ DTRACE_ENABLED=@DTRACE_ENABLED@ DTRACE_ENABLED_2STEP=@DTRACE_ENABLED_2STEP@ USE_VM_PROBES=@USE_VM_PROBES@ @@ -57,9 +58,9 @@ endif ifeq ($(FLAVOR),jit) OMIT_OMIT_FP=no OPCODE_TABLES += \ - beam/jit/ops.tab \ - beam/jit/predicates.tab \ - beam/jit/generators.tab + beam/jit/$(JIT_ARCH)/ops.tab \ + beam/jit/$(JIT_ARCH)/predicates.tab \ + beam/jit/$(JIT_ARCH)/generators.tab else OMIT_OMIT_FP=no OPCODE_TABLES += \ @@ -414,8 +415,8 @@ CREATE_DIRS += $(OBJDIR) \ $(ZLIB_OBJDIR) ifeq ($(FLAVOR),jit) -CREATE_DIRS+=$(OBJDIR)/asmjit/ $(OBJDIR)/asmjit/core $(OBJDIR)/asmjit/x86 -CREATE_DIRS+=$(TTF_DIR)/asmjit $(TTF_DIR)/asmjit/core $(TTF_DIR)/asmjit/x86 +CREATE_DIRS+=$(OBJDIR)/asmjit/ $(OBJDIR)/asmjit/core $(OBJDIR)/asmjit/$(JIT_ARCH) +CREATE_DIRS+=$(TTF_DIR)/asmjit $(TTF_DIR)/asmjit/core $(TTF_DIR)/asmjit/$(JIT_ARCH) endif BINDIR = $(ERL_TOP)/bin/$(TARGET) @@ -690,8 +691,8 @@ $(UTILS_YCF_OUTPUT): beam/utils.c $(ERTS_LIB) GENERATE += $(DB_INSERT_LIST_OUTPUT) $(MAPS_YCF_OUTPUT) $(UTILS_YCF_OUTPUT) ## ASMJIT source files and headers -ASMJIT_CPP = $(wildcard asmjit/core/*.cpp) $(wildcard asmjit/x86/*.cpp) -ASMJIT_H = $(wildcard asmjit/*.h) $(wildcard asmjit/core/*.h) $(wildcard asmjit/x86/*.h) +ASMJIT_CPP = $(wildcard asmjit/core/*.cpp) $(wildcard asmjit/$(JIT_ARCH)/*.cpp) +ASMJIT_H = $(wildcard asmjit/*.h) $(wildcard asmjit/core/*.h) $(wildcard asmjit/$(JIT_ARCH)/*.h) ASMJIT_TTF_H = $(foreach HEADER,$(ASMJIT_H),$(TTF_DIR)/$(HEADER)) ifeq ($(FLAVOR),jit) @@ -776,6 +777,10 @@ COMMON_INCLUDES += -Ipcre COMMON_INCLUDES += -I../include -I../include/$(TARGET) COMMON_INCLUDES += -I../include/internal -I../include/internal/$(TARGET) +ifeq ($(FLAVOR),jit) +COMMON_INCLUDES += -Ibeam/jit -Ibeam/jit/$(JIT_ARCH) +endif + INCLUDES = -I$(TTF_DIR) $(COMMON_INCLUDES) ifeq ($(TARGET),win32) @@ -901,7 +906,7 @@ ASMJIT_FLAGS=-DASMJIT_EMBED=1 -DASMJIT_NO_BUILDER=1 -DASMJIT_NO_DEPRECATED=1 -DA ASMJIT_PCH_OBJ=$(TTF_DIR)/asmjit/asmjit.hpp.gch ASMJIT_PCH_SRC=$(TTF_DIR)/asmjit/asmjit.hpp -$(OBJDIR)/%.o: beam/jit/%.cpp beam/jit/beam_asm.hpp $(ASMJIT_PCH_OBJ) +$(OBJDIR)/%.o: beam/jit/$(JIT_ARCH)/%.cpp beam/jit/$(JIT_ARCH)/beam_asm.hpp $(ASMJIT_PCH_OBJ) $(V_CXX) $(ASMJIT_FLAGS) $(INCLUDES) \ $(subst -O2, $(GEN_OPT_FLGS), $(CXXFLAGS)) \ -include $(ASMJIT_PCH_SRC) -c $< -o $@ @@ -987,7 +992,11 @@ COMMON_OBJS = \ ASMJIT_OBJS = $(patsubst %.cpp,$(OBJDIR)/%.o,$(ASMJIT_CPP)) JIT_OBJS = \ - $(OBJDIR)/asm_load.o \ + $(OBJDIR)/asm_load.o \ + $(OBJDIR)/beam_jit_common.o + +ifeq ($(JIT_ARCH), x86) +JIT_OBJS += \ $(OBJDIR)/beam_asm.o \ $(OBJDIR)/beam_asm_global.o \ $(OBJDIR)/beam_asm_module.o \ @@ -1002,9 +1011,10 @@ JIT_OBJS = \ $(OBJDIR)/instr_map.o \ $(OBJDIR)/instr_msg.o \ $(OBJDIR)/instr_select.o \ - $(OBJDIR)/instr_trace.o \ - $(ASMJIT_OBJS) + $(OBJDIR)/instr_trace.o +endif +JIT_OBJS += $(ASMJIT_OBJS) EMU_OBJS = \ $(OBJDIR)/emu_load.o @@ -1262,7 +1272,7 @@ BEAM_SRC=$(wildcard beam/*.c) ifeq ($(FLAVOR),emu) BEAM_SRC+=$(wildcard beam/emu/*.c) else -BEAM_CPP_SRC=$(wildcard beam/*.cpp) $(wildcard beam/jit/*.cpp) +BEAM_CPP_SRC=$(wildcard beam/*.cpp) $(wildcard beam/jit/*.cpp) $(wildcard beam/jit/$(JIT_ARCH)/*.cpp) endif DRV_COMMON_SRC=$(wildcard drivers/common/*.c) DRV_OSTYPE_SRC=$(wildcard drivers/$(ERLANG_OSTYPE)/*.c) @@ -1315,7 +1325,7 @@ DEP_INCLUDES=$(INCLUDES) \ -Idrivers/common -Idrivers/$(ERLANG_OSTYPE) \ -Inifs/common -Inifs/$(ERLANG_OSTYPE) DEP_FLAGS=-MM $(MG_FLAG) $(CFLAGS) $(DEP_INCLUDES) -DEP_CXXFLAGS=-MM $(MG_FLAG) $(CXXFLAGS) $(DEP_INCLUDES) +DEP_CXXFLAGS=-MM $(MG_FLAG) $(CXXFLAGS) $(DEP_INCLUDES) $(ASMJIT_FLAGS) SYS_SRC=$(ALL_SYS_SRC) endif @@ -1378,9 +1388,12 @@ compdb: cat $(TTF_DIR)/*.json > $(ERL_TOP)/compile_commands.json format-check: - clang-format --Werror --dry-run -i beam/jit/*.cpp beam/jit/*.hpp beam/jit/*.c beam/jit/*.h + clang-format --Werror --dry-run -i beam/jit/*.hpp beam/jit/*.c beam/jit/*.h \ + beam/jit/*/*.cpp beam/jit/*/*.hpp + format: - clang-format -i beam/jit/*.cpp beam/jit/*.hpp beam/jit/*.c beam/jit/*.h + clang-format -i beam/jit/*.hpp beam/jit/*.c beam/jit/*.h \ + beam/jit/*/*.cpp beam/jit/*/*.hpp ifneq ($(ERTS_SKIP_DEPEND),true) ifneq ($(MAKECMDGOALS),clean) |