Select Git revision
Makefile 3.06 KiB
# Andreas Romeyke, SLUB Dresden
# Plugin, welches XML Dateien gegen einen XML Katalog validiert
# 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 und lokalen JARs
ROSETTASDK:=/exlibris/dps/d4_1/system.dir/dps-sdk-${ROSETTAVERSION}/dps-sdk-projects/dps-sdk-deposit/lib/
LOCALJARS=$(shell if [ -d lib ]; then find lib -name "*.jar" -print |xargs echo |sed -e "s/ /:/g"; fi)
# classpath
JUNITCLASSPATH:=./java/:./resources/:/usr/share/java/junit4.jar
COMMONSCLIJAR:=/usr/share/java/commons-cli.jar
CLASSPATH:=$(shell find ${ROSETTASDK} -name "*.jar" -print | xargs echo | sed -e "s/ /:/g"):${LOCALJARS}:${COMMONSCLIJAR}
# sources
PLUGINCLASS:=XmlFormatValidationPlugin
JAR:=${PLUGINCLASS}.jar
SOURCES:=$(shell find java/ -name "*.java" -print | xargs echo)
OBJS:=$(SOURCES:.java=.class)
BUILD:=build/
TESTSOURCES:=$(shell find resources/ -name "*.java" -print | xargs echo )
TESTOBJS:=$(TESTSOURCES:.java=.class)
MINIMAL_JAR:=0
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_dtd: $(TESTOBJS) $(JAR)
java -Djaxp.debug=1 -cp ${CLASSPATH}:$(JUNITCLASSPATH) org.junit.runner.JUnitCore org.slub.rosetta.dps.repository.plugin.Validation.TestValidateDTD;
test_schema: $(TESTOBJS) $(JAR)
java -cp ${CLASSPATH}:$(JUNITCLASSPATH) org.junit.runner.JUnitCore org.slub.rosetta.dps.repository.plugin.Validation.TestValidateSchema;
test_relaxNG: $(TESTOBJS) $(JAR)
java -cp ${CLASSPATH}:$(JUNITCLASSPATH) org.junit.runner.JUnitCore org.slub.rosetta.dps.repository.plugin.Validation.TestValidateRelaxNG;
test_combined: $(TESTOBJS) $(JAR)
java -cp ${CLASSPATH}:$(JUNITCLASSPATH) org.junit.runner.JUnitCore org.slub.rosetta.dps.repository.plugin.TestXmlFormatValidationPlugin
test: test_dtd test_schema test_relaxNG
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