export PIVOTDIR 	:= $(shell cd . && pwd -P)
export PIVOT_PLATFORM	:= $(PIVOTDIR)/mipsel
export PIVOT_INSTALL	:= $(PIVOT_PLATFORM)/install
export PIVOT_TARGET	:= $(PIVOT_PLATFORM)/target
export PIVOT_BUILD	:= $(PIVOT_PLATFORM)

APPS := $(shell cd .. && pwd -P)


.PHONY: all
all :
	[ ! -f $(APPS)/pivot_insmod/Makefile ] || $(MAKE) -C ../pivot_insmod
	[ ! -f pivot_src/Makefile ] || $(MAKE) -C pivot_src

.PHONY: clean
clean :
	[ ! -f pivot_src/Makefile ] || $(MAKE) -C pivot_src clean
	-rm -rf $(PIVOT_TARGET)

.PHONY: pivot_install
pivot_install: all
	[ ! -f $(APPS)/pivot_insmod/Makefile ] || $(MAKE) -C $(APPS)/pivot_insmod install INSTALLDIR=$(PIVOT_INSTALL)/pivot_insmod
	[ ! -f $(APPS)/nvram/Makefile ] || $(MAKE) -C $(APPS)/nvram install INSTALLDIR=$(PIVOT_INSTALL)/nvram
	[ ! -f pivot_src/Makefile ] || $(MAKE) -C pivot_src install INSTALLDIR=$(PIVOT_INSTALL)/pivot_src
	[ ! -f $(APPS)/buildinfo/Makefile ] || $(MAKE) -C $(APPS)/buildinfo install INSTALLDIR=$(PIVOT_INSTALL)/buildinfo

.PHONY: install
install: pivot_install
	rm -rf $(PIVOT_TARGET)
	install -d $(PIVOT_TARGET)
	for dir in $(wildcard $(patsubst %,$(PIVOT_INSTALL)/%,pivot_src pivot_insmod nvram buildinfo)) ; do \
		(cd $${dir} && tar cpf - .) | (cd $(PIVOT_TARGET) && tar xpf -) \
	done
	$(MAKE) -C lib install TARGETDIR=$(PIVOT_TARGET)
	$(MAKE) -C $(LINUXDIR) modules_install DEPMOD=/bin/true INSTALL_MOD_PATH=$(PIVOT_TARGET)
	cd $(PIVOT_TARGET) && $(TOP)/misc/pivotprep.sh && mkcramfs . $(PIVOT_BUILD)/target.cramfs
	cp $(LINUXDIR)/arch/mips/brcm-boards/bcm947xx/compressed/vmlinuz $(PIVOT_BUILD)/vmlinuz
	$(TRX) -o $(PIVOT_BUILD)/pivot_root.trx $(PIVOT_BUILD)/vmlinuz $(PIVOT_BUILD)/target.cramfs
