forked from airbus-seclab/bincat
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
98 lines (84 loc) · 3.72 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
export DESTDIR=/
export PREFIX=usr/local
PYTHON =python
PYPATH =python
NPKPATH =lib
MLPATH =ocaml/src
TESTPATH = test
DPREFIX =$(PREFIX)
DOCMLPATH =../../doc/generated/ocaml
DOCPYPATH =../doc/generated/python
DOCGENPATH =doc/generated
MLLIBDIR=../../python/idabincat
IDAPATH ?= $(HOME)/ida-6.95
IDAUSR ?= $(HOME)/.idapro
all:
@echo "Compiling OCaml part................................................."
@make -C $(MLPATH) all DEBUG=$(DEBUG)
@echo "Building python part................................................."
@make -C $(PYPATH) all
@echo "Building headers......................................................"
@make -C $(NPKPATH) all
install: all
@echo "Installing Ocaml part................................................"
make -C $(MLPATH) install
@echo "Installing Python part..............................................."
make -C $(PYPATH) install
IDAuser:
@echo "Linking pybincat and idabincat inside IDA Python ...................."
rm -rf "${IDAUSR}/plugins/pybincat"
cp -r $$(python -c 'import os,inspect,pybincat;print os.path.dirname(inspect.getfile(pybincat))') "${IDAPATH}/plugins/pybincat"
rm -rf "${IDAUSR}/plugins/idabincat"
@echo $$(python -c 'import os,inspect,idabincat;print os.path.dirname(inspect.getfile(idabincat))')
cp -r $$(python -c 'import os,inspect,idabincat;print os.path.dirname(inspect.getfile(idabincat))') "${IDAPATH}/plugins/idabincat"
rm -f "${IDAUSR}/plugins/bcplugin.py"
cp $$(python -c 'import os,inspect,idabincat;print os.path.dirname(inspect.getfile(idabincat))')/bcplugin.py "${IDAPATH}/plugins/bcplugin.py"
mkdir -p $(IDAUSR)/idabincat
cp -r "${PYPATH}/idabincat/conf" "${IDAUSR}/idabincat"
# .no file
cp -r lib "${IDAUSR}/idabincat"
IDAinstall: # install globally
@echo "Linking pybincat and idabincat inside IDA Python ...................."
rm -rf "${IDAPATH}/plugins/pybincat"
cp -r $$(python -c 'import os,inspect,pybincat;print os.path.dirname(inspect.getfile(pybincat))') "${IDAPATH}/plugins/pybincat"
rm -rf "${IDAPATH}/plugins/idabincat"
@echo $$(python -c 'import os,inspect,idabincat;print os.path.dirname(inspect.getfile(idabincat))')
cp -r $$(python -c 'import os,inspect,idabincat;print os.path.dirname(inspect.getfile(idabincat))') "${IDAPATH}/plugins/idabincat"
rm -f "${IDAPATH}/plugins/bcplugin.py"
cp $$(python -c 'import os,inspect,idabincat;print os.path.dirname(inspect.getfile(idabincat))')/bcplugin.py "${IDAPATH}/plugins/bcplugin.py"
mkdir -p $(IDAUSR)/idabincat
cp -r "${PYPATH}/idabincat/conf" "${IDAUSR}/idabincat"
# .no file
cp -r lib "${IDAUSR}/idabincat"
test: all
make -C $(TESTPATH) test
doc: all
@mkdir -p doc/generated
@echo "Generating OCaml documentation......................................."
@make -C $(MLPATH) DOCPATH=$(DOCMLPATH) doc
@echo "Generating Python documentation......................................"
@make -C $(PYPATH) DOCPATH=$(DOCPYPATH) copydoc
clean:
@echo "Cleaning OCaml part.................................................."
@make -C $(MLPATH) clean || /bin/true
@echo "Cleaning lib........................................................."
@make -C $(NPKPATH) clean || /bin/true
@echo "Cleaning python part................................................."
@make -C $(PYPATH) clean || /bin/true
echo "Cleaning documentation................................................"
-rm -rf $(DOCGENPATH)
-rm -rf $(PYPATH)/tests/__pycache__
-rm -rf bincat-dist
-rm -f bincat.tar.gz
dist: clean
@echo "Making distribution.................................................."
mkdir bincat-dist
cp Makefile bincat-dist
cp README.md bincat-dist
cp -r python bincat-dist
cp -r ocaml bincat-dist
cp -r doc bincat-dist
tar -czf bincat.tar.gz bincat-dist
tags:
otags -vi -r ocaml
.PHONY: install clean IDAinstall tags