#!/usr/bin/make -f

package = diffmo
docdir = debian/tmp/usr/share/doc/$(package)

CC = gcc
CFLAGS = -g -Wall
INSTALL_PROGRAM = install

DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)

ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
  CC=$(DEB_HOST_GNU_TYPE)-gcc
endif
ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
  CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
  INSTALL_PROGRAM += -s
endif

build:
	$(touchfiles)
	./configure --prefix=/usr \
		--build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
	$(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)"
	touch build

clean:
	$(touchfiles)
	rm -f build
	[ ! -f Makefile ] || $(MAKE) distclean
	rm -f `find . -name "*~"`
	rm -rf debian/tmp debian/files* core debian/substvars

binary-indep: build
	rm -rf debian/tmp
	install -d debian/tmp/DEBIAN \
		debian/tmp/usr/share/doc/diff
	cp -p debian/copyright debian/tmp/usr/share/doc/diff
	cp -p debian/changelog debian/tmp/usr/share/doc/diff/changelog.Debian
	gzip -9 debian/tmp/usr/share/doc/diff/changelog.Debian
	dpkg-gencontrol -pdiffmo
	cd debian/tmp && \
		md5sum `find * -type f ! -regex "DEBIAN/.*"` > DEBIAN/md5sums
	chown -R root:root debian/tmp
	chmod -R u+w,go=rX debian/tmp
	maemo-optify tmp
	dpkg --build debian/tmp ..

binary-arch: build
	rm -rf debian/tmp
	install -d debian/tmp/DEBIAN $(docdir)
	cd debian/tmp && install -d usr/bin
	$(MAKE) install prefix=`pwd`/debian/tmp/usr \
		INSTALL_PROGRAM="$(INSTALL_PROGRAM)"
	rm -rf debian/tmp/usr/info
	mv debian/tmp/usr/man  debian/tmp/usr/share
	cp -p NEWS debian/copyright $(docdir)
	cp -p ChangeLog $(docdir)/changelog
	cp -p debian/changelog $(docdir)/changelog.Debian
	cd $(docdir) && gzip -9 changelog changelog.Debian
	gzip -r9 debian/tmp/usr/share/man
	dpkg-shlibdeps debian/tmp/usr/bin/*
	dpkg-gencontrol -p$(package)
	cd debian/tmp && \
		md5sum `find * -type f ! -regex "DEBIAN/.*"` > DEBIAN/md5sums
	chown -R root:root debian/tmp
	chmod -R u+w,go=rX debian/tmp
	mv debian/tmp/usr/bin/diff debian/tmp/usr/bin/diffmo
	mv debian/tmp/usr/bin/diff3 debian/tmp/usr/bin/diff3mo
	mv debian/tmp/usr/bin/sdiff debian/tmp/usr/bin/sdiffmo
	mv debian/tmp/usr/bin/cmp debian/tmp/usr/bin/cmpmo
	maemo-optify tmp
	dpkg --build debian/tmp ..

define touchfiles
	touch -t 200202280523.10 src/util.c
	touch -t 200203110900.47 src/sdiff.c
endef

binary: binary-indep binary-arch

.PHONY: binary binary-arch binary-indep clean
