###############################################################################
#
# to create a Plustek-Sane tarball - make -f MakeDist
#
###############################################################################
#
# set some tools
#
MD    = mkdir -p
RM    = rm -f
TAR   = tar
ECHO  = echo
CD	  = cd
MV	  = mv

#
# set some directories
#
HOME_DIR    = .
BACKEND_DIR = $(HOME_DIR)/backend
LIB_DIR     = $(HOME_DIR)/sanei
LIB_H_DIR   = $(HOME_DIR)/include/sane
DOC_DIR     = $(HOME_DIR)/doc
LANG_DIR    = $(HOME_DIR)/po
ABS_DIR		= plustek_driver
ABS_SRC		= $(ABS_DIR)/src
ABS_INC		= $(ABS_DIR)/h
PRJ_DIR     = $(HOME_DIR)/backend/$(ABS_DIR)
SRC_DIR     = $(PRJ_DIR)/src
INC_DIR     = $(PRJ_DIR)/h

#
# the archive base name
#
ARCHIVE := plustek-sane
ARCHMOD := plustek-module

#
# define the archive files
#
GNU_FILES := COPYING ChangeLog INSTALL INSTALL.GER FAQ README BUILD TEST.txt
GNU_FILES := $(GNU_FILES) TODO Makefile VERSION*
GNU_MOD   := $(addprefix $(ABS_DIR)/, $(GNU_FILES))
GNU_FILES := $(addprefix $(PRJ_DIR)/, $(GNU_FILES))

BACKEND_FILES := dll.conf plustek.conf
BACKEND_FILES := $(BACKEND_FILES) plustek.c plustek.h plustek-share.h
BACKEND_FILES := $(BACKEND_FILES) plustek-pp.c plustek-usb.h plustek-usb.c
BACKEND_FILES := $(BACKEND_FILES) plustek-devs.c plustek-usbhw.c plustek-usbio.c
BACKEND_FILES := $(BACKEND_FILES) plustek-usbmap.c plustek-usbscan.c
BACKEND_FILES := $(BACKEND_FILES) plustek-usbshading.c plustek-usbimg.c
BACKEND_FILES := $(addprefix $(BACKEND_DIR)/, $(BACKEND_FILES))

SANE_LIB_FILES := sanei_lm983x.c
SANE_LIB_FILES := $(addprefix $(LIB_DIR)/, $(SANE_LIB_FILES))

SANE_LIB_H_FILES := sanei_lm983x.h
SANE_LIB_H_FILES := $(addprefix $(LIB_H_DIR)/, $(SANE_LIB_H_FILES))

SANE_LIB := $(SANE_LIB_FILES) $(SANE_LIB_H_FILES)

SHARED_HEADER := $(HOME_DIR)/plustek-share.h

DOC_FILES  := sane-plustek.man descriptions/plustek.desc
DOC_FILES  := $(addprefix $(DOC_DIR)/, $(DOC_FILES))

LANG_FILES := plustek.de.po plustek.es.po
LANG_FILES := $(addprefix $(LANG_DIR)/, $(LANG_FILES))

PRJ_FILES  := MakeDist plustek.kdevprj Plustek-USB.txt
PRJ_FILES  := $(addprefix $(HOME_DIR)/, $(PRJ_FILES))

ARCH_MOD   := $(ABS_SRC)/* $(ABS_INC)/* $(GNU_MOD) $(SHARED_HEADER)

ARCH_FILES := $(SRC_DIR)/*  $(INC_DIR)/* $(GNU_FILES) $(PRJ_FILES)
ARCH_FILES := $(ARCH_FILES) $(BACKEND_FILES) $(DOC_FILES) $(SANE_LIB)
ARCH_FILES := $(ARCH_FILES) $(LANG_FILES)

#
# create the archive name
#
BUILD    = $(shell cat $(PRJ_DIR)/BUILD )
VERSION0 = $(shell cat $(PRJ_DIR)/VERSION0)
VERSION1 = $(shell cat $(PRJ_DIR)/VERSION1)

ARCHIVE_NAME  := $(ARCHIVE)-$(VERSION1)_$(VERSION0)_$(BUILD).tar.gz
ARCHIVE_MNAME := $(ARCHMOD)-$(VERSION1)_$(VERSION0)_$(BUILD).tar.gz

#
# build the distribution
#
dist:
	@$(ECHO) "Current Build is $(VERSION1).$(VERSION0)-$(BUILD)"
	@$(ECHO) $(shell let "BUILD=$(BUILD) + 1";echo $$BUILD) > $(PRJ_DIR)/BUILD
	@$(TAR) -czf $(ARCHIVE_NAME) $(ARCH_FILES) --exclude=CVS
	@$(CD) $(BACKEND_DIR);$(TAR) -czf $(ARCHIVE_MNAME) $(ARCH_MOD) --exclude=CVS;$(CD) ..
	@$(MV) $(BACKEND_DIR)/$(ARCHIVE_MNAME) .

.PHONY : all clean dist
