Merge branch 'dyninst_proccontrol' of ssh://git.dyninst.org/pub/dyninst into dyninst_...
[dyninst.git] / make.components
1 #Don't add tests to Everything
2 Everything = dynutil common symtabAPI instructionAPI parseAPI patchAPI proccontrol stackwalk dyninstAPI_RT dyninstAPI dynC_API
3
4 #List of tests
5 Everything_tests = testsuite parseThat
6 #List dependencies for components here, followed by the component directory
7 dynutil = 
8 common = dynutil common
9 symtabAPI = dynutil common symtabAPI
10 stackwalk = dynutil common proccontrol stackwalk
11 dyninstAPI = dynutil common symtabAPI instructionAPI parseAPI proccontrol stackwalk dyninstAPI_RT dyninstAPI
12 instructionAPI = dynutil common instructionAPI
13 proccontrol = dynutil common proccontrol
14 depGraphAPI = dynutil common depGraphAPI
15 parseAPI = dynutil common symtabAPI instructionAPI parseAPI
16 dataflowAPI = $(parseAPI)
17 patchAPI = dynutil common parseAPI
18 parseThat = $(dyninstAPI) parseThat
19 dynC_API = $(dyninstAPI) dynC_API
20 dyner = $(dyninstAPI) dyner
21 testsuite = testsuite
22 valueAdded = $(dyninstAPI) valueAdded/sharedMem
23
24 #List all components with tests here
25 test_comps = symtabAPI instructionAPI proccontrol dyninstAPI all patchAPI
26
27 DEFAULT_COMPONENT ?= default
28 ifeq ($(DEFAULT_COMPONENT),default)
29 fullSystem      = $(Everything)
30 BUILD_PARSETHAT = true
31 else
32 ifeq ($(DEFAULT_COMPONENT),SymtabAPI)
33 fullSystem = $(symtabAPI)
34 else
35 ifeq ($(DEFAULT_COMPONENT),StackwalkerAPI)
36 fullSystem = $(stackwalk)
37 else
38 ifeq ($(DEFAULT_COMPONENT),DyninstAPI)
39 fullSystem      = $(dyninstAPI)
40 BUILD_PARSETHAT = true
41 else
42 ifeq ($(DEFAULT_COMPONENT),InstructionAPI)
43 fullSystem = $(instructionAPI)
44 else
45 ifeq ($(DEFAULT_COMPONENT),ProcControlAPI)
46 fullSystem = $(proccontrol)
47 else
48 ifeq ($(DEFAULT_COMPONENT),ParseAPI)
49 fullSystem = $(parseAPI)
50 else
51 ifeq ($(DEFAULT_COMPONENT),DataflowAPI)
52 fullSystem = $(parseAPI)
53 else
54 default:
55         @echo Error: Build system does not have a valid default component: $(DEFAULT_COMPONENT)
56 endif
57 endif
58 endif
59 endif
60 endif
61 endif
62 endif
63 endif
64
65 ifndef DONT_BUILD_NEWTESTSUITE
66 testsuites += testsuite
67 fullSystem += testsuite
68 ifdef BUILD_PARSETHAT
69 testsuites += parseThat
70 fullSystem += parseThat
71 testsuite: parseThat
72 testsuite_install: parseThat_install
73 endif
74 endif
75
76
77 fullSystem_install = $(patsubst %,%_install,$(fullSystem))
78 Everything_install = $(patsubst %,%_install,$(Everything))
79 Everything_tests_install = $(patsubst %,%_install,$(Everything_tests))
80
81 Test_targets = $(patsubst %,%_testsuite,$(test_comps))
82
83 fullSystem_notests = $(filter-out testsuite,$(filter-out parseThat,$(fullSystem)))
84 fullSystem_install_notests = $(filter-out testsuite_install,$(filter-out parseThat_install,$(fullSystem_install)))