# Andreas Romeyke, SLUB Dresden # Plugin, welches TIFFs via checkit_tiff validiert # Pfad zu Java JAVAPATH:=$(wildcard /usr/lib/jvm/java-1.17.0-openjdk-*/bin/) JAVARELEASE:=17 # Verwendete Rosetta-Version ROSETTAVERSION:=8.0.0 # Pfad zum Rosetta-SDK ROSETTASDK:=/exlibris/dps/d4_1/system.dir/dps-sdk-${ROSETTAVERSION}/dps-sdk-projects/dps-sdk-deposit/lib/ # classpath JUNITCLASSPATH:=/usr/share/java/junit4.jar CLASSPATH:=$(shell find ${ROSETTASDK} -name "*.jar" -print | xargs echo | sed -e "s/ /:/g") # sources PLUGINCLASS:=SLUBRetroMonographieTIFFFormatValidationPlugin SOURCES:=java/org/slub/rosetta/dps/repository/plugin/${PLUGINCLASS}.java OBJS:=$(SOURCES:.java=.class) PLUGINVERSION:=$(shell grep -o "<pl:version>.*</pl:version>" PLUGIN-INF/*.xml | sed -e "s#<pl:version>##g" | sed -e "s#</pl:version>##g") JAR:=${PLUGINCLASS}.jar BUILD:=build/ all: $(BUILD) $(JAR) help: @echo "erzeugt 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 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