Jump table parsing fix: only consider table insn candidates that write the jump CFT.
[dyninst.git] / parseAPI / make.module.tmpl
1
2 # Common makefile template for the dyninstAPI library.  This file is not
3 # intended to be a useful Makefile in isolation; instead, it should be
4 # included from within an architecture-specific Makefile.
5 #
6 # $Id: make.module.tmpl,v 1.4 2008/09/15 17:38:17 jaw Exp $
7 #
8
9 SUITE_NAME      = ParseAPI
10 RELEASE_MAJOR   = 8
11 RELEASE_MINOR = 0
12 #BUILD_MARK should be (re-)defined in core/make.config.local rather than here!
13
14 ifndef TARGET
15 ifdef STATIC_COMPS
16 STATIC_LIBRARY = true
17 TARGET = libparseAPI.a
18 else
19 TARGET = libparseAPI.so
20 endif
21 endif
22
23 USES_LIBELF = true
24
25 ifndef STATIC_COMPS
26 CFLAGS += -fPIC
27 CXXFLAGS += -fPIC
28 endif
29
30 CFLAGS               += $(USEFULWARNINGS) -I$(TO_CORE)/../include
31 CXXFLAGS             += $(USEFULWARNINGS) -I$(TO_CORE)/../include
32
33 LDFLAGS += -L../../common/$(PLATFORM) -lcommon -L../../symlite/$(PLATFORM) -lsymLite
34
35 ifneq (x$(WITHOUT_SYMTAB_API),xtrue)
36 LDFLAGS += -L../../symtabAPI/$(PLATFORM) -lsymtabAPI
37 SRCS += ../src/SymtabCodeSource.C
38 endif
39
40 ifdef USES_LIBELF
41 LDFLAGS += -L../../elf/$(PLATFORM) -ldynElf
42 endif
43
44 LDFLAGS     += $(LIBDIR)
45 ifndef USES_NATIVE_CC
46 LD              = $(GXX)
47 LDFLAGS         += -shared $(G_PTHREAD_LD)
48 CXXFLAGS        += $(G_PTHREAD)
49 else
50 endif #USES_NATIVE
51
52 ifneq ($(findstring cap_instruction_api,$(CAP_DEF)),)
53     LDFLAGS += -L../../instructionAPI/$(PLATFORM) -linstructionAPI
54 endif
55
56 TO_INC   = ../h
57
58 PUBLIC_H = \
59     CFGFactory.h\
60     CFGModifier.h \
61     CFG.h\
62     CodeObject.h\
63     CodeSource.h\
64     Location.h\
65     InstructionAdapter.h\
66     InstructionSource.h\
67     ParseCallback.h\
68     ParseContainers.h\
69     SymLiteCodeSource.h
70
71 SRCS += ../src/ParserDetails.C \
72         ../src/Parser.C \
73         ../src/CFGFactory.C \
74         ../src/Function.C \
75         ../src/Block.C \
76                 ../src/CodeObject.C \
77                 ../src/debug_parse.C \
78         ../src/CodeSource.C \
79         ../src/ParseData.C\
80         ../src/InstructionAdapter.C\
81         ../src/Parser-speculative.C\
82         ../src/ParseCallback.C \
83         ../src/IA_x86Details.C \
84         ../src/IA_powerDetails.C \
85         ../src/IA_platformDetailsFactory.C \
86         ../src/CFGModifier.C\
87         ../src/SymLiteCodeSource.C
88
89 ifeq (x$(ENABLE_PARSE_API_GRAPHS),xyes)
90 SRCS += ../src/GraphAdapter.C
91 PUBLIC_H += ../src/GraphAdapter.h
92 endif
93
94 ifneq ($(findstring cap_instruction_api,$(CAP_DEF)),)
95 SRCS += ../../dataflowAPI/src/ABI.C \
96         ../../dataflowAPI/src/Absloc.C \
97         ../../dataflowAPI/src/AbslocInterface.C \
98         ../../dataflowAPI/src/convertOpcodes.C \
99         ../../dataflowAPI/src/debug_dataflow.C \
100         ../../dataflowAPI/src/ExpressionConversionVisitor.C \
101         ../../dataflowAPI/src/InstructionCache.C \
102         ../../dataflowAPI/src/liveness.C \
103         ../../dataflowAPI/src/RegisterMap.C \
104         ../../dataflowAPI/src/RoseImpl.C \
105         ../../dataflowAPI/src/RoseInsnFactory.C \
106         ../../dataflowAPI/src/slicing.C \
107         ../../dataflowAPI/src/stackanalysis.C \
108         ../../dataflowAPI/src/SymbolicExpansion.C \
109         ../../dataflowAPI/src/SymEval.C \
110         ../../dataflowAPI/src/SymEvalPolicy.C \
111         ../../dataflowAPI/src/templates.C \
112         ../../dataflowAPI/src/Visitors.C \
113         ../src/StackTamperVisitor.C
114
115 VPATH += ../../dataflowAPI/src
116 VPATH += ../../dataflowAPI/h
117 VPATH += ../../common/src
118
119 PUBLIC_H += Absloc.h \
120          AbslocInterface.h \
121          slicing.h \
122          SymEval.h \
123          stackanalysis.h \
124          liveness.h \
125          ABI.h \
126          bitArray.h \
127          InstructionCache.h      
128 endif
129
130 IFLAGS       += -I../$(PLATFORM) -I../src -I../../dataflowAPI/src -I../../dataflowAPI/h -I../h -I../../dynutil/h -I../../symtabAPI/h -I../../common/h -I../../instructionAPI/h
131
132