chiark / gitweb /
bin/sandwich: Run the toolchain nicely.
[rsv] / Makefile
1 ### -*-makefile-*-
2
3 .SECONDEXPANSION:
4 all:
5 clean::
6 install::
7 .PHONY: all clean install
8
9 %/:; mkdir -p $*
10
11 INSTFILES                =
12 INSTDIRS                 =
13
14 INSTFILES               += profile
15 profile_SOURCE           = profile
16 profile_DEST             = $(HOME)/.profile
17
18 INSTDIRS                += bin
19 bin_DIR                  = $(HOME)/bin
20 bin_MODE                 = 775
21 bin_FILES                =
22 bin_FILES               += bin/rustup-init
23 bin_FILES               += bin/sandwich
24
25 INSTDIRS                += userv
26 userv_DIR                = $(HOME)/.userv
27 userv_FILES              =
28 userv_FILES             += userv/rc
29
30 INSTDIRS                += services
31 services_DIR             = $(HOME)/.userv/services.d
32 services_FILES           =
33 services_FILES          += userv/sandwich
34
35 install:: $(foreach f,$(INSTFILES), install/$f)
36 $(foreach f,$(INSTFILES),  install/$f): \
37                 install/%: $$($$*_SOURCE) | $$(dir $$($$*_DEST))
38         install -m$(or $($*_MODE),664) $($*_SOURCE) $($*_DEST)
39 .PHONY: $(foreach d,$(INSTFILES),  install/$f)
40
41 install:: $(foreach d,$(INSTDIRS), install/$d)
42 $(foreach d,$(INSTDIRS),  install/$d): \
43                 install/%: $$($$*_FILES) | $$($$*_DIR)/
44         install -m$(or $($*_MODE),664) $($*_FILES) $($*_DIR)/
45 .PHONY: $(foreach d,$(INSTDIRS),  install/$d)
46
47 install:: | $(HOME)/CARGO/
48 install:: | $(HOME)/RUSTUP/