packages feed

regexchar-0.9.0.7: makefile

# Copyright (C) 2010 Dr. Alistair Ward
# 
# 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 <http://www.gnu.org/licenses/>.
 
.PHONY: all build clean clobber configure copy deb haddock help hlint install lintian prof rpm rpmlint sdist

all: install

install: build haddock
	@[ -z "$$CABAL_INSTALL_OPTIONS" ] || echo "INFO: CABAL_INSTALL_OPTIONS='$$CABAL_INSTALL_OPTIONS'"
	runhaskell Setup.hs $@ $$CABAL_INSTALL_OPTIONS

prof:
	CABAL_CONFIGURE_OPTIONS="--enable-library-profiling --enable-executable-profiling $$CABAL_CONFIGURE_OPTIONS" make install

copy: build
	@[ -z "$$CABAL_COPY_OPTIONS" ] || echo "INFO: CABAL_COPY_OPTIONS='$$CABAL_COPY_OPTIONS'"
	runhaskell Setup.hs $@ $$CABAL_COPY_OPTIONS

build: configure
	@[ -z "$$CABAL_BUILD_OPTIONS" ] || echo "INFO: CABAL_BUILD_OPTIONS='$$CABAL_BUILD_OPTIONS'"
	runhaskell Setup.hs $@ $$CABAL_BUILD_OPTIONS

configure: regexchar.cabal Setup.hs
	@[ -z "$$CABAL_CONFIGURE_OPTIONS" ] || echo "INFO: CABAL_CONFIGURE_OPTIONS='$$CABAL_CONFIGURE_OPTIONS'"
	runhaskell Setup.hs $@ $$CABAL_CONFIGURE_OPTIONS	#--user

haddock: configure
	PATH=~/.cabal/bin:$$PATH runhaskell Setup.hs $@ --hyperlink-source --executables	#Amend path to find 'HsColour', as required for 'hyperlink-source'.

hlint:
	@$@ src/

sdist: configure
	runhaskell Setup.hs $@

rpm: regexchar.spec
	rpmbuild -bb -- $^
	mv -- `find /usr/src/packages/ -type f -name 'regexchar*.rpm' -mtime 0 -print` ./

rpmlint: regexchar.spec
	@$@ $^

deb: build
	mkdir -p 'debian/usr/bin/' && strip --strip-all 'dist/build/grecce/grecce' && mv 'dist/build/grecce/grecce' 'debian/usr/bin/'
	mkdir -p 'debian/usr/share/doc/regexchar/' && cp 'changelog' 'changelog.Debian' 'LICENSE' 'debian/usr/share/doc/regexchar/' && gzip --best debian/usr/share/doc/regexchar/*
	mkdir -p 'debian/usr/share/regexchar/data/' && cp data/*.txt 'debian/usr/share/regexchar/data/'
	cp 'copyright' 'debian/usr/share/doc/regexchar/'
	mkdir -p 'debian/usr/share/man/man1/' && cp 'man/man1/grecce.1' 'debian/usr/share/man/man1/' && gzip --best debian/usr/share/man/man1/*.1
	cd 'debian' && md5sum `find usr -type f -print` >'DEBIAN/md5sums'
	fakeroot dpkg-deb --build debian .

lintian:
	lintian -v *.deb

clean:
	runhaskell Setup.hs $@
	rm -rf 'debian/usr/' 'debian/DEBIAN/md5sums'

clobber: clean
	rm -f -- *.rpm *.deb

help:
	@grep '^[a-zA-Z].*:' makefile | sed -e 's/:.*//'