DESCRIPTION := Smart\ Start
APP := Start
PACKAGE := $(shell grep ^package $(APP).java | \
 awk '{print $$2}' | sed 's/\;$$//')
TARGETDIR := $(subst .,/,$(PACKAGE))
EWESOFT := /cygdrive/c/Program\ Files/Ewe
EWELIB := $(EWESOFT)/classes
# the /r switch causes Ewe to emulate running on a mobile device
EWE := $(EWESOFT)/ewe /r
JEWEL := $(EWE) "$(shell cygpath -w $(EWESOFT)/programs/Jewel.ewe)"
JRELIB := $(EWELIB)/ewe.jar
JRELIB_WINDOWS := $(shell cygpath -w $(JRELIB))
CLASSPATH := "$(JRELIB_WINDOWS);."
JAVAC := javac -g -deprecation -classpath $(CLASSPATH)
JAVA := java -classpath $(CLASSPATH)
SRCDIR := $(shell pwd)
JAVASRC := $(subst $(TARGETDIR),,$(SRCDIR))
WIN32 := x86-Win32-StaticLinked
INSTALLDIR := $(DESCRIPTION)-PocketPC-Setup/$(WIN32)
PPCINSTALLPROGRAM := $(INSTALLDIR)/$(DESCRIPTION)-PocketPC-Setup.exe
sources := $(wildcard *.java)
classes := $(sources:.java=.class)
Start_args := bilbo.bat this is a test
#DEBUGGING := true
export  # tells 'make' to export all vars to environment
all: classes
classes: $(classes)
	touch $@
%.class: %.java
	cd $(JAVASRC) && $(JAVAC) $(addprefix $(TARGETDIR)/, $(sources))
checkenv:
	set
%.test: %.class
	cd $(JAVASRC) && $(EWE) $(TARGETDIR)/$* $($*_args)
release: $(DESCRIPTION)-install.zip
	touch $@
$(DESCRIPTION)-install.zip: classes localhost.cpf
	$(JEWEL) $(APP).jnf || $(JEWEL)
	mkdir -p installation/all
	cp $(APP)/PocketPC/$(APP).exe localhost.cpf \
	 installation/all/
	zip -r $(DESCRIPTION)-install.zip installation/ -x "*/.svn/*"
installer: ppcinstall.exe
	touch $@
ppcinstall.exe: release ppcinstall.cfg
	cp -f ppcinstall.cfg install.cfg
	$(JEWEL) $(DESCRIPTION)-ppcinstall.jnf || $(JEWEL)
	mv $(PPCINSTALLPROGRAM) $@
%.cpf: %.xml
	cp $< _setup.xml
	makecab /D COMPRESS=OFF _setup.xml $@
clean:
	rm -f *.class *.ewe *.zip
