21 |
21 |
22 ifeq '' '$(HOME)' |
22 ifeq '' '$(HOME)' |
23 $(error HOME env var not set!) |
23 $(error HOME env var not set!) |
24 endif |
24 endif |
25 |
25 |
|
26 uname-s := $(shell uname -s) |
|
27 |
26 host_os = linux |
28 host_os = linux |
27 ifneq '' '$(COMSPEC)' |
29 ifneq '' '$(filter CYGWIN%,$(uname-s))' |
28 host_os = cygwin |
30 host_os = cygwin |
29 endif |
31 endif |
|
32 ifeq 'SunOS' '$(uname-s)' |
|
33 host_os = solaris |
|
34 endif |
30 |
35 |
31 ################################################################ |
36 ################################################################ |
32 # Build tool definition/switches. |
37 # Build tool definition/switches. |
|
38 |
|
39 INSTALL_DATA := install -m 640 |
|
40 ifeq '$(host_os)' 'solaris' |
|
41 INSTALL_DATA := ginstall -m 640 |
|
42 endif |
33 |
43 |
34 RST2HTML = rst2html |
44 RST2HTML = rst2html |
35 ifeq '$(host_os)' 'cygwin' |
45 ifeq '$(host_os)' 'cygwin' |
36 RST2HTML = rst2html.py |
46 RST2HTML = rst2html.py |
37 endif |
47 endif |
70 |
80 |
71 .PHONY: install |
81 .PHONY: install |
72 install: |
82 install: |
73 for item in $(OVERRIDDEN_ITEMS); do \ |
83 for item in $(OVERRIDDEN_ITEMS); do \ |
74 if [ -f $$item ]; then \ |
84 if [ -f $$item ]; then \ |
75 install -m 640 $$item $(HOME)/$$item; \ |
85 $(INSTALL_DATA) $$item $(HOME)/$$item; \ |
76 fi; \ |
86 fi; \ |
77 if [ -d $$item ]; then \ |
87 if [ -d $$item ]; then \ |
78 for file in `find $$item`; do \ |
88 for file in `find $$item`; do \ |
79 if [ -d $$file ]; then \ |
89 if [ -d $$file ]; then \ |
80 mkdir -p $(HOME)/$$file; \ |
90 mkdir -p $(HOME)/$$file; \ |
81 continue; \ |
91 continue; \ |
82 fi; \ |
92 fi; \ |
83 install -m 640 $$file $(HOME)/$$file; \ |
93 $(INSTALL_DATA) $$file $(HOME)/$$file; \ |
84 done; \ |
94 done; \ |
85 fi; \ |
95 fi; \ |
86 done |
96 done |
87 chmod 700 ~/.gnupg/ |
97 chmod 700 ~/.gnupg/ |
88 chmod a+x ~/.fvwm/FvwmKbdd.pl ~/.fvwm/xinit |
98 chmod a+x ~/.fvwm/FvwmKbdd.pl ~/.fvwm/xinit |
96 echo "AddToMenu MenuMyRoot $$fname Popup Menu-$$fname" >>~/.fvwm/config; \ |
106 echo "AddToMenu MenuMyRoot $$fname Popup Menu-$$fname" >>~/.fvwm/config; \ |
97 done |
107 done |
98 mkdir -p ~/.screenshot |
108 mkdir -p ~/.screenshot |
99 for item in $(IFNONEXIST_ITEMS); do \ |
109 for item in $(IFNONEXIST_ITEMS); do \ |
100 if [ -f $$item -a ! -f $(HOME)/$$item ]; then \ |
110 if [ -f $$item -a ! -f $(HOME)/$$item ]; then \ |
101 install -m 640 $$item $(HOME)/$$item; \ |
111 $(INSTALL_DATA) $$item $(HOME)/$$item; \ |
102 fi; \ |
112 fi; \ |
103 if [ -d $$item ]; then \ |
113 if [ -d $$item ]; then \ |
104 for file in `find $$item`; do \ |
114 for file in `find $$item`; do \ |
105 if [ -d $$file ]; then \ |
115 if [ -d $$file ]; then \ |
106 mkdir -p $(HOME)/$$file; \ |
116 mkdir -p $(HOME)/$$file; \ |
107 continue; \ |
117 continue; \ |
108 fi; \ |
118 fi; \ |
109 if [ ! -f $(HOME)/$$file ]; then \ |
119 if [ ! -f $(HOME)/$$file ]; then \ |
110 install -m 640 $$file $(HOME)/$$file; \ |
120 $(INSTALL_DATA) $$file $(HOME)/$$file; \ |
111 fi; \ |
121 fi; \ |
112 done; \ |
122 done; \ |
113 fi; \ |
123 fi; \ |
114 done |
124 done |
115 chmod a+x ~/.xinitrc ~/.xserverrc |
125 chmod a+x ~/.xinitrc ~/.xserverrc |
123 vminor=$${v#*.}; \ |
133 vminor=$${v#*.}; \ |
124 vminor=$${vminor%.*}; \ |
134 vminor=$${vminor%.*}; \ |
125 if [ $$vmajor -gt 4 -o '(' $$vmajor -eq 4 -a $$vminor -ge 8 ')' ]; then \ |
135 if [ $$vmajor -gt 4 -o '(' $$vmajor -eq 4 -a $$vminor -ge 8 ')' ]; then \ |
126 mkdir -p $(HOME)/.config/mc $(HOME)/.local/share/mc/; \ |
136 mkdir -p $(HOME)/.config/mc $(HOME)/.local/share/mc/; \ |
127 umask 0117; \ |
137 umask 0117; \ |
128 install -m 640 .local/share/mc/bashrc $(HOME)/.local/share/mc/; \ |
138 $(INSTALL_DATA) .local/share/mc/bashrc $(HOME)/.local/share/mc/; \ |
129 cat .config/mc/mc.ext /etc/mc/mc.ext > $(HOME)/.config/mc/mc.ext; \ |
139 cat .config/mc/mc.ext /etc/mc/mc.ext > $(HOME)/.config/mc/mc.ext; \ |
130 { \ |
140 { \ |
131 echo 'default/*'; \ |
141 echo 'default/*'; \ |
132 echo ' Open=file %f'; \ |
142 echo ' Open=file %f'; \ |
133 echo ' Edit=[ `du -m %f | { read size rest; echo $$size; }` -le 4 ] && e %f || echo Too large file for Emacs...'; \ |
143 echo ' Edit=[ `du -m %f | { read size rest; echo $$size; }` -le 4 ] && e %f || echo Too large file for Emacs...'; \ |
134 } >>$(HOME)/.config/mc/mc.ext; \ |
144 } >>$(HOME)/.config/mc/mc.ext; \ |
135 else \ |
145 else \ |
136 mkdir -p $(HOME)/.mc; \ |
146 mkdir -p $(HOME)/.mc; \ |
137 install -m 640 .local/share/mc/bashrc $(HOME)/.mc; \ |
147 $(INSTALL_DATA) .local/share/mc/bashrc $(HOME)/.mc; \ |
138 install -m 640 .config/mc/mc.ext $(HOME)/.mc/bindings; \ |
148 $(INSTALL_DATA) .config/mc/mc.ext $(HOME)/.mc/bindings; \ |
139 fi |
149 fi |
140 if command -v file 1>/dev/null; then \ |
150 if command -v file 1>/dev/null; then \ |
141 install -m 640 .magic $(HOME); \ |
151 $(INSTALL_DATA) .magic $(HOME); \ |
142 cd $(HOME); \ |
152 cd $(HOME); \ |
143 file --compile -m .magic; \ |
153 file --compile -m .magic; \ |
144 fi |
154 fi |
145 mkdir -p $(HOME)/.local/share/applications/ |
155 mkdir -p $(HOME)/.local/share/applications/ |
146 install -m 640 .local/share/applications/mimeapps.list $(HOME)/.local/share/applications/ |
156 $(INSTALL_DATA) .local/share/applications/mimeapps.list $(HOME)/.local/share/applications/ |
147 |
157 |
148 .PHONY: uninstall |
158 .PHONY: uninstall |
149 uninstall: |
159 uninstall: |
150 for item in $(OVERRIDDEN_ITEMS); do \ |
160 for item in $(OVERRIDDEN_ITEMS); do \ |
151 if [ -f $$item ]; then \ |
161 if [ -f $$item ]; then \ |