diff --git a/Makefile b/Makefile
index dcdf89f6902662e9a290a83772d246db0737dfc9..e053e00e6b2b651e2b89e098b1d6514c89a49874 100644
--- a/Makefile
+++ b/Makefile
@@ -5,66 +5,64 @@
 
 # Pfad zu Java
 JAVAPATH=$(wildcard /usr/lib/jvm/java-1.17.0-openjdk-*/bin/)
+JAVARELEASE=17
 
 # Verwendete Rosetta-Version
-ROSETTAVERSION=7.3.0
+ROSETTAVERSION:=7.3.0
 
 # Pfad zum Rosetta-SDK
-ROSETTASDK=/exlibris/dps/d4_1/system.dir/dps-sdk-${ROSETTAVERSION}/lib/
+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/
-
+ROSETTASDKDEPOSIT:=${ROSETTASDK}/../dps-sdk-projects/dps-sdk-deposit/lib
+ROSETTASDKPLUGINS:=${ROSETTASDK}/../../bundled_plugins/
+ROSETTASDKJARS=$(shell find ${ROSETTASDKDEPOSIT} -name "*.jar")
 
 # classpath
-JUNITCLASSPATH=/usr/share/java/junit4.jar
-#SOURCESCLASSPATH=org/slub/rosetta/dps/repository/plugin/storage/nfs
-CLASSPATH=./java:${ROSETTASDKDEPOSIT}/../src/:${ROSETTASDKDEPOSIT}/xmlbeans-2.3.0.jar:${ROSETTASDKDEPOSIT}/dps-sdk-${ROSETTAVERSION}.jar:${ROSETTASDKDEPOSIT}/log4j-api-2.17.1.jar:${ROSETTASDKDEPOSIT}/log4j-core-2.17.1.jar:${ROSETTASDKPLUGINS}/NFSStoragePlugin.jar
+JUNITCLASSPATH:=./java/:/usr/share/java/junit4.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/
 
-#SOURCES=java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java\
-#	java/org/slub/rosetta/dps/repository/plugin/storage/nfs/TestSLUBStoragePlugin.java
-SOURCES=java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java
-OBJS=$(SOURCES:.java=.class)
-
-
-all: SLUBStoragePlugin.jar
+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 "'compile' erzeugt ein JAR-File und ein Bash-Script welches das Java-Programm"
+	@echo "'all' erzeugt ein JAR-File und ein Bash-Script welches das Java-Programm"
 	@echo "aufruft."
 
 jarclean:
-	@rm -Rf build
+	@rm -Rf $(BUILD)
 
 test:   $(OBJS) 
-	java -cp ${CLASSPATH}:$(JUNITCLASSPATH) org.junit.runner.JUnitCore org.slub.rosetta.dps.repository.plugin.storage.nfs.testSLUBStoragePlugin
+	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 SLUBStoragePlugin.jar
+	@rm -Rf $(JAR)
 
 distclean: clean
 	find ./ -name "*~" -exec rm -f \{\} \;
 	@rm -Rf null
 
-SLUBStoragePlugin.jar: $(OBJS)
-	@mkdir build;
-	@find ./ -name "*~" -exec rm -f \{\} \;
-	@cp -r PLUGIN-INF/ build/
-	@cp -r META-INF/ build/
-	@cd java; find ./ -name "*.class" -print -exec cp --parents -r \{\} $(PWD)/build \; ; cd ..
-	#@cp /exlibris/dps/d4_1/system.dir/bundled_plugins/NFSStoragePlugin.jar build/
-	#cd build; ${JAVAPATH}/jar xfz /exlibris/dps/d4_1/system.dir/bundled_plugins/NFSStoragePlugin.jar
-	@cd build; ${JAVAPATH}/jar cfvM ../$@ ./* ; cd ..
+$(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 -classpath ${CLASSPATH}:${JUNITCLASSPATH} -Xlint:all -Werror $< 
+	${JAVAPATH}/javac --release ${JAVARELEASE} -g -classpath ${CLASSPATH}:${JUNITCLASSPATH} -Xlint:all $<
 
 doc: $(SOURCES)
 	javadoc -d doc/ $^
@@ -76,4 +74,3 @@ check_prerequisites:
 	@if [ -e $(ROSETTASDK) ]; then echo "fine :)"; else echo " not found! :("; fi
 
 .PHONY: help clean distclean jarclean test
-