SHELL = /gentoo/prefix64/usr/bin/bash

prefix = /var/tmp/portage-tmpinst
exec_prefix = ${prefix}
sysconfdir = ${prefix}/etc
libdir = ${exec_prefix}/lib

srcdir = .
top_builddir = ..

portageuser = ruurd
portagegroup = merlijn

PORTAGE_BIN = ${exec_prefix}/lib/portage/bin
LN_S = ln -s
INSTALL = /gentoo/prefix64/usr/bin/install -c
INSTALL_subst = $(top_builddir)/subst-install

usr_binprogs = \
	ebuild \
	egencache \
	emerge \
	emerge-webrsync \
	emirrordist \
	portageq \
	quickpkg

usr_sbinprogs = \
	archive-conf \
	dispatch-conf \
	emaint \
	env-update \
	etc-update \
	fixpackages \
	regenworld

hprefixify_progs = \
	etc-update

all:

install:
	$(INSTALL) -d -m 755 -o "$(portageuser)" -g "$(portagegroup)" $(DESTDIR)$(PORTAGE_BIN)
	( cd "$(srcdir)" && find . -type d ) | while read f ; do \
		files=( ) ; \
		shopt -s nullglob ; \
		for t in "$(srcdir)/$${f}"/* ; do \
			[[ -d $${t} ]] && continue ; \
			[[ $${t} == */Makefile* ]] && continue ; \
			files=( "$${files[@]}" "$${t}" ) ; \
		done ; \
		$(INSTALL) -d -m 755 \
			-o "$(portageuser)" -g "$(portagegroup)" \
			"$(DESTDIR)$(PORTAGE_BIN)/$${f}" && \
		[[ $${files[0]} ]] || continue ; \
		$(INSTALL_subst) -m 755 \
			-o "$(portageuser)" -g "$(portagegroup)" \
			-t "$(DESTDIR)$(PORTAGE_BIN)/$${f}" \
			"$${files[@]}" ; \
	done ; \
	for f in $(hprefixify_progs) ; do \
		$(INSTALL_subst) --hprefixify -m 755 \
			-o "$(portageuser)" -g "$(portagegroup)" \
			-t "$(DESTDIR)$(PORTAGE_BIN)" \
			"$(srcdir)/$${f}" ; \
	done
	$(INSTALL) -d -m 755 -o "$(portageuser)" -g "$(portagegroup)" $(DESTDIR)$(prefix)/bin
	cd $(DESTDIR)$(prefix)/bin \
	; for p in $(usr_binprogs) \
	; do test -f $(DESTDIR)$(PORTAGE_BIN)/$${p} \
		 || { echo "$(DESTDIR)$(PORTAGE_BIN)/$${p} does not exist" ; exit 1 ; } \
	   ; rm -f $(DESTDIR)$(prefix)/bin/$${p} \
	   ; $(LN_S) ../lib/portage/bin/$${p} $${p} || exit 1 \
	; done
	$(INSTALL) -d -m 755 -o "$(portageuser)" -g "$(portagegroup)" $(DESTDIR)$(prefix)/sbin
	cd $(DESTDIR)$(prefix)/sbin \
	; for p in $(usr_sbinprogs) \
	; do test -f $(DESTDIR)$(PORTAGE_BIN)/$${p} \
		 || { echo "$(DESTDIR)$(PORTAGE_BIN)/$${p} does not exist" ; exit 1 ; } \
	   ; rm -f $(DESTDIR)$(prefix)/sbin/$${p} \
	   ; $(LN_S) ../lib/portage/bin/$${p} $${p} || exit 1 \
	; done

.PHONY: all install
