git-secret/Makefile

170 lines
3.8 KiB
Makefile
Raw Normal View History

2016-03-12 21:35:05 +00:00
SHELL:=/usr/bin/env bash
2016-03-13 09:14:28 +00:00
PREFIX?="/usr"
2016-03-12 21:35:05 +00:00
2016-03-12 19:21:04 +00:00
#
# Building:
#
git-secret: src/version.sh src/_utils/* src/commands/* src/main.sh
@cat $^ > "$@"; \
chmod +x git-secret; sync
.PHONY: all
2016-02-21 13:26:17 +00:00
all: build
.PHONY: clean
2016-02-21 13:26:17 +00:00
clean:
@rm -f git-secret
.PHONY: build
2016-02-21 13:26:17 +00:00
build: git-secret
.PHONY: install
install:
@chmod +x "./utils/install.sh"; sync; \
"./utils/install.sh" "${PREFIX}"
.PHONY: uninstall
uninstall:
@chmod +x "./utils/uninstall.sh"; sync; \
"./utils/uninstall.sh" "${PREFIX}"
2016-03-12 19:21:04 +00:00
#
# Testing:
#
.PHONY: install-test
2016-02-21 13:26:17 +00:00
install-test:
@if [ ! -d "vendor/bats-core" ]; then \
git clone --depth 1 -b v1.0.2 https://github.com/bats-core/bats-core.git vendor/bats-core; \
fi
2016-02-21 13:26:17 +00:00
.PHONY: test
test: install-test clean build
@chmod +x "./utils/tests.sh"; sync; \
export SECRET_PROJECT_ROOT="${PWD}"; \
export PATH="${PWD}/vendor/bats-core/bin:${PWD}:${PATH}"; \
"./utils/tests.sh"
2016-02-21 13:26:17 +00:00
2016-03-12 19:21:04 +00:00
#
# Manuals:
#
.PHONY: install-ronn
2016-03-12 19:21:04 +00:00
install-ronn:
@if [ ! `gem list ronn -i` == "true" ]; then gem install ronn; fi
2016-02-21 13:26:17 +00:00
.PHONY: clean-man
clean-man:
@find "man/" -type f ! -name "*.ronn" -delete
.PHONY: build-man
build-man: install-ronn clean-man
@ronn --roff --organization="sobolevn" --manual="git-secret" man/*/*.ronn
2016-02-21 13:26:17 +00:00
.PHONY: build-gh-pages
2016-02-23 21:25:39 +00:00
build-gh-pages:
@chmod +x "./utils/gh-branch.sh"; sync; \
"./utils/gh-branch.sh"
2016-02-23 21:25:39 +00:00
2016-03-12 19:21:04 +00:00
#
# Development:
#
.PHONY: install-hooks
2016-02-21 13:26:17 +00:00
install-hooks:
@ln -fs "${PWD}/utils/hooks/pre-commit.sh" "${PWD}/.git/hooks/pre-commit"; \
chmod +x "${PWD}/.git/hooks/pre-commit"; sync; \
ln -fs "${PWD}/utils/hooks/post-commit.sh" "${PWD}/.git/hooks/post-commit"; \
chmod +x "${PWD}/.git/hooks/post-commit"; sync
2016-02-21 13:26:17 +00:00
.PHONY: develop
2016-02-21 13:26:17 +00:00
develop: clean build install-hooks
2016-03-12 19:21:04 +00:00
.PHONY: lint
lint:
@find src utils -type f -name '*.sh' -print0 | xargs -0 -I {} shellcheck {}
2016-03-12 19:21:04 +00:00
#
# Packaging:
#
.PHONY: install-fpm
2016-03-12 19:21:04 +00:00
install-fpm:
@if [ ! `gem list fpm -i` == "true" ]; then gem install fpm; fi
2017-11-27 21:46:27 +00:00
# .apk:
.PHONY: build-apk
build-apk: clean build install-fpm
@chmod +x "./utils/build-utils.sh"; sync; \
chmod +x "./utils/apk/apk-build.sh"; sync; \
export SECRET_PROJECT_ROOT="${PWD}"; \
"./utils/apk/apk-build.sh"
.PHONY: test-apk-ci
test-apk-ci: install-test build-apk
@chmod +x "./utils/apk/apk-ci.sh"; sync; \
export SECRET_PROJECT_ROOT="${PWD}"; \
export PATH="${PWD}/vendor/bats-core/bin:${PATH}"; \
"./utils/apk/apk-ci.sh"
.PHONY: deploy-apk
deploy-apk: build-apk
@chmod +x "./utils/apk/apk-deploy.sh"; sync; \
export SECRET_PROJECT_ROOT="${PWD}"; \
"./utils/apk/apk-deploy.sh"
# .deb:
2016-03-12 19:21:04 +00:00
.PHONY: build-deb
build-deb: clean build install-fpm
@chmod +x "./utils/build-utils.sh"; sync; \
chmod +x "./utils/deb/deb-build.sh"; sync; \
export SECRET_PROJECT_ROOT="${PWD}"; \
"./utils/deb/deb-build.sh"
.PHONY: test-deb-ci
test-deb-ci: install-test build-deb
@chmod +x "./utils/deb/deb-ci.sh"; sync; \
export SECRET_PROJECT_ROOT="${PWD}"; \
export PATH="${PWD}/vendor/bats-core/bin:${PATH}"; \
"./utils/deb/deb-ci.sh"
.PHONY: deploy-deb
deploy-deb: build-deb
@chmod +x "./utils/deb/deb-deploy.sh"; sync; \
export SECRET_PROJECT_ROOT="${PWD}"; \
"./utils/deb/deb-deploy.sh"
# .rpm:
.PHONY: build-rpm
build-rpm: clean build install-fpm
@chmod +x "./utils/build-utils.sh"; sync; \
chmod +x "./utils/rpm/rpm-build.sh"; sync; \
export SECRET_PROJECT_ROOT="${PWD}"; \
"./utils/rpm/rpm-build.sh"
.PHONY: test-rpm-ci
test-rpm-ci: install-test build-rpm
@chmod +x "./utils/rpm/rpm-ci.sh"; sync; \
export SECRET_PROJECT_ROOT="${PWD}"; \
export PATH="${PWD}/vendor/bats-core/bin:${PATH}"; \
"./utils/rpm/rpm-ci.sh"
.PHONY: deploy-rpm
deploy-rpm: build-rpm
@chmod +x "./utils/rpm/rpm-deploy.sh"; sync; \
export SECRET_PROJECT_ROOT="${PWD}"; \
"./utils/rpm/rpm-deploy.sh"
# make:
.PHONY: test-make-ci
test-make-ci: clean install-test
@chmod +x "./utils/make/make-ci.sh"; sync; \
export SECRET_PROJECT_ROOT="${PWD}"; \
export PATH="${PWD}/vendor/bats-core/bin:${PATH}"; \
"./utils/make/make-ci.sh"