APP=pariscap
PKG=org/pariscap/cli
MAIN=${shell echo ${PKG} | sed 's@/@.@g'}.Main
VER=0.1

MYVER=8.1.0
PGVER=42.6.0
#~ JDBC=mysql-connector-j-${MYVER}.jar
JDBC=postgresql-${PGVER}.jar

targets:
	@echo make build
	@echo make run
	@echo make jar
	@echo make clean

clean:
	rm -rf target *.zip *.jar libs

build: target/classes/${PKG}/Main.class
	
run: target/classes/${PKG}/Main.class libs/${JDBC}
	java -cp target/classes -p libs ${MAIN}

jar: ${APP}.jar

target/classes/${PKG}/Main.class: src/main/java/${PKG}/Main.java src/main/java/${PKG}/*/*.java
	@rm -rf target/classes; mkdir -p target/classes
	javac -cp src/main/java -d target/classes src/main/java/${PKG}/Main.java

${APP}.jar: target/classes/${PKG}/Main.class libs/${JDBC}
	rm -rf ${APP}
	cp -R target/classes ${APP}
	cd ${APP}; unzip ../libs/${JDBC}
	cd ${APP}; jar cvfe ../${APP}.jar ${MAIN} *
	rm -rf ${APP}

libs/mysql-connector-j-${MYVER}.jar:
	mkdir -p libs
	cd libs; wget https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/${MYVER}/mysql-connector-j-${MYVER}.jar
	
libs/postgresql-${PGVER}.jar:
	mkdir -p libs
	cd libs; wget https://repo1.maven.org/maven2/org/postgresql/postgresql/${PGVER}/postgresql-${PGVER}.jar


#~ zip: ${APP}.zip

#~ ${APP}.zip: target/classes/${PKG}/Main.class libs/${JDBC}
#~ 	rm -rf ${APP}; mkdir ${APP}
#~ 	cd target/classes; jar cvfe ../../${APP}/${APP}.jar ${MAIN} *
#~ 	cp -R libs ${APP}
#~ 	cp ${APP}.run ${APP}/${APP} #pariscap.run: 'java -cp $(dirname $0)/pariscap.jar:$(dirname $0)/lib/mysql-connector-j-8.1.0.jar org.pariscap.cli.Main'
#~ 	sed 's/MYVER/${MYVER}/' ${APP}/${APP}
#~ 	chmod +x ${APP}/${APP}
#~ 	zip -r ${APP}-${VER}.zip ${APP}
#~ 	rm -rf ${APP}
