Select Git revision
Makefile 2.51 KiB
# Andreas Romeyke, SLUB Dresden
# erzeugt Submission-Application, die vorbereitete Verzeichnisse per Java SDK
# von ExLibris an Rosetta übergibt.
# Pfad zu Java
JAVAPATH=$(wildcard /usr/lib/jvm/java-1.17.0-openjdk-*/bin/)
JAVARELEASE=17
# Verwendete Rosetta-Version
ROSETTAVERSION:=7.3.0
# Pfad zum Rosetta-SDK
ROSETTASDK:=/exlibris/dps/d4_1/system.dir/dps-sdk-${ROSETTAVERSION}/lib/
# Pfad zum Rosetta-SDK, Deposit-Module
ROSETTASDKDEPOSIT:=${ROSETTASDK}/../dps-sdk-projects/dps-sdk-deposit/lib
ROSETTASDKPLUGINS:=${ROSETTASDK}/../../bundled_plugins/
ROSETTASDKJARS=$(shell find ${ROSETTASDKDEPOSIT} -name "*.jar")
# classpath
JUNITCLASSPATH:=./java/:/usr/share/java/junit4.jar:/usr/share/java/spring3-beans-3.x.jar:/usr/share/java/spring3-core-3.x.jar:$(shell find ${ROSETTASDKDEPOSIT} -name "*.jar" -print |xargs echo |sed -e "s/ /:/g")
CLASSPATH:=${ROSETTASDKDEPOSIT}/dps-sdk-${ROSETTAVERSION}.jar
# sources
SOURCES:=java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java java/org/slub/rosetta/dps/repository/plugin/storage/nfs/TestSLUBStoragePlugin.java
OBJS:=$(SOURCES:.java=.class)
JAR:=SLUBStoragePlugin.jar
BUILD:=build/
all: $(BUILD) $(JAR)
help:
@echo "erzeugt Storage-Plugin für Rosetta von Exlibris"
@echo ""
@echo "Das Argument 'clean' löscht temporäre Dateien, 'help' gibt diese Hilfe aus und"
@echo "'all' erzeugt ein JAR-File und ein Bash-Script welches das Java-Programm"
@echo "aufruft."
jarclean:
@rm -Rf $(BUILD)
test: $(OBJS)
java -cp ${CLASSPATH}:$(JUNITCLASSPATH) org.junit.runner.JUnitCore org.slub.rosetta.dps.repository.plugin.storage.nfs.TestSLUBStoragePlugin
clean: jarclean
@rm -Rf doc/
find ./java/org/ -name "*.class" -exec rm -f \{\} \;
@rm -Rf $(JAR)
distclean: clean
find ./ -name "*~" -exec rm -f \{\} \;
@rm -Rf null
$(BUILD):
@mkdir $@;
@mkdir $@/lib
$(JAR): $(OBJS)
@cp -r PLUGIN-INF/ $(BUILD)
@cp -r META-INF/ $(BUILD)
@cd java; find ./ -name "*.class" -print -exec cp --parents -r \{\} $(PWD)/$(BUILD) \; ; cd ..
@cd $(BUILD); ${JAVAPATH}/jar cfvM ../$@ ./* ; cd ..
%.class: %.java
${JAVAPATH}/javac --release ${JAVARELEASE} -g -classpath ${CLASSPATH}:${JUNITCLASSPATH} -Xlint:all $<
doc: $(SOURCES)
javadoc -d doc/ $^
check_prerequisites:
@echo -n "### Checking java path: $(JAVAPATH) ...."
@if [ -e $(JAVAPATH) ]; then echo "fine :)"; else echo " not found! :("; fi
@echo -n "### Checking Exlibris Rosetta SDK path: $(ROSETTASDK) ...."
@if [ -e $(ROSETTASDK) ]; then echo "fine :)"; else echo " not found! :("; fi
.PHONY: help clean distclean jarclean test