]> git.proxmox.com Git - rustc.git/blob - mk/debuggers.mk
e6a2174f84a82dab0104b0520535561d298aa692
[rustc.git] / mk / debuggers.mk
1 # Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2 # file at the top-level directory of this distribution and at
3 # http://rust-lang.org/COPYRIGHT.
4 #
5 # Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 # http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 # <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 # option. This file may not be copied, modified, or distributed
9 # except according to those terms.
10
11 ######################################################################
12 # Copy debugger related scripts
13 ######################################################################
14
15
16 ## GDB ##
17 DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB=gdb_load_rust_pretty_printers.py \
18 gdb_rust_pretty_printing.py
19 DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS=\
20 $(foreach script,$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB), \
21 $(CFG_SRC_DIR)src/etc/$(script))
22
23 DEBUGGER_BIN_SCRIPTS_GDB=rust-gdb
24 DEBUGGER_BIN_SCRIPTS_GDB_ABS=\
25 $(foreach script,$(DEBUGGER_BIN_SCRIPTS_GDB), \
26 $(CFG_SRC_DIR)src/etc/$(script))
27
28
29 ## LLDB ##
30 DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB=lldb_rust_formatters.py
31 DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS=\
32 $(foreach script,$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB), \
33 $(CFG_SRC_DIR)src/etc/$(script))
34
35 DEBUGGER_BIN_SCRIPTS_LLDB=rust-lldb
36 DEBUGGER_BIN_SCRIPTS_LLDB_ABS=\
37 $(foreach script,$(DEBUGGER_BIN_SCRIPTS_LLDB), \
38 $(CFG_SRC_DIR)src/etc/$(script))
39
40
41 ## ALL ##
42 DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL=$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB) \
43 $(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB)
44 DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS=$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) \
45 $(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS)
46 DEBUGGER_BIN_SCRIPTS_ALL=$(DEBUGGER_BIN_SCRIPTS_GDB) \
47 $(DEBUGGER_BIN_SCRIPTS_LLDB)
48 DEBUGGER_BIN_SCRIPTS_ALL_ABS=$(DEBUGGER_BIN_SCRIPTS_GDB_ABS) \
49 $(DEBUGGER_BIN_SCRIPTS_LLDB_ABS)
50
51
52 # $(1) - the stage to copy to
53 # $(2) - the host triple
54 define DEF_INSTALL_DEBUGGER_SCRIPTS_HOST
55
56 tmp/install-debugger-scripts$(1)_H_$(2)-gdb.done: \
57 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) \
58 $$(DEBUGGER_BIN_SCRIPTS_GDB_ABS)
59 $(Q)touch $$@.start_time
60 $(Q)mkdir -p $$(HBIN$(1)_H_$(2))
61 $(Q)mkdir -p $$(HLIB$(1)_H_$(2))/rustlib/etc
62 $(Q)install $$(DEBUGGER_BIN_SCRIPTS_GDB_ABS) $$(HBIN$(1)_H_$(2))
63 $(Q)install $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) $$(HLIB$(1)_H_$(2))/rustlib/etc
64 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
65
66 tmp/install-debugger-scripts$(1)_H_$(2)-lldb.done: \
67 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) \
68 $$(DEBUGGER_BIN_SCRIPTS_LLDB_ABS)
69 $(Q)touch $$@.start_time
70 $(Q)mkdir -p $$(HBIN$(1)_H_$(2))
71 $(Q)mkdir -p $$(HLIB$(1)_H_$(2))/rustlib/etc
72 $(Q)install $$(DEBUGGER_BIN_SCRIPTS_LLDB_ABS) $$(HBIN$(1)_H_$(2))
73 $(Q)install $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) $$(HLIB$(1)_H_$(2))/rustlib/etc
74 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
75
76 tmp/install-debugger-scripts$(1)_H_$(2)-all.done: \
77 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS) \
78 $$(DEBUGGER_BIN_SCRIPTS_ALL_ABS)
79 $(Q)touch $$@.start_time
80 $(Q)mkdir -p $$(HBIN$(1)_H_$(2))
81 $(Q)mkdir -p $$(HLIB$(1)_H_$(2))/rustlib/etc
82 $(Q)install $$(DEBUGGER_BIN_SCRIPTS_ALL_ABS) $$(HBIN$(1)_H_$(2))
83 $(Q)install $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS) $$(HLIB$(1)_H_$(2))/rustlib/etc
84 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
85
86 tmp/install-debugger-scripts$(1)_H_$(2)-none.done:
87 $(Q)touch $$@
88
89 endef
90
91 # Expand host make-targets for all stages
92 $(foreach stage,$(STAGES), \
93 $(foreach host,$(CFG_HOST), \
94 $(eval $(call DEF_INSTALL_DEBUGGER_SCRIPTS_HOST,$(stage),$(host)))))
95
96 # $(1) is the stage number
97 # $(2) is the target triple
98 # $(3) is the host triple
99 define DEF_INSTALL_DEBUGGER_SCRIPTS_TARGET
100
101 tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-gdb.done: \
102 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) \
103 $$(DEBUGGER_BIN_SCRIPTS_GDB_ABS)
104 $(Q)touch $$@.start_time
105 $(Q)mkdir -p $$(TBIN$(1)_T_$(2)_H_$(3))
106 $(Q)mkdir -p $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
107 $(Q)install $(DEBUGGER_BIN_SCRIPTS_GDB_ABS) $$(TBIN$(1)_T_$(2)_H_$(3))
108 $(Q)install $(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
109 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
110
111 tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-lldb.done: \
112 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) \
113 $$(DEBUGGER_BIN_SCRIPTS_LLDB_ABS)
114 $(Q)touch $$@.start_time
115 $(Q)mkdir -p $$(TBIN$(1)_T_$(2)_H_$(3))
116 $(Q)mkdir -p $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
117 $(Q)install $(DEBUGGER_BIN_SCRIPTS_LLDB_ABS) $$(TBIN$(1)_T_$(2)_H_$(3))
118 $(Q)install $(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
119 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
120
121 tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-all.done: \
122 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS) \
123 $$(DEBUGGER_BIN_SCRIPTS_ALL_ABS)
124 $(Q)touch $$@.start_time
125 $(Q)mkdir -p $$(TBIN$(1)_T_$(2)_H_$(3))
126 $(Q)mkdir -p $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
127 $(Q)install $(DEBUGGER_BIN_SCRIPTS_ALL_ABS) $$(TBIN$(1)_T_$(2)_H_$(3))
128 $(Q)install $(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS) $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
129 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
130
131 tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-none.done:
132 $(Q)touch $$@
133
134 endef
135
136 # Expand target make-targets for all stages
137 $(foreach stage,$(STAGES), \
138 $(foreach target,$(CFG_TARGET), \
139 $(foreach host,$(CFG_HOST), \
140 $(eval $(call DEF_INSTALL_DEBUGGER_SCRIPTS_TARGET,$(stage),$(target),$(host))))))