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=$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB) \
45 $(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB)
46 DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS=$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) \
47 $(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS)
48 DEBUGGER_BIN_SCRIPTS_ALL=$(DEBUGGER_BIN_SCRIPTS_GDB) \
49 $(DEBUGGER_BIN_SCRIPTS_LLDB)
50 DEBUGGER_BIN_SCRIPTS_ALL_ABS=$(DEBUGGER_BIN_SCRIPTS_GDB_ABS) \
51 $(DEBUGGER_BIN_SCRIPTS_LLDB_ABS)
54 # $(1) - the stage to copy to
55 # $(2) - the host triple
56 define DEF_INSTALL_DEBUGGER_SCRIPTS_HOST
58 tmp/install-debugger-scripts$(1)_H_$(2)-gdb.done: \
59 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) \
60 $$(DEBUGGER_BIN_SCRIPTS_GDB_ABS)
61 $(Q)touch $$@.start_time
62 $(Q)mkdir -p $$(HBIN$(1)_H_$(2))
63 $(Q)mkdir -p $$(HLIB$(1)_H_$(2))/rustlib/etc
64 $(Q)install $$(DEBUGGER_BIN_SCRIPTS_GDB_ABS) $$(HBIN$(1)_H_$(2))
65 $(Q)install $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) $$(HLIB$(1)_H_$(2))/rustlib/etc
66 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
68 tmp/install-debugger-scripts$(1)_H_$(2)-lldb.done: \
69 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) \
70 $$(DEBUGGER_BIN_SCRIPTS_LLDB_ABS)
71 $(Q)touch $$@.start_time
72 $(Q)mkdir -p $$(HBIN$(1)_H_$(2))
73 $(Q)mkdir -p $$(HLIB$(1)_H_$(2))/rustlib/etc
74 $(Q)install $$(DEBUGGER_BIN_SCRIPTS_LLDB_ABS) $$(HBIN$(1)_H_$(2))
75 $(Q)install $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) $$(HLIB$(1)_H_$(2))/rustlib/etc
76 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
78 tmp/install-debugger-scripts$(1)_H_$(2)-all.done: \
79 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS) \
80 $$(DEBUGGER_BIN_SCRIPTS_ALL_ABS)
81 $(Q)touch $$@.start_time
82 $(Q)mkdir -p $$(HBIN$(1)_H_$(2))
83 $(Q)mkdir -p $$(HLIB$(1)_H_$(2))/rustlib/etc
84 $(Q)install $$(DEBUGGER_BIN_SCRIPTS_ALL_ABS) $$(HBIN$(1)_H_$(2))
85 $(Q)install $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS) $$(HLIB$(1)_H_$(2))/rustlib/etc
86 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
88 tmp/install-debugger-scripts$(1)_H_$(2)-none.done:
93 # Expand host make-targets for all stages
94 $(foreach stage,$(STAGES), \
95 $(foreach host,$(CFG_HOST), \
96 $(eval $(call DEF_INSTALL_DEBUGGER_SCRIPTS_HOST,$(stage),$(host)))))
98 # $(1) is the stage number
99 # $(2) is the target triple
100 # $(3) is the host triple
101 define DEF_INSTALL_DEBUGGER_SCRIPTS_TARGET
103 tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-gdb.done: \
104 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) \
105 $$(DEBUGGER_BIN_SCRIPTS_GDB_ABS)
106 $(Q)touch $$@.start_time
107 $(Q)mkdir -p $$(TBIN$(1)_T_$(2)_H_$(3))
108 $(Q)mkdir -p $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
109 $(Q)install $(DEBUGGER_BIN_SCRIPTS_GDB_ABS) $$(TBIN$(1)_T_$(2)_H_$(3))
110 $(Q)install $(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
111 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
113 tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-lldb.done: \
114 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) \
115 $$(DEBUGGER_BIN_SCRIPTS_LLDB_ABS)
116 $(Q)touch $$@.start_time
117 $(Q)mkdir -p $$(TBIN$(1)_T_$(2)_H_$(3))
118 $(Q)mkdir -p $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
119 $(Q)install $(DEBUGGER_BIN_SCRIPTS_LLDB_ABS) $$(TBIN$(1)_T_$(2)_H_$(3))
120 $(Q)install $(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS) $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
121 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
123 tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-all.done: \
124 $$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS) \
125 $$(DEBUGGER_BIN_SCRIPTS_ALL_ABS)
126 $(Q)touch $$@.start_time
127 $(Q)mkdir -p $$(TBIN$(1)_T_$(2)_H_$(3))
128 $(Q)mkdir -p $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
129 $(Q)install $(DEBUGGER_BIN_SCRIPTS_ALL_ABS) $$(TBIN$(1)_T_$(2)_H_$(3))
130 $(Q)install $(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS) $$(TLIB$(1)_T_$(2)_H_$(3))/rustlib/etc
131 $(Q)touch -r $$@.start_time $$@ && rm $$@.start_time
133 tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-none.done:
138 # Expand target make-targets for all stages
139 $(foreach stage,$(STAGES), \
140 $(foreach target,$(CFG_TARGET), \
141 $(foreach host,$(CFG_HOST), \
142 $(eval $(call DEF_INSTALL_DEBUGGER_SCRIPTS_TARGET,$(stage),$(target),$(host))))))