# ReloadME-style makefile
# Requirements: GNU Make, find, zip, JDK 3 to 8

# Custom vars
SRCDIR := src
PKGDIR := PGLX
OUTNAME := PocketGopherLX.jar
# change this to darwin, solaris or win32 if necessary
HOST_PLATFORM := linux
PREVERIFY_BUILDDIR := ./preverifier/build/${HOST_PLATFORM}

# Commands
CC = javac -Xlint:-options -g:none
ZIP = zip -9r
PROGUARD = java -jar proguard.jar -microedition -libraryjars lib/cldc_1.1.jar -libraryjars lib/midp_2.0.jar
PROGUARD_OPTS := -overloadaggressively -repackageclasses '' -allowaccessmodification -keep "public class * extends javax.microedition.midlet.MIDlet"

# Java targets (you may need to change this)
JAVATARGET_SRC := 1.3
JAVATARGET_DST := 1.2
BOOTCLASSPATH := lib/cldc_1.1.jar:lib/midp_2.0.jar
CLASSPATH := .

# Internal vars
OUTDIR := out
PRENAME := unguarded-${OUTNAME}
SHELL = '/bin/bash'
SRCLIST := $(shell find ${SRCDIR} -type f -name "*.java" | tr '\n' ' ')

all: build

pre-build:
	mkdir -p ${OUTDIR} ${PREDIR}
	cp -r ${SRCDIR}/META-INF ${OUTDIR}/
	cp ${SRCDIR}/home.txt ${OUTDIR}/
	cp ${SRCDIR}/icon.png ${OUTDIR}/

build: pre-build
	$(CC) -source ${JAVATARGET_SRC} -target ${JAVATARGET_DST} -bootclasspath "${BOOTCLASSPATH}" -cp "${CLASSPATH}" -d "${OUTDIR}" -sourcepath "${SRCDIR}" ${SRCLIST}
	cd ${OUTDIR} && $(ZIP) ../${PRENAME} ./*
	$(PROGUARD) -injars ${PRENAME} -outjars ${OUTNAME} ${PROGUARD_OPTS}

clean:
	rm -rf ${OUTDIR} ${OUTNAME} ${PRENAME}

