mirror of
https://github.com/Zygo/bees.git
synced 2025-05-17 21:35:45 +02:00
When package maintainers build from a tarball, the .git directory does not exist to extract the version tag. Let's add a hack to work around this issue and let them specify `BEES_VERSION="v0.y"` on the make cmdline. Github-Bug: https://github.com/Zygo/bees/issues/75 Signed-off-by: Kai Krakow <kai@kaishome.de>
84 lines
2.1 KiB
Makefile
84 lines
2.1 KiB
Makefile
PREFIX ?= /usr
|
|
ETC_PREFIX ?= /etc
|
|
LIBDIR ?= lib
|
|
|
|
LIB_PREFIX ?= $(PREFIX)/$(LIBDIR)
|
|
LIBEXEC_PREFIX ?= $(LIB_PREFIX)/bees
|
|
|
|
SYSTEMD_SYSTEM_UNIT_DIR ?= $(shell pkg-config systemd --variable=systemdsystemunitdir)
|
|
|
|
MARKDOWN := $(firstword $(shell type -P markdown markdown2 markdown_py 2>/dev/null || echo markdown))
|
|
|
|
BEES_VERSION ?= $(shell git describe --always --dirty || echo UNKNOWN)
|
|
|
|
# allow local configuration to override above variables
|
|
-include localconf
|
|
|
|
DEFAULT_MAKE_TARGET ?= reallyall
|
|
|
|
ifeq ($(DEFAULT_MAKE_TARGET),reallyall)
|
|
RUN_INSTALL_TESTS = test
|
|
endif
|
|
|
|
include Defines.mk
|
|
|
|
default: $(DEFAULT_MAKE_TARGET)
|
|
|
|
all: lib src scripts
|
|
docs: README.html
|
|
reallyall: all docs test
|
|
|
|
clean: ## Cleanup
|
|
git clean -dfx -e localconf
|
|
|
|
.PHONY: lib src test
|
|
|
|
lib: ## Build libs
|
|
$(MAKE) -C lib
|
|
|
|
src: ## Build bins
|
|
src: lib
|
|
$(MAKE) BEES_VERSION="$(BEES_VERSION)" -C src
|
|
|
|
test: ## Run tests
|
|
test: lib src
|
|
$(MAKE) -C test
|
|
|
|
scripts/%: scripts/%.in
|
|
$(TEMPLATE_COMPILER)
|
|
|
|
scripts: scripts/beesd scripts/beesd@.service
|
|
|
|
README.html: README.md
|
|
$(MARKDOWN) README.md > README.html.new
|
|
mv -f README.html.new README.html
|
|
|
|
install_libs: lib
|
|
install -Dm644 lib/libcrucible.so $(DESTDIR)$(LIB_PREFIX)/libcrucible.so
|
|
|
|
install_tools: ## Install support tools + libs
|
|
install_tools: install_libs src
|
|
install -Dm755 bin/fiemap $(DESTDIR)$(PREFIX)/bin/fiemap
|
|
install -Dm755 bin/fiewalk $(DESTDIR)$(PREFIX)/sbin/fiewalk
|
|
|
|
install_bees: ## Install bees + libs
|
|
install_bees: install_libs src $(RUN_INSTALL_TESTS)
|
|
install -Dm755 bin/bees $(DESTDIR)$(LIBEXEC_PREFIX)/bees
|
|
|
|
install_scripts: ## Install scipts
|
|
install_scripts: scripts
|
|
install -Dm755 scripts/beesd $(DESTDIR)$(PREFIX)/sbin/beesd
|
|
install -Dm644 scripts/beesd.conf.sample $(DESTDIR)/$(ETC_PREFIX)/bees/beesd.conf.sample
|
|
ifneq (SYSTEMD_SYSTEM_UNIT_DIR,)
|
|
install -Dm644 scripts/beesd@.service $(DESTDIR)$(SYSTEMD_SYSTEM_UNIT_DIR)/beesd@.service
|
|
endif
|
|
|
|
install: ## Install distribution
|
|
install: install_bees install_scripts $(OPTIONAL_INSTALL_TARGETS)
|
|
|
|
help: ## Show help
|
|
@fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//' | sed -e 's/##/\t/'
|
|
|
|
bees: reallyall
|
|
fly: install
|