]> git.lizzy.rs Git - rust.git/blob - mk/debuggers.mk
Auto merge of #27630 - sylvestre:master, r=dotdash
[rust.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_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))
23
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))
28
29
30 ## LLDB ##
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))
36
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))
41
42
43 ## ALL ##
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)
52
53
54 # $(1) - the stage to copy to
55 # $(2) - the host triple
56 define DEF_INSTALL_DEBUGGER_SCRIPTS_HOST
57
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
67
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
77
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
87
88 tmp/install-debugger-scripts$(1)_H_$(2)-none.done:
89         $(Q)touch $$@
90
91 endef
92
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)))))
97
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
102
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
112
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
122
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
132
133 tmp/install-debugger-scripts$(1)_T_$(2)_H_$(3)-none.done:
134         $(Q)touch $$@
135
136 endef
137
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))))))