#!/usr/bin/make -f

STRIP =strip
ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
  STRIP =: nostrip
endif

SRC=$(shell pwd)
DIR=$(shell pwd)/debian/libowfat-dietlibc-dev
DIR2=$(shell pwd)/debian/libowfat-dev
DIR3=$(shell pwd)/debian/libowfat0

build: deb-checkdir build-stamp
build-stamp:
	mkdir build-glibc
	$(MAKE) -f $(SRC)/GNUmakefile -C build-glibc SRC=$(SRC)/ DIET='' SHARED=1 libowfat.so
	strip --strip-unneeded build-glibc/libowfat.so.*
	$(MAKE) -f $(SRC)/GNUmakefile -C build-glibc SRC=$(SRC)/ clean
	$(MAKE) -f $(SRC)/GNUmakefile -C build-glibc SRC=$(SRC)/ DIET=''

	mkdir build-diet
	$(MAKE) -f $(SRC)/GNUmakefile -C build-diet SRC=$(SRC)/ DIET='diet -v -Os'
	touch build-stamp

clean: deb-checkdir deb-checkuid
	rm -rf build-glibc
	rm -rf build-diet
	rm -rf '$(DIR)' '$(DIR2)' '$(DIR3)' .diet
	rm -f build-stamp install-stamp
	rm -f debian/files changelog debian/substvars

install: deb-checkdir deb-checkuid build-stamp
	rm -rf '$(DIR)' '$(DIR2)' '$(DIR3)'
	# libowfat-dietlibc-dev
	install -d -m0755 '$(DIR)'/usr/lib/diet/lib
	install -d -m0755 '$(DIR)'/usr/include/diet
	install -m0644 build-diet/libowfat.a '$(DIR)'/usr/lib/diet/lib/
	$(STRIP) --strip-debug '$(DIR)'/usr/lib/diet/lib/libowfat.a
	install -m0644 *.h '$(DIR)'/usr/include/diet/
	install -m0644 build-diet/*.h '$(DIR)'/usr/include/diet/
	# libowfat-dev
	install -d -m0755 '$(DIR2)'/usr/lib
	install -d -m0755 '$(DIR2)'/usr/include
	install -m0644 build-glibc/libowfat.a '$(DIR2)'/usr/lib/libowfat.a
	$(STRIP) --strip-debug '$(DIR2)'/usr/lib/libowfat.a
	install -m0644 *.h '$(DIR2)'/usr/include/
	install -m0644 build-glibc/*.h '$(DIR2)'/usr/include/
	# man pages
	install -d -m0755 '$(DIR2)'/usr/share/man/man3
	for i in */*.3; do \
	  gzip -c9 $$i >'$(DIR2)'/usr/share/man/man3/$${i##*/}.gz \
	    || exit 1; \
	done
	# changelog
	test -r changelog || ln -s CHANGES changelog

	install -d -m0755 '$(DIR2)'/usr/lib
	cp -a build-glibc/libowfat.so '$(DIR2)'/usr/lib/

	install -d -m0755 '$(DIR3)'/usr/lib
	install -m0644 build-glibc/libowfat.so.* '$(DIR3)'/usr/lib/

binary-indep:

binary-arch: install libowfat-dietlibc-dev.deb libowfat-dev.deb libowfat0.deb
	dpkg-shlibdeps build-glibc/libowfat.so.*
	dpkg-gencontrol -isp -plibowfat-dietlibc-dev -P'$(DIR)'
	dpkg-gencontrol -isp -plibowfat-dev -P'$(DIR2)'
	dpkg-gencontrol -isp -plibowfat0 -P'$(DIR3)'
	dpkg -b '$(DIR)' ..
	dpkg -b '$(DIR2)' ..
	dpkg -b '$(DIR3)' ..

binary: binary-indep binary-arch
.PHONY: build clean install binary-indep binary-arch binary

include debian/implicit
