diff --git a/Makefile b/Makefile index aa70b7a1..892c983c 100644 --- a/Makefile +++ b/Makefile @@ -158,6 +158,14 @@ ifneq (,$(findstring mips,$(CAPSTONE_ARCHS))) LIBOBJ_MIPS += $(LIBSRC_MIPS:%.c=$(OBJDIR)/%.o) endif +DEP_SH = $(wildcard arch/SH/SH*.inc) + +LIBOBJ_SH = +ifneq (,$(findstring sh,$(CAPSTONE_ARCHS))) + CFLAGS += -DCAPSTONE_HAS_SH + LIBSRC_SH += $(wildcard arch/SH/SH*.c) + LIBOBJ_SH += $(LIBSRC_SH:%.c=$(OBJDIR)/%.o) +endif DEP_PPC = DEP_PPC += $(wildcard arch/PowerPC/PPC*.inc) @@ -309,7 +317,7 @@ endif LIBOBJ = LIBOBJ += $(OBJDIR)/cs.o $(OBJDIR)/utils.o $(OBJDIR)/SStream.o $(OBJDIR)/MCInstrDesc.o $(OBJDIR)/MCRegisterInfo.o -LIBOBJ += $(LIBOBJ_ARM) $(LIBOBJ_ARM64) $(LIBOBJ_M68K) $(LIBOBJ_MIPS) $(LIBOBJ_PPC) $(LIBOBJ_RISCV) $(LIBOBJ_SPARC) $(LIBOBJ_SYSZ) +LIBOBJ += $(LIBOBJ_ARM) $(LIBOBJ_ARM64) $(LIBOBJ_M68K) $(LIBOBJ_MIPS) $(LIBOBJ_PPC) $(LIBOBJ_RISCV) $(LIBOBJ_SPARC) $(LIBOBJ_SYSZ) $(LIBOBJ_SH) LIBOBJ += $(LIBOBJ_X86) $(LIBOBJ_XCORE) $(LIBOBJ_TMS320C64X) $(LIBOBJ_M680X) $(LIBOBJ_EVM) $(LIBOBJ_MOS65XX) $(LIBOBJ_WASM) $(LIBOBJ_BPF) LIBOBJ += $(OBJDIR)/MCInst.o @@ -434,6 +442,7 @@ $(LIBOBJ_ARM64): $(DEP_ARM64) $(LIBOBJ_M68K): $(DEP_M68K) $(LIBOBJ_MIPS): $(DEP_MIPS) $(LIBOBJ_PPC): $(DEP_PPC) +$(LIBOBJ_SH): $(DEP_SH) $(LIBOBJ_SPARC): $(DEP_SPARC) $(LIBOBJ_SYSZ): $(DEP_SYSZ) $(LIBOBJ_X86): $(DEP_X86) diff --git a/config.mk b/config.mk index c65103f4..f82f834e 100644 --- a/config.mk +++ b/config.mk @@ -4,7 +4,7 @@ ################################################################################ # Specify which archs you want to compile in. By default, we build all archs. -CAPSTONE_ARCHS ?= arm aarch64 m68k mips powerpc sparc systemz x86 xcore tms320c64x m680x evm riscv mos65xx wasm bpf +CAPSTONE_ARCHS ?= arm aarch64 m68k mips powerpc sparc systemz x86 xcore tms320c64x m680x evm riscv mos65xx wasm bpf sh ################################################################################