summaryrefslogtreecommitdiff
path: root/examples/x86_extension
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2020-07-10 23:36:26 -0400
committerRusty Wagner <rusty@vector35.com>2020-07-17 18:31:55 -0400
commit308caf1f5b3f8f02ebb44c0c43a838e0709200a1 (patch)
tree2b04f6b809eedf88285eab69c662035ec6ce200d /examples/x86_extension
parentb3d490e9e7f21a90922973a617a89a8620f5778b (diff)
Switch build system to cmake
Diffstat (limited to 'examples/x86_extension')
-rw-r--r--examples/x86_extension/CMakeLists.txt4
-rw-r--r--examples/x86_extension/Makefile59
2 files changed, 2 insertions, 61 deletions
diff --git a/examples/x86_extension/CMakeLists.txt b/examples/x86_extension/CMakeLists.txt
index 632a9381..7f04d5a5 100644
--- a/examples/x86_extension/CMakeLists.txt
+++ b/examples/x86_extension/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
project(x86_extension CXX)
@@ -14,4 +14,4 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
CXX_STANDARD 11
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../bin)
-binja_install_plugin(${PROJECT_NAME})
+bn_install_plugin(${PROJECT_NAME})
diff --git a/examples/x86_extension/Makefile b/examples/x86_extension/Makefile
deleted file mode 100644
index 1ee60891..00000000
--- a/examples/x86_extension/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
-# Path to prebuilt libbinaryninjaapi.a
-BINJA_API_A := ../../bin/libbinaryninjaapi.a
-
-# Path to binaryninjaapi.h and json
-INC := -I../../
-
-UNAME_S := $(shell uname -s)
-ifeq ($(UNAME_S),Linux)
- # Path to binaryninja install
- BINJAPATH := $(shell cat ~/.binaryninja/lastrun)
- PLUGIN_DIR := ~/.binaryninja/plugins/
- CC := g++
-else
- BINJAPATH := /Applications/Binary\ Ninja.app/Contents/MacOS
- PLUGIN_DIR := ~/Library/Application\ Support/Binary\ Ninja/plugins/
- CC := clang++
-endif
-
-SRCDIR := src
-BUILDDIR := build
-TARGETDIR := bin
-
-TARGETNAME := x86_extension
-TARGET := $(TARGETDIR)/$(TARGETNAME)
-
-SRCEXT := cpp
-SOURCES := $(shell find $(SRCDIR) -type f -name *.$(SRCEXT))
-OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.o)) src/asmx86/libasmx86.a
-
-LIBS := -L$(BINJAPATH) -lbinaryninjacore
-CFLAGS := -c -std=gnu++11 -O2 -Wall -W -fPIC -pipe -Wno-unused-function
-
-all: $(TARGET)
-
-ifeq ($(UNAME_S),Linux)
-$(TARGET): $(OBJECTS)
- @mkdir -p $(TARGETDIR)
- $(CC) $^ $(BINJA_API_A) $(LIBS) -shared -Wl,-rpath=$(BINJAPATH) -ldl -o bin/lib$(TARGETNAME).so
-else
-$(TARGET): $(OBJECTS)
- @mkdir -p $(TARGETDIR)
- $(CC) $^ $(BINJA_API_A) $(LIBS) -single_module -dynamiclib -o bin/lib$(TARGETNAME).dylib
- install_name_tool -add_rpath $(BINJAPATH)/libbinaryninjacore.dylib bin/lib$(TARGETNAME).dylib
-endif
-
-$(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT)
- @mkdir -p $(BUILDDIR)
- $(CC) $(CFLAGS) $(INC) -c -o $@ $<
-
-src/asmx86/libasmx86.a:
- $(MAKE) -C src/asmx86
-
-install:
- cp bin/lib$(TARGETNAME).dylib $(PLUGIN_DIR)
-
-clean:
- $(RM) -r $(BUILDDIR) $(TARGETDIR)
-
-.PHONY: clean