
ifndef BASEDIR
BASEDIR	= $(shell cd $(shell pwd)/../..; pwd)
include $(BASEDIR)/build.conf
endif

CONFIG = $(shell pwd)/Config.py

PYINST = pyinstaller
PYINST_VER = 1.3
PYINST_SOURCE = $(PYINST)_$(PYINST_VER).tar.gz

NASBUILDER = NASBuilder
ENTRY = NASBuilder

VERSION = "$(BUILD_MAJOR_VERSION).$(BUILD_MINOR_VERSION).$(BUILD_REVISION)"

all: $(PYINST)
	@echo "[START BUILD] $@" >&2
	@echo "[END BUILD] $@" >&2

$(PYINST)-$(PYINST_VER):
	@echo "[START BUILD] $@" >&2
	@tar -xvf $(PKG_DIR)/$(PYINST_SOURCE)
	@echo "[END BUILD] $@" >&2

$(PYINST)-$(PYINST_VER)/.configured: $(PYINST)-$(PYINST_VER)
	@echo "[START BUILD] $@" >&2
	(cd $(PYINST)-$(PYINST_VER)/source/linux;	\
		python ./Make.py;	\
		make;	\
	)
	(cd $(PYINST)-$(PYINST_VER);	\
		python Configure.py;	\
		python Makespec.py $(shell pwd)/$(ENTRY).py;	\
	)
	@touch $@
	@echo "[END BUILD] $@" >&2

$(PYINST)-$(PYINST_VER)/.patched: $(PYINST)-$(PYINST_VER)/.configured
	@echo "[START BUILD] $@" >&2
	@cd $(PYINST)-$(PYINST_VER)/$(ENTRY); cp $(ENTRY).spec{,.orig};
	@sed -e "/^coll\s=\sCOLLECT.*/iimg = Tree('$(shell pwd)/images', 'images')"	\
		-e "/^coll\s=\sCOLLECT.*/aimg,"	\
		$(PYINST)-$(PYINST_VER)/$(ENTRY)/$(ENTRY).spec.orig >	\
		$(PYINST)-$(PYINST_VER)/$(ENTRY)/$(ENTRY).spec
	@touch $@
	@echo "[END BUILD] $@" >&2

$(PYINST): $(PYINST)-$(PYINST_VER)/.patched
	@echo "[START BUILD] $@" >&2
	@cd $(PYINST)-$(PYINST_VER);	\
		python Build.py $(ENTRY)/$(ENTRY).spec
	@echo "[END BUILD] $@" >&2

fix_version:
	@echo "[START BUILD] $@" >&2
	@sed -i s/'^VERSION\s*=\s*.*'/"VERSION = '$(VERSION)'"/ $(CONFIG)
	@echo "[END BUILD] $@" >&2

image:
	@echo "[START BUILD] $@" >&2
	@echo "[END BUILD] $@" >&2

clean clean-all:
	@echo "[START BUILD] $@" >&2
	@rm -rf $(PYINST)-$(PYINST_VER)
	@rm -rf *.pyc
	@echo "[END BUILD] $@" >&2

install:
	@echo "[START BUILD] $@" >&2
	@for i in $(shell find $(PYINST)-$(PYINST_VER) -type d -name CVS); do	\
		rm -rf $$i;	\
	done
	-@install -d $(OUTPUT_PATH)/$(NASBUILDER)
	-@cp -rf $(PYINST)-$(PYINST_VER)/$(ENTRY)/dist$(ENTRY)/*	\
		$(OUTPUT_PATH)/$(NASBUILDER)
	@echo "[END BUILD] $@" >&2

