# vim:noexpandtab:autoindent:tabstop=8:shiftwidth=8:filetype=make:nocindent:tw=0:
#  This is a template of all of the 'Standard' stuff that we use in all our
#  projects.

CLEANFILES=$(PACKAGE_NAME)-*.tar.gz $(PACKAGE_NAME)-*.tar.bz2 $(PACKAGE_NAME)-*.rpm _buildtemp version
DISTCLEANFILES=*~

EXTRA_DIST =
EXTRA_PROGRAMS=

CLEANFILES += $(EXTRA_PROGRAMS)
CLEANFILES += *.pyc */*.pyc */*/*.pyc */*/*/*.pyc
DISTCLEANFILES += pkg/$(PACKAGE).spec

clean-local:
	-test -z "$(CLEANFILES)" || rm -rf $(CLEANFILES)

distclean-local:
	-test -z "$(DISTCLEANFILES)" || rm -rf $(DISTCLEANFILES)

.PHONY: git-tag
git-tag:
	git tag -u libsmbios -m "tag for official release: $(PACKAGE_STRING)" v$(PACKAGE_VERSION)

.PHONY: get-version
get-version:
	@echo 'PACKAGE_STRING="$(PACKAGE_STRING)"'
	@echo 'PACKAGE_VERSION="$(PACKAGE_VERSION)"'
	@echo 'PACKAGE="$(PACKAGE)"'

ChangeLog:
	(GIT_DIR=$(top_srcdir)/.git git log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)

AUTHORS:
	(GIT_DIR=$(top_srcdir)/.git git log | grep ^Author | sort |uniq > .authors.tmp && mv .authors.tmp AUTHORS; rm -f .authors.tmp) || (touch AUTHORS; echo 'git directory not found: installing possibly empty AUTHORS.' >&2)

REPLACE_VARS=GETTEXT_PACKAGE PACKAGE_VERSION PACKAGE localedir libdir libexecdir datadir sysconfdir pythondir pkgpythondir pkgdatadir pkgconfdir pkggladedir pkglibexecdir

define replace_vars_in_file
	$(foreach VAR,$(REPLACE_VARS),perl -p -i -e "s|^$(VAR)\s*=.*|$(VAR)=\"$($(VAR))\"|"  $(1);)
endef

DATA_HOOK_REPLACE=
install-data-hook:
	$(foreach FILE,$(DATA_HOOK_REPLACE),$(call replace_vars_in_file,$(addprefix $(DESTDIR)/,$(FILE))))

EXEC_HOOK_REPLACE=
install-exec-hook:
	$(foreach FILE,$(EXEC_HOOK_REPLACE),$(call replace_vars_in_file,$(addprefix $(DESTDIR)/,$(FILE))))

TOPDIR := $(shell cd $(top_builddir);pwd)
BUILDDIR = $(TOPDIR)/_rpmbuild
RPMDIR = $(TOPDIR)
SOURCEDIR = $(TOPDIR)
SPECFILE= $(TOPDIR)/pkg/$(PACKAGE_NAME).spec
SPECDIR = $(TOPDIR)/pkg
SRCRPMDIR = $(TOPDIR)

AM_RPM_DEFINES = --define "_topdir $(TOPDIR)" \
		--define "_builddir $(BUILDDIR)" \
		--define "_rpmdir $(RPMDIR)" \
		--define "_sourcedir $(SOURCEDIR)" \
		--define "_specdir $(SPECDIR)" \
		--define "_srcrpmdir $(SRCRPMDIR)" \
		$(RPM_DEFINES)

.PHONY: rpm srpm
rpm: pkg/$(PACKAGE_NAME).spec dist
	mkdir -p $(BUILDDIR)
	rpmbuild $(AM_RPM_DEFINES) -ba --nodeps $(SPECFILE)
	rm -rf $(BUILDDIR)

srpm: pkg/$(PACKAGE_NAME).spec dist
	mkdir -p $(BUILDDIR)
	rpmbuild $(AM_RPM_DEFINES) -bs --nodeps $(SPECFILE)
	rm -rf $(BUILDDIR)

