awips2/nativeLib/build.native/makefile.copy
2017-03-14 15:05:59 -05:00

49 lines
No EOL
1.4 KiB
Text

# copies files from one location to another
.SILENT:
uninstall_script=uninstall~
init:
ifndef INSTALL_FROM
echo INSTALL_FROM is not defined
echo set the environment variable INSTALL_FROM to indicate the source directory
exit 1
endif
ifndef INSTALL_TO
echo INSTALL_TO is not defined
echo set the environment variable INSTALL_TO to indicate the dest. directory
exit 1
endif
clean: init uninstall
# remove the uninstall script
rm -f $(uninstall_script)
uninstall: $(uninstall_script)
# execute the uninstall script
bash $(uninstall_script)
all: init uninstall
# copies files from environment variable INSTALL_FROM to INSTALL_TO
mkdir -p $(INSTALL_TO)
rsync -au --exclude="*~" --exclude=".svn" $(INSTALL_FROM)/ $(INSTALL_TO)
# finished
$(uninstall_script):
# create uninstall script
echo "cd $(INSTALL_TO); if [ \$$? != 0 ]; then exit 0; fi" > $(uninstall_script)
bash -c 'cd $(INSTALL_FROM); find . -type f -exec echo rm -f {} \;' >> $(uninstall_script)
bash -c 'cd $(INSTALL_FROM); find . -type l -exec echo unlink {} \;' >> $(uninstall_script)
bash -c 'cd $(INSTALL_FROM); find . -depth -type d -exec echo rmdir {} \;' >> $(uninstall_script)
echo "exit 0" >> $(uninstall_script)
sed -i -e "s|.*/.svn.*||" -e "s|.*~$$||" $(uninstall_script)
sed -i -e "s|rmdir .$$|cd ..; rmdir $$(basename $(INSTALL_TO))|" $(uninstall_script)
chmod a+x $(uninstall_script)
# finished
%:
# nothing to do
.PHONY: init all clean