# Copyright (C) 2013-2022 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . SHELL := sh -e PROJECT = bfh SOFTWARE = bfh-tools VERSION := $(shell cat VERSION.txt) TOOLS := $(shell find . -mindepth 1 -maxdepth 1 -type d -and -not -name ".*" -and -not -name debian) all: build test: @for TOOL in $(TOOLS); \ do \ echo "Processing $${TOOL}..."; \ make -C $${TOOL} test; \ echo; \ done build: @for TOOL in $(TOOLS); \ do \ echo "Processing $${TOOL}..."; \ make -C $${TOOL} build; \ echo; \ done install: build @for TOOL in $(TOOLS); \ do \ echo "Processing $${TOOL}..."; \ make -C $${TOOL} install; \ echo; \ done uninstall: @for TOOL in $(TOOLS); \ do \ echo "Processing $${TOOL}..."; \ make -C $${TOOL} uninstall; \ echo; \ done clean: @for TOOL in $(TOOLS); \ do \ echo "Processing $${TOOL}..."; \ make -C $${TOOL} clean; \ echo; \ done distclean: rm -rf $(SOFTWARE)-$(VERSION) @for TOOL in $(TOOLS); \ do \ echo "Processing $${TOOL}..."; \ make -C $${TOOL} distclean; \ echo; \ done reinstall: uninstall install release: distclean git commit -a -s -S -m 'Releasing version $(VERSION).' || true git tag -s -m 'Tagging version $(VERSION).' v$(VERSION) || true mkdir $(SOFTWARE)-$(VERSION) find . -mindepth 1 -maxdepth 1 -and -not -name ".git*" -and -not -name debian -and -not -name $(SOFTWARE)-$(VERSION) -exec cp \-a {} $(SOFTWARE)-$(VERSION) \; for FORMAT in xz lzip; \ do \ EXTENSION=$$(echo $${FORMAT} | cut -b-2); \ tar --$${FORMAT} -cf ../$(SOFTWARE)-$(VERSION).tar.$${EXTENSION} $(SOFTWARE)-$(VERSION); \ sha512sum ../$(SOFTWARE)-$(VERSION).tar.$${EXTENSION} > ../$(SOFTWARE)-$(VERSION).tar.$${EXTENSION}.sha512; \ gpg --default-key 0xB62C61A10B93195F --armor -b ../$(SOFTWARE)-$(VERSION).tar.$${EXTENSION}; \ mv ../$(SOFTWARE)-$(VERSION).tar.$${EXTENSION}.asc ../$(SOFTWARE)-$(VERSION).tar.$${EXTENSION}.sig; \ done rm -rf $(SOFTWARE)-$(VERSION) upload: scp ../$(SOFTWARE)-$(VERSION).* get.open-infrastructure.net:/srv/get.open-infrastructure.net/software/$(SOFTWARE)/upstream