Fix typo in i386 build
[dyninst.git] / make.components
1 #Don't add tests or parseThat to Everything
2 Everything = dynutil common elf dwarf symlite symtabAPI instructionAPI parseAPI patchAPI proccontrol stackwalk dyninstAPI_RT dyninstAPI dynC_API
3
4 Common          = dynutil common
5 Dwarf           = ${Common} dwarf
6 Elf             = ${Common} elf
7 SymLite         = ${Elf} symlite
8 SymtabAPI       = ${Common} ${Elf} ${Dwarf} symtabAPI
9 InstructionAPI  = ${Common} instructionAPI
10 ParseAPI        = ${Common} ${SymtabAPI} ${SymLite} ${InstructionAPI} parseAPI
11 DataflowAPI     = ${ParseAPI}
12 PatchAPI        = ${ParseAPI} patchAPI
13 ProcControlAPI  = ${SymLite} proccontrol
14 DynC_API        = ${DyninstAPI} dynC_API
15 Dyner           = ${DyninstAPI} dyner
16
17 StackwalkerAPI  = ${ProcControlAPI}
18 ifndef WITHOUT_PARSE_API
19 StackwalkerAPI += ${ParseAPI} ${InstructionAPI}
20 endif
21 ifndef WITHOUT_SYMTAB_API
22 StackwalkerAPI += ${SymtabAPI}
23 endif
24 StackwalkerAPI += stackwalk
25
26 DyninstAPI      = ${Common} ${SymtabAPI} ${InstructionAPI} ${PatchAPI} ${ProcControlAPI} ${SymLite} ${StackwalkerAPI}  dyninstAPI_RT dyninstAPI
27
28 ValueAdded = valueAdded/sharedMem
29
30 #List of tests
31 Everything_tests = testsuite parseThat
32
33 #Map of directories to dependencies.  Use sort to remove duplicates
34 dynutil = 
35 common = $(sort $(Common))
36 symlite = $(sort $(SymLite))
37 elf = $(sort $(Elf))
38 dwarf = $(sort $(Dwarf))
39 symtabAPI = $(sort $(SymtabAPI))
40 instructionAPI = $(sort $(InstructionAPI))
41 proccontrol = $(sort $(ProcControlAPI))
42 stackwalk = $(sort $(StackwalkerAPI))
43 parseAPI = $(sort $(ParseAPI))
44 dataflowAPI = $(sort $(ParseAPI))
45 patchAPI = $(sort $(PatchAPI))
46 dyninstAPI = $(sort $(DyninstAPI))
47 parseThat = $(sort $(DyninstAPI) parseThat)
48 dynC_API = $(sort $(DynC_API))
49 dyner = $(sort $(Dyner))
50 valueAdded = $(sort $(DyninstAPI) valueAdded/sharedMem)
51
52 #List all components with tests here
53 testsuite = testsuite
54 test_comps = symtabAPI instructionAPI patchAPI proccontrol dyninstAPI all
55
56 DEFAULT_COMPONENT ?= default
57 PLATFORM_DEFAULT_COMPONENT ?= $(Everything)
58
59 ifeq ($(DEFAULT_COMPONENT),default)
60 fullSystem= $(PLATFORM_DEFAULT_COMPONENT)
61 else
62 ifeq ($(DEFAULT_COMPONENT),SymtabAPI)
63 fullSystem = $(symtabAPI)
64 else
65 ifeq ($(DEFAULT_COMPONENT),StackwalkerAPI)
66 fullSystem = $(stackwalk)
67 else
68 ifeq ($(DEFAULT_COMPONENT),DyninstAPI)
69 fullSystem      = $(dyninstAPI)
70 else
71 ifeq ($(DEFAULT_COMPONENT),InstructionAPI)
72 fullSystem = $(instructionAPI)
73 else
74 ifeq ($(DEFAULT_COMPONENT),ProcControlAPI)
75 fullSystem = $(proccontrol)
76 else
77 ifeq ($(DEFAULT_COMPONENT),ParseAPI)
78 fullSystem = $(parseAPI)
79 else
80 ifeq ($(DEFAULT_COMPONENT),DataflowAPI)
81 fullSystem = $(parseAPI)
82 else
83 ifeq ($(DEFAULT_COMPONENT),PatchAPI)
84 fullSystem = $(patchAPI)
85 else
86 default:
87         @echo Error: Build system does not have a valid default component: $(DEFAULT_COMPONENT)
88 endif # PatchAPI
89 endif # DataflowAPI
90 endif # ParseAPI
91 endif # ProcControlAPI
92 endif # InstructionAPI
93 endif # DyninstAPI
94 endif # StackwalkerAPI
95 endif # SymtabAPI
96 endif # default
97
98 ifndef DONT_BUILD_NEWTESTSUITE
99 ifeq ($(findstring dyninstAPI,$(fullSystem)),dyninstAPI)
100 BUILD_PARSETHAT ?= true
101 endif
102 testsuites += testsuite
103 fullSystem += testsuite
104 ifeq (x$(BUILD_PARSETHAT),xtrue)
105 testsuites += parseThat
106 fullSystem += parseThat
107 testsuite: parseThat
108 testsuite_install: parseThat_install
109 endif
110 endif
111
112 fullSystem_install = $(patsubst %,%_install,$(fullSystem))
113 Everything_install = $(patsubst %,%_install,$(Everything))
114 Everything_tests_install = $(patsubst %,%_install,$(Everything_tests))
115
116 Test_targets = $(patsubst %,%_testsuite,$(test_comps))
117
118 fullSystem_notests = $(filter-out testsuite,$(filter-out parseThat,$(fullSystem)))
119 fullSystem_install_notests = $(filter-out testsuite_install,$(filter-out parseThat_install,$(fullSystem_install)))