# -*- sh -*-
# Build script to build Halibut releases.

module halibut

ifnexist halibut/charset checkout charset halibut/charset

set Version $(!builddate).$(vcsid)
ifneq "$(RELEASE)" "" set Version $(RELEASE)

# use perl to avoid inconsistent behaviour of echo '\v'
in halibut do perl -e 'print "\n\\versionid Halibut version $$ARGV[0]\n"' $(Version) >> doc/manpage.but

# Write out a version.h that contains the real version number.
in halibut do echo '/* Generated by automated build script */' > version.h
in halibut do echo '$#define VERSION "version $(Version)"' >> version.h

set Rel
ifneq "$(RELEASE)" "" set Rel RELEASE=$(RELEASE)

set Basename halibut-$(Version)

# Make the source archive.
in halibut do ./release.sh $(Basename) $(Version)

# Build a local binary of Halibut in order to build the docs. Make
# sure to tag it with the supplied version number, so that the
# release docs announce themselves as having been built with the
# release Halibut (e.g. PDF's Producer property).
in halibut do make $(Rel)

# And now build the docs.
in halibut/doc do make

deliver halibut/*.tar.gz $@
deliver halibut/doc/halibut.pdf $@
deliver halibut/doc/halibut.txt $@
deliver halibut/doc/*.html $@

# FIXME: it'd be nice to add a Windows delegation here so we can
# ship a prebuilt Halibut executable. However, that requires a
# Windows makefile.
