#
# Makefile for AQUOS Launcher
#
#   Copyright (c) 2005, 2006 Sharp Corporation
#

-include ../config.make

TARGET       = launcher
DEBUGTARGET  = $(TARGET)_debug
STATICTARGET = insmod.static
#TARGETDIR    = /opt/montavista/pro/devkit/mips/fp_be/target/sbin
TARGETROOT   = $(HOME)/target
TARGETDIR    = ${TARGETROOT}/sbin
CONTROLDIR   = ${TARGETROOT}/var/launcher
MODTOOLSDIR  = module-init-tools-3.5
#OBJECT       = $(MODTOOLSDIR)/$(TARGET)       # dynamic-linked version
OBJECT       = $(MODTOOLSDIR)/$(STATICTARGET) # static-linked version

ARCHIVEFILE  = $(TARGET).zip
ARCHIVEDIR   = archive
ARCHIVETARGET= $(ADDITIONTARGZ) $(PATCHFILEGZ) $(MODTOOLSORGBZ) $(SETUPSCRIPT)
ZIPWORKDIR   = $(ARCHIVEDIR)/launcher
ZIPARGUMENT  = $(subst $(ARCHIVEDIR)/,,$(ARCHIVETARGET))
ADDITIONS    = makefile launcher.h
ADDITIONDIR  = $(ZIPWORKDIR)/$(TARGET)
ADDITIONTARGZ= $(ZIPWORKDIR)/$(TARGET).files.tar.gz
PATCHFILE    = launcher.patch
PATCHFILEGZ  = $(ZIPWORKDIR)/$(PATCHFILE).gz
MODTOOLSORG  = $(MODTOOLSDIR).orig
MODTOOLSORGBZ= $(ZIPWORKDIR)/$(MODTOOLSDIR).tar.bz2
SETUPSCRIPT  = $(ZIPWORKDIR)/setup.sh
EXCESSFILES  = $(MODTOOLSDIR)/autom4te.cache 


STRIP        = mips2_fp_be-strip
TRUE         = /bin/true
RM           = /bin/rm
MV           = /bin/mv
CP           = /bin/cp
LN           = /bin/ln
MKDIR        = /bin/mkdir
TAR          = /bin/tar
GZIP         = /bin/gzip
ZIP          = /usr/bin/zip
DIFF         = /usr/bin/diff


## option for making ROM
## MAKE_ROM YES or NO [NO]

export EXTRA_DEFS := $(EXTRA_DEFS)

ifeq ($(MAKE_ROM), YES)
  EXTRA_DEFS := $(EXTRA_DEFS) -DUNHOSTED
endif

ifeq ($(PROJECT),IWATOBI_GH)
  EXTRA_DEFS := $(EXTRA_DEFS)
else
  EXTRA_DEFS := $(EXTRA_DEFS) -DWITH_LNX
endif

ifeq ($(ENABLE_DBGTIME),YES)
  EXTRA_DEFS := $(EXTRA_DEFS) -DENABLE_DBGTIME
endif

.PHONY: all install clean distribution
all: 
	$(MAKE) -C $(MODTOOLSDIR)
	$(CP) $(OBJECT) ./$(TARGET)
	$(STRIP) ./$(TARGET)
	-sudo $(CP) ./$(TARGET) $(TARGETDIR)
	-if [ ! -e $(TARGETDIR)/$(DEBUGTARGET) ]; then \
	  sudo $(LN) -s $(TARGET) $(TARGETDIR)/$(DEBUGTARGET); \
	fi
	-if [ ! -e $(CONTROLDIR) ]; then \
	  sudo $(MKDIR) -p $(CONTROLDIR); \
	fi

install: all

clean:
	$(MAKE) -C $(MODTOOLSDIR) clean
	-$(RM) -f $(TARGET)
	-$(RM) -f $(ARCHIVEFILE)
	-$(RM) -f $(ADDITIONTARGZ)
	-$(RM) -f $(PATCHFILEGZ)
	-$(RM) -fr $(ADDITIONDIR)
	-$(RM) -fr $(MODTOOLSORG)

distribution: clean $(ARCHIVEFILE)

$(ARCHIVEFILE): $(ARCHIVETARGET)
	cd $(ARCHIVEDIR); $(ZIP) ../$(ARCHIVEFILE) $(ZIPARGUMENT)

$(ADDITIONTARGZ): $(ADDITIONS)
	-$(MKDIR) $(ADDITIONDIR)
	$(CP) -f $(ADDITIONS) $(ADDITIONDIR)
	$(TAR) c -z -C $(ADDITIONDIR)/.. -f $(ADDITIONTARGZ) $(TARGET)

$(PATCHFILEGZ): $(PATCHFILE)
	$(GZIP) -f $^
	$(MV) -f $^.gz $(ZIPWORKDIR)

$(PATCHFILE):
	$(TAR) xj -C $(ARCHIVEDIR) -f $(MODTOOLSORGBZ)
	$(MV) $(ARCHIVEDIR)/$(MODTOOLSDIR) $(MODTOOLSORG)
	-$(RM) -fr $(EXCESSFILES)
	-$(DIFF) -Nurd -x '*~' -x '.*' -x CVS -x doc -x tests \
	  -x Makefile -x Makefile.common -x config.log -x config.status \
	  $(MODTOOLSORG) $(MODTOOLSDIR) > $@; \
	$(TRUE)

