Newer
Older
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
import os
Import('argenv', 'STARS_CCFLAGS')
dirs='''
src/base
src/interfaces
src/interfaces/abstract
src/interfaces/idapro
src/drivers/idapro
'''
dirs=Split(dirs)
IDA_CCFLAGS=''' -std=c++0x \
-I$SMPSA_HOME/include \
-I$SMPSA_HOME/include/base \
-I$SMPSA_HOME/include/interfaces \
-I$SMPSA_HOME/include/interfaces/abstract \
-I$IDASDK/include \
-I$SMPSA_HOME/include/interfaces/idapro \
-D__LINUX__ -w --short-enums -m32 \
-DSTARS_IDA_INTERFACE \
-D__PLUGIN__ \
-D__IDP__ \
'''+STARS_CCFLAGS
IDA_LDFLAGS="-m32 --shared -L$IDAROOT -lida \
-Wl,--version-script=$SMPSA_HOME/scripts/plugin.script"
# find files
print 'dirs: ',dirs
files=[]
for dir in dirs:
files=files+Glob(os.path.join(dir,"*.cpp"))
# set suffix properly
if int(argenv['do_64bit_analysis']) == 1:
SHLIBSUF=".plx64"
else:
SHLIBSUF=".plx"
idaenv=argenv.Clone(CCFLAGS=IDA_CCFLAGS, SHLINKFLAGS=IDA_LDFLAGS, SHLIBSUFFIX=SHLIBSUF, SHLIBPREFIX="");
lib=idaenv.SharedLibrary('SMPStaticAnalyzer', files, LIBPATH="$IDAROOT", libs="ida")
argenv.Install("$IDAROOT/plugins/", lib)
argenv.Alias("install", "$IDAROOT/plugins/")