#
# Toplevel Makefile for the BCM478x Linux NASoC Software
#
# Copyright 2001-2004, Broadcom Corporation
# All Rights Reserved.
#
# THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
# KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
# SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
#

SRCBASE := $(shell pwd)
RELEASEDIR := $(shell (cd $(SRCBASE)/.. && pwd -P))
HOSTDIR := $(shell (cd $(SRCBASE)/../hostsrc && pwd -P))
PACKDIR := $(shell (cd $(SRCBASE)/../tools && pwd -P))
PACK := $(PACKDIR)/naspack

default: install

install: all pre-install
	[ ! -d $(HOSTDIR)/naspack ] || $(MAKE) -C $(HOSTDIR)/naspack install
	[ ! -d $(HOSTDIR)/nasload ] || $(MAKE) -C $(HOSTDIR)/nasload install
	$(MAKE) -C apps do-packaging
	-if test -f apps/mipsel/broadnas.trx; then cp apps/mipsel/broadnas.trx $(RELEASEDIR)/image/broadnas.trx; fi;
	-if test -f apps/mipsel-uclibc/broadnas.trx; then cp apps/mipsel-uclibc/broadnas.trx $(RELEASEDIR)/image/broadnas-uclibc.trx; fi;
	$(PACK) --output=$(RELEASEDIR)/image/broadnas.nas --tag=apps/mipsel/target/etc/buildinfo.txt --flash=$(RELEASEDIR)/image/broadnas.trx
	$(PACK) --output=$(RELEASEDIR)/image/broadnas_split.nas --tag=apps/mipsel/target/etc/buildinfo.txt --flash=apps/pivot_root/mipsel/pivot_root.trx --disk=apps/mipsel/root.trx
	$(PACK) --output=$(RELEASEDIR)/image/broadnas_disk.nas --tag=apps/mipsel/target/etc/buildinfo.txt --disk=apps/mipsel/broadnas.trx


pre-install: all
	install -d $(RELEASEDIR)/image

	[ ! -d cfe ] || cp cfe/build/broadcom/bcm947xx/cfe.bin $(RELEASEDIR)/image/
	[ ! -d cfe ] || cp cfe/build/broadcom/bcm947xx/cfenas.bin $(RELEASEDIR)/image/

	cp shared/nvram/*.txt $(RELEASEDIR)/image/
	chmod u+w $(RELEASEDIR)/image/*.txt
	$(MAKE) -C apps packaging-ready

all:
	[ ! -d $(HOSTDIR)/naspack ] || $(MAKE) -C $(HOSTDIR)/naspack $@
	[ ! -d $(HOSTDIR)/nasload ] || $(MAKE) -C $(HOSTDIR)/nasload $@
	[ ! -d $(HOSTDIR)/pig_latin_trans ] || $(MAKE) -C $(HOSTDIR)/pig_latin_trans install
	[ ! -d $(HOSTDIR)/build_translation_array_start ] || $(MAKE) -C $(HOSTDIR)/build_translation_array_start install
	[ ! -d $(HOSTDIR)/extract_translation_info ] || $(MAKE) -C $(HOSTDIR)/extract_translation_info install
	[ -d $(SRCBASE)/apps/mipsel/translation_info ] || mkdir $(SRCBASE)/apps/mipsel/translation_info
	[ ! -d cfe ] || $(MAKE) -C cfe $@
	$(MAKE) -C apps $@

clean:
	[ ! -d $(HOSTDIR)/naspack ] || $(MAKE) -C $(HOSTDIR)/naspack $@
	[ ! -d $(HOSTDIR)/nasload ] || $(MAKE) -C $(HOSTDIR)/nasload $@
	[ ! -d $(HOSTDIR)/pig_latin_trans ] || $(MAKE) -C $(HOSTDIR)/pig_latin_trans $@
	[ ! -d $(HOSTDIR)/build_translation_array_start ] || $(MAKE) -C $(HOSTDIR)/build_translation_array_start $@
	[ ! -d $(HOSTDIR)/extract_translation_info ] || $(MAKE) -C $(HOSTDIR)/extract_translation_info $@
	[ ! -d $(SRCBASE)/apps/mipsel/translation_info ] || rm -rf $(SRCBASE)/apps/mipsel/translation_info
	[ ! -d cfe ] || $(MAKE) -C cfe $@
	$(MAKE) -C apps $@

.PHONY: all clean pre-install install
