Prototype of ParseAPI modification callback system; still needs work but compiles...
[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      = Dyninst
10 RELEASE_MAJOR   = 7
11 RELEASE_MINOR = 0
12 #BUILD_MARK should be (re-)defined in core/make.config.local rather than here!
13
14 CFLAGS               += $(USEFULWARNINGS) -I$(TO_CORE)/../include
15 CXXFLAGS             += $(USEFULWARNINGS) -I$(TO_CORE)/../include
16
17 LDFLAGS += -L../../common/$(PLATFORM) -L../../symtabAPI/$(PLATFORM) -lcommon -lsymtabAPI
18
19 LDFLAGS     += $(LIBDIR)
20 ifndef USES_NATIVE_CC
21 LD              = $(GXX)
22 LDFLAGS         += -shared $(G_PTHREAD_LD)
23 CFLAGS          += -fPIC
24 CXXFLAGS        += -fPIC $(G_PTHREAD)
25 else
26 ifeq (solaris,$(findstring solaris,$(PLATFORM)))
27 LDFLAGS         += -G
28 endif #sparc
29 endif #USES_NATIVE
30
31 ifneq ($(findstring cap_instruction_api,$(CAP_DEF)),)
32     LDFLAGS += -L../../instructionAPI/$(PLATFORM) -linstructionAPI
33 endif
34
35 TO_INC   = ../h
36
37 PUBLIC_H = \
38     CFGFactory.h\
39     CFG.h\
40     CodeObject.h\
41     CodeSource.h\
42     InstructionAdapter.h\
43     InstructionSource.h\
44     ParseCallback.h\
45     ParseContainers.h
46
47 SRCS += ../src/ParserDetails.C \
48         ../src/Parser.C \
49         ../src/CFGFactory.C \
50         ../src/Function.C \
51         ../src/Block.C \
52                 ../src/CodeObject.C \
53                 ../src/debug_parse.C \
54         ../src/SymtabCodeSource.C \
55         ../src/ParseData.C\
56         ../src/InstructionAdapter.C\
57         ../src/Parser-speculative.C\
58         ../src/ParseCallback.C \
59         ../src/IA_x86Details.C \
60         ../src/IA_powerDetails.C \
61         ../src/IA_platformDetailsFactory.C
62         
63 ifneq ($(findstring cap_instruction_api,$(CAP_DEF)),)
64 SRCS += ../../dataflowAPI/src/Absloc.C \
65         ../../dataflowAPI/src/AbslocInterface.C \
66         ../../dataflowAPI/src/convertOpcodes.C \
67         ../../dataflowAPI/src/debug_dataflow.C \
68         ../../dataflowAPI/src/ExpressionConversionVisitor.C \
69         ../../dataflowAPI/src/RoseImpl.C \
70         ../../dataflowAPI/src/RoseInsnFactory.C \
71         ../../dataflowAPI/src/slicing.C \
72         ../../dataflowAPI/src/stackanalysis.C \
73         ../../dataflowAPI/src/SymbolicExpansion.C \
74         ../../dataflowAPI/src/SymEval.C \
75         ../../dataflowAPI/src/SymEvalPolicy.C \
76         ../../dataflowAPI/src/templates.C \
77         ../../dataflowAPI/src/Visitors.C \
78         ../src/StackTamperVisitor.C
79
80 VPATH += ../../dataflowAPI/src
81 VPATH += ../../dataflowAPI/h
82
83 PUBLIC_H += Absloc.h \
84          AbslocInterface.h \
85          slicing.h \
86          SymEval.h \
87          stackanalysis.h
88 endif
89
90 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
91
92
93 # All that, and we finally get a target...
94 all: $(TARGET) $(EXTRA_LIBS)
95