forked from pullrequestrfb/ip-spoof-example
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
104 lines (89 loc) · 1.83 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
98
99
100
101
102
103
104
.PHONY: all get-deps build clean install uninstall
MACHINE = ""
PKG_MGR = ""
HAS_GYP = 0
HAS_CURL = 0
HAS_AUTOMAKE = 0
HAS_LIBTOOL = 0
SRC_FILES = ./src/ip_spoof.c ./src/eventloop/loop.c ./src/srv/srv.c ./src/spoof/socket.c
ifeq ("$(shell uname -s)","Linux")
DISTRO = $(shell source /etc/os-release && echo $NAME)
ifneq ("$(DISTRO)","RHEL")
MACHINE = "debian"
else
MACHINE ="rhel"
endif
else
MACHINE ="darwin"
endif
ifeq ($(MACHINE),"darwin")
PKG_MGR = brew
else
ifeq ($(MACHINE),"debian")
PKG_MGR = apt-get
else
PKG_MGR = yum
endif
endif
ifneq ("$(shell which curl)","")
HAS_CURL = 1
else
HAS_CURL = 0
endif
ifneq ("$(shell which gyp)","")
HAS_GYP = 1
else
HAS_GYP = 0
endif
ifneq ("$(shell which automake)","")
HAS_AUTOMAKE = 1
else
HAS_AUTOMAKE = 0
endif
ifneq ("$(shell which libtoolize)", "")
HAS_LIBTOOL = 1
else
HAS_LIBTOOL = 0
endif
all: get-deps build
get-deps:
mkdir -p ./tmp/
# gyp
if [ $(HAS_GYP) -eq 0 ]; then \
$(PKG_MGR) install -y gyp; \
fi
# automake
if [ $(HAS_AUTOMAKE) -eq 0 ]; then \
$(PKG_MGR) install -y automake; \
fi
# libtool
if [ $(HAS_LIBTOOL) -eq 0 ]; then \
$(PKG_MGR) install -y libtool; \
fi
# libuv
gpg --keyserver pool.sks-keyservers.net --recv-keys AE9BC059
if [ $(HAS_CURL) -eq 1 ]; then \
curl -o ./tmp/libuv-v1.10.1.tar.gz http://dist.libuv.org/dist/v1.10.1/libuv-v1.10.1.tar.gz; \
else \
wget -O ./tmp/libuv-v1.10.1.tar.gz http://dist.libuv.org/dist/v1.10.1/libuv-v1.10.1.tar.gz; \
fi
ORIG_DIR=`pwd`
cd ./tmp/ && \
tar xzvf ./libuv-v1.10.1.tar.gz && \
cd ./libuv-v1.10.1/ && \
sh autogen.sh && \
./configure && \
make && \
make check && \
make install
build:
mkdir -p dist/
$(CC) -pthread -o dist/ipspoof $(SRC_FILES) /usr/local/lib/libuv.a
clean:
rm -rf dist/
install:
cp -r dist/ /usr/local/bin/
uninstall:
rm /usr/local/bin/ipspoof
docker:
docker build -t ipspoof .