summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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)
+