Makefile
changeset 801 2657c198b9e2
parent 790 aab9b6f83061
child 802 d8ba282954cd
equal deleted inserted replaced
800:3af8147163dc 801:2657c198b9e2
    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 \