summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-09-18 10:46:34 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-09-18 10:46:34 +0200
commit2e15b9f8a8be3bea2b0ed1cb633c2f35582e39b8 (patch)
tree88587ce79357e1791075fdf3e8afb820225df864 /instance-calculator/Makefile
parent079af0e3eacb62e9e0cecedef7e0c7ddffe74275 (diff)
parent77838a1342b53ca97d842ef47ff91f44f6a5bbeb (diff)
Merge branch 'master' of dreamhost:~/repositories/git/tabellion
Diffstat (limited to 'instance-calculator/Makefile')
-rw-r--r--instance-calculator/Makefile75
1 files changed, 75 insertions, 0 deletions
diff --git a/instance-calculator/Makefile b/instance-calculator/Makefile
new file mode 100644
index 0000000..9dddc88
--- /dev/null
+++ b/instance-calculator/Makefile
@@ -0,0 +1,75 @@
+## Parameters ##################################################################
+#### Where to find the model
+ifndef MODEL_DIR
+MODEL_DIR =
+endif
+
+#### Where to store the Instance model
+ifndef MODEL_INSTANCES_DIR
+MODEL_INSTANCES_DIR =
+endif
+
+#### Binaries
+###### JRE binary
+ifndef JAVA
+JAVA = java
+endif
+
+###### JDK binary
+ifndef JAVAC
+JAVAC = javac
+endif
+
+## Parameters Sanity Check #####################################################
+ifeq ($(strip $(MODEL_DIR)),)
+$(error No MODEL_DIR defined as parameter.)
+endif
+
+ifeq ($(strip $(MODEL_INSTANCES_DIR)),)
+$(error No MODEL_INSTANCES_DIR defined as parameter.)
+endif
+
+ifeq ($(strip $(JAVA)),)
+$(error No Java executable defined as parameter.)
+endif
+
+ifeq ($(strip $(JAVAC)),)
+$(error No Java compiler defined as parameter.)
+endif
+
+################################################################################
+CLASSPATH = "./src/"
+
+## Makefile Magic ##############################################################
+SOURCES = $(wildcard src/*.java)
+CLASSES = $(SOURCES:.java=.class)
+MODEL_FILE = $(MODEL_DIR)/structural.mod
+OUTPUT_FILE = $(MODEL_INSTANCES_DIR)/witness
+
+## Makefile Rules ##############################################################
+compile: $(CLASSES)
+
+model: $(CLASSES) $(MODEL_INSTANCES_DIR) $(OUTPUT_FILE)
+
+solutions:
+
+clean:
+ rm -f $(CLASSES)
+ rm -f $(MODEL_INSTANCES_DIR)/*
+
+clean_model:
+ rm -f $(MODEL_INSTANCES_DIR)/*
+
+clean_solutions:
+
+########
+%.class: %.java
+ $(JAVAC) -cp $(CLASSPATH) $<
+
+$(OUTPUT_FILE): $(MODEL_FILE) $(CLASSES)
+ $(JAVA) -cp $(CLASSPATH) Main $(MODEL_FILE) "inst_" $(MODEL_INSTANCES_DIR)
+ touch $(OUTPUT_FILE)
+
+$(MODEL_INSTANCES_DIR):
+ mkdir -p $(MODEL_INSTANCES_DIR)
+