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/