| summaryrefslogtreecommitdiff |
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2018-05-25 08:38:47 +0200 |
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2018-05-25 08:38:47 +0200 |
| commit | dd77774b6529f6050ab551cec370b896912c20fe (patch) | |
| tree | d9ca978380d14c6a02973977dfd82f5ce9018d39 | |
| parent | a858f1d7f4cc9cee322f2ceb911843584ba36e72 (diff) | |
Adds a manifest.
| -rw-r--r-- | Makefile | 31 | ||||
| -rw-r--r-- | src/Manifest.txt | 2 |
2 files changed, 17 insertions, 16 deletions
@@ -2,9 +2,10 @@ SRC_DIR ?= ${CURDIR}/src/ BIN_DIR ?= ${CURDIR}/bin/ LIB_DIR ?= ${CURDIR}/lib/ +TMP_DIR ?= /tmp/hastabel2idp_standalone.jar.build/ TARGET ?= hastabel2idp.jar -RUN_SCRIPT ?= hastabel2idp.sh +STANDALONE ?= hastabel2idp_standalone.jar INSTALL_DIR ?= $(LIB_DIR) #### Where to get the missing Jar files. @@ -20,11 +21,8 @@ JAVA ?= java ###### JDK binary JAVAC ?= javac -###### ANTLR -ANTLR_JAR ?= $(LIB_DIR)/antlr-4.7-complete.jar - ###### HASTABEL -HASTABEL_JAR ?= $(LIB_DIR)/hastabel.jar +HASTABEL_JAR ?= $(LIB_DIR)/hastabel_standalone.jar ##### Downloader DOWNLOADER ?= wget @@ -38,10 +36,6 @@ ifeq ($(strip $(JAVAC)),) $(error No Java compiler defined as parameter.) endif -ifeq ($(strip $(ANTLR_JAR)),) -$(error No ANTLR_JAR defined as parameter.) -endif - ifeq ($(strip $(HASTABEL_JAR)),) $(error No HASTABEL_JAR defined as parameter.) endif @@ -50,15 +44,22 @@ endif CLASSPATH = "$(SRC_DIR):$(BIN_DIR):$(ANTLR_JAR):$(HASTABEL_JAR)" ## Makefile Magic ############################################################## +MANIFEST = $(SRC_DIR)/Manifest.txt + JAVA_SOURCES = \ $(wildcard $(SRC_DIR)/hastabel2idp/*.java) \ $(wildcard $(SRC_DIR)/hastabel2idp/*/*.java) CLASSES = $(patsubst $(SRC_DIR)/%,$(BIN_DIR)/%, $(JAVA_SOURCES:.java=.class)) ## Makefile Rules ############################################################## -$(TARGET): $(ANTLR_JAR) $(HASTABEL_JAR) $(JAVA_SOURCES) $(CLASSES) $(RUN_SCRIPT) +$(STANDALONE): $(TMP_DIR) $(TARGET) $(ANTLR_JAR) + unzip -d $(TMP_DIR) -uo $(TARGET) + unzip -d $(TMP_DIR) -uo $(HASTABEL_JAR) + jar -cvfm $@ $(MANIFEST) -C $(TMP_DIR) . + +$(TARGET): $(HASTABEL_JAR) $(JAVA_SOURCES) $(CLASSES) $(MANIFEST) rm -f $(TARGET) $(INSTALL_DIR)/$@ - $(JAR) cf $@ -C $(BIN_DIR) . + $(JAR) cfm $@ $(MANIFEST) -C $(BIN_DIR) . cp $@ $(INSTALL_DIR)/$@ clean: @@ -73,17 +74,15 @@ $(CLASSES): $(BIN_DIR)/%.class: $(SRC_DIR)/%.java $(BIN_DIR) echo "Attempting to download missing jar '$@'..." cd $(LIB_DIR); $(DOWNLOADER) "$(JAR_SOURCE)/$(notdir $@)" +$(TMP_DIR): + mkdir -p $@ + $(LIB_DIR): mkdir -p $@ $(BIN_DIR): mkdir -p $@ -$(RUN_SCRIPT): Makefile - echo "#!/bin/sh" > $@ - echo "$(JAVA) -cp \"$(CLASSPATH)\" hastabel2idp.Main \$$*" >> $@ - chmod +x $@ - ##### For my private use... publish: $(TARGET) scp $< dreamhost:~/noot-noot/tabellion/jar/ diff --git a/src/Manifest.txt b/src/Manifest.txt new file mode 100644 index 0000000..ebf0683 --- /dev/null +++ b/src/Manifest.txt @@ -0,0 +1,2 @@ +Main-Class: hastabel2idp.Main + |


