DEPLOY_PATH?=$(deploy_path)/output
GITIGNORE_RSC=$(shell [ -f .gitignore ] && sed ':a;N;s/\n/|/;ta' .gitignore)
DEPLOY_RSC=$(shell ls | sed 's/ /\n/g' | grep -vE "$(GITIGNORE_RSC)")deploy:
install -d $(DEPLOY_PATH)
for FN in $(DEPLOY_RSC);do cp -r $$FN $(DEPLOY_PATH);done
说明:该伪目标实现的是将工程中除了 .gitignore 文件中指定的忽略的文件或目录,复制到部署目录。
.gitignore 文件内容为
Debug
*.o
*.so
output
.libs
部署:
make deploy DEPLOY_PATH=$suit_yourself_path