| summaryrefslogtreecommitdiff |
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-08-03 15:28:17 +0200 |
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-08-03 15:28:17 +0200 |
| commit | 90bb7e959496c3a12bebe055f6344b9f06f22809 (patch) | |
| tree | 6635decc697d91c8cba6da9db8959b706ad9842f /ast-to-instr/Makefile | |
| parent | c5a23ef9d6ab1e89b85016831fc8b2431f68f87f (diff) | |
Improving clarity through better Makefiles.
Diffstat (limited to 'ast-to-instr/Makefile')
| -rw-r--r-- | ast-to-instr/Makefile | 59 |
1 files changed, 42 insertions, 17 deletions
diff --git a/ast-to-instr/Makefile b/ast-to-instr/Makefile index 4a19d4f..86a6d88 100644 --- a/ast-to-instr/Makefile +++ b/ast-to-instr/Makefile @@ -1,35 +1,60 @@ -INPUT_FILE = ../data/ast/best_chronometer_ever.xml +## Parameters ################################################################## +#### GHDL's xml AST output. +ifndef AST_FILE +AST_FILE = +endif + +#### Where to output the models. +ifndef MODEL_DIR +MODEL_DIR = +endif + +#### Binaries +###### JRE binary +ifndef JAVA +JAVA = java +endif -## Executables ################################################################# +###### JDK binary +ifndef JAVAC JAVAC = javac -JAVA = java -DOWNLOADER = wget +endif + +## Parameters Sanity Check ##################################################### +ifeq ($(strip $(AST_FILE)),) +$(error No AST_FILE defined as parameter.) +endif + +ifeq ($(strip $(MODEL_DIR)),) +$(error No output directory defined for the models.) +endif + +ifeq ($(strip $(JAVA)),) +$(error No Java executable defined as parameter.) +endif + +ifeq ($(strip $(JAVAC)),) +$(error No Java compiler defined as parameter.) +endif ## Java Config ################################################################# CLASSPATH = "./src/" -## Dependencies ################################################################ -JAR_SOURCE = https://noot-noot.org/onera_2017/jar/ -REQUIRED_JARS = - ## Makefile Magic ############################################################## SOURCES = $(wildcard src/*.java) CLASSES = $(SOURCES:.java=.class) ## Makefile Rules ############################################################## -all: structural.mod +$(MODEL_DIR)/structural.mod: $(CLASSES) $(AST_FILE) + $(JAVA) -cp $(CLASSPATH) Main $(AST_FILE) $(MODEL_DIR) clean: rm -f $(CLASSES) - rm -f *.mod - -structural.mod: $(CLASSES) $(REQUIRED_JARS) $(INPUT_FILE) - $(JAVA) -cp $(CLASSPATH) Main $(INPUT_FILE) + rm -f $(MODEL_DIR)/*.mod -%.class: %.java $(REQUIRED_JARS) +%.class: %.java $(JAVAC) -cp $(CLASSPATH) $< -%.jar: - echo "Attempting to download missing jar '$@'" - $(DOWNLOADER) "$(JAR_SOURCE)/$@" +$(MODEL_DIR): + mkdir -p $@ |


