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_pretty_printers_common.py
20 DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS=\
21 $(foreach script,$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB), \
22 $(CFG_SRC_DIR)src/etc/$(script))
24 DEBUGGER_BIN_SCRIPTS_GDB=rust-gdb
25 DEBUGGER_BIN_SCRIPTS_GDB_ABS=\
26 $(foreach script,$(DEBUGGER_BIN_SCRIPTS_GDB), \
27 $(CFG_SRC_DIR)src/etc/$(script))
31 DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB=lldb_rust_formatters.py \
32 debugger_pretty_printers_common.py
33 DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS=\
34 $(foreach script,$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB), \
35 $(CFG_SRC_DIR)src/etc/$(script))
37 DEBUGGER_BIN_SCRIPTS_LLDB=rust-lldb
38 DEBUGGER_BIN_SCRIPTS_LLDB_ABS=\
39 $(foreach script,$(DEBUGGER_BIN_SCRIPTS_LLDB), \
40 $(CFG_SRC_DIR)src/etc/$(script))
44 DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL=gdb_load_rust_pretty_printers.py \
45 gdb_rust_pretty_printing.py \
46 lldb_rust_formatters.py \
47 debugger_pretty_printers_common.py
48 DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS=\
49 $(foreach script,$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL), \
50 $(CFG_SRC_DIR)src/etc/$(script))
51 DEBUGGER_BIN_SCRIPTS_ALL=$(DEBUGGER_BIN_SCRIPTS_GDB) \
52 $(DEBUGGER_BIN_SCRIPTS_LLDB)
53 DEBUGGER_BIN_SCRIPTS_ALL_ABS=$(DEBUGGER_BIN_SCRIPTS_GDB_ABS) \
54 $(DEBUGGER_BIN_SCRIPTS_LLDB_ABS)
57 # $(1) - the stage to copy to
58 # $(2) - the host triple
59 define DEF_INSTALL_DEBUGGER_SCRIPTS_HOST
61 tmp/install-debugger-scripts$(1)_H_$(2)-gdb.done: \
62 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) \
63 $$(DEBUGGER_BIN_SCRIPTS_GDB_ABS)
64 $(Q)touch $$@.start_time
65 $(Q)mkdir -p $$(HBIN$(1)_H_$(2))
66 $(Q)mkdir -p $$(HLIB$(1)_H_$(2))/rustlib/etc
67 $(Q)install $$(DEBUGGER_BIN_SCRIPTS_GDB_ABS) $$(HBIN$(1)_H_$(2))
68 $(Q)install $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) $$(HLIB$(1)_H_$(2))/rustlib/etc
69 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
71 tmp/install-debugger-scripts$(1)_H_$(2)-lldb.done: \
72 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) \
73 $$(DEBUGGER_BIN_SCRIPTS_LLDB_ABS)
74 $(Q)touch $$@.start_time
75 $(Q)mkdir -p $$(HBIN$(1)_H_$(2))
76 $(Q)mkdir -p $$(HLIB$(1)_H_$(2))/rustlib/etc
77 $(Q)install $$(DEBUGGER_BIN_SCRIPTS_LLDB_ABS) $$(HBIN$(1)_H_$(2))
78 $(Q)install $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) $$(HLIB$(1)_H_$(2))/rustlib/etc
79 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
81 tmp/install-debugger-scripts$(1)_H_$(2)-all.done: \
82 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS) \
83 $$(DEBUGGER_BIN_SCRIPTS_ALL_ABS)
84 $(Q)touch $$@.start_time
85 $(Q)mkdir -p $$(HBIN$(1)_H_$(2))
86 $(Q)mkdir -p $$(HLIB$(1)_H_$(2))/rustlib/etc
87 $(Q)install $$(DEBUGGER_BIN_SCRIPTS_ALL_ABS) $$(HBIN$(1)_H_$(2))
88 $(Q)install $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS) $$(HLIB$(1)_H_$(2))/rustlib/etc
89 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
91 tmp/install-debugger-scripts$(1)_H_$(2)-none.done:
96 # Expand host make-targets for all stages
97 $(foreach stage,$(STAGES), \
98 $(foreach host,$(CFG_HOST), \
99 $(eval $(call DEF_INSTALL_DEBUGGER_SCRIPTS_HOST,$(stage),$(host)))))
101 # $(1) is the stage number
102 # $(2) is the target triple
103 # $(3) is the host triple
104 define DEF_INSTALL_DEBUGGER_SCRIPTS_TARGET
106 tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-gdb.done: \
107 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) \
108 $$(DEBUGGER_BIN_SCRIPTS_GDB_ABS)
109 $(Q)touch $$@.start_time
110 $(Q)mkdir -p $$(TBIN$(1)_T_$(2)_H_$(3))
111 $(Q)mkdir -p $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
112 $(Q)install $(DEBUGGER_BIN_SCRIPTS_GDB_ABS) $$(TBIN$(1)_T_$(2)_H_$(3))
113 $(Q)install $(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
114 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
116 tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-lldb.done: \
117 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) \
118 $$(DEBUGGER_BIN_SCRIPTS_LLDB_ABS)
119 $(Q)touch $$@.start_time
120 $(Q)mkdir -p $$(TBIN$(1)_T_$(2)_H_$(3))
121 $(Q)mkdir -p $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
122 $(Q)install $(DEBUGGER_BIN_SCRIPTS_LLDB_ABS) $$(TBIN$(1)_T_$(2)_H_$(3))
123 $(Q)install $(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
124 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
126 tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-all.done: \
127 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS) \
128 $$(DEBUGGER_BIN_SCRIPTS_ALL_ABS)
129 $(Q)touch $$@.start_time
130 $(Q)mkdir -p $$(TBIN$(1)_T_$(2)_H_$(3))
131 $(Q)mkdir -p $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
132 $(Q)install $(DEBUGGER_BIN_SCRIPTS_ALL_ABS) $$(TBIN$(1)_T_$(2)_H_$(3))
133 $(Q)install $(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS) $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
134 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
136 tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-none.done:
141 # Expand target make-targets for all stages
142 $(foreach stage,$(STAGES), \
143 $(foreach target,$(CFG_TARGET), \
144 $(foreach host,$(CFG_HOST), \
145 $(eval $(call DEF_INSTALL_DEBUGGER_SCRIPTS_TARGET,$(stage),$(target),$(host))))))