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.
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.
11 ######################################################################
12 # Copy debugger related scripts
13 ######################################################################
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
))
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
))
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
))
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
))
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
)
52 # $(1) - the stage to copy to
53 # $(2) - the host triple
54 define DEF_INSTALL_DEBUGGER_SCRIPTS_HOST
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
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
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
86 tmp
/install-debugger-scripts
$(1)_H_
$(2)-none.done
:
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
)))))
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
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
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
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
131 tmp
/install-debugger-scripts
$(1)_T_
$(2)_H_
$(3)-none.done
:
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
))))))