Browse Source

Makefiles: add Makefiles for common, cex package; update for simulator

Now, all the top-level packages have Makefiles and search for Java files
in subpackages.

If a .java file does not get picked up by the Makefiles, it will
nonetheless be compiled if referenced from somewhere else in the
project, but dependency tracking at the level of 'make' is broken.
master
Joachim Klein 8 years ago
committed by Dave Parker
parent
commit
1c26bf0826
  1. 2
      prism/Makefile
  2. 42
      prism/src/cex/Makefile
  3. 42
      prism/src/common/Makefile
  4. 2
      prism/src/simulator/Makefile

2
prism/Makefile

@ -299,7 +299,7 @@ JAVA_INCLUDES = -I $(JAVA_JNI_H_DIR) -I $(JAVA_JNI_MD_H_DIR)
# Main part of Makefile #
#########################
MAKE_DIRS = dd jdd odd dv prism mtbdd sparse hybrid parser settings userinterface pepa/compiler simulator jltl2ba jltl2dstar explicit pta param strat automata
MAKE_DIRS = dd jdd odd dv prism mtbdd sparse hybrid parser settings userinterface pepa/compiler simulator jltl2ba jltl2dstar explicit pta param strat automata common cex
EXT_PACKAGES = lpsolve55 lp_solve_5.5_java

42
prism/src/cex/Makefile

@ -0,0 +1,42 @@
################################################
# NB: This Makefile is designed to be called #
# from the main PRISM Makefile. It won't #
# work on its own because it needs #
# various options to be passed in #
################################################
.SUFFIXES: .o .c .cc
# Reminder: $@ = target, $* = target without extension, $< = dependency
THIS_DIR = cex
PRISM_DIR_REL = ../..
JAVA_FILES_ALL = $(wildcard *.java)
JAVA_FILES = $(subst package-info.java,,$(JAVA_FILES_ALL))
CLASS_FILES = $(JAVA_FILES:%.java=$(PRISM_DIR_REL)/$(CLASSES_DIR)/$(THIS_DIR)/%.class)
PRISM_CLASSPATH = "$(THIS_DIR)/$(PRISM_DIR_REL)/$(CLASSES_DIR)$(CLASSPATHSEP)$(THIS_DIR)/$(PRISM_DIR_REL)/lib/*"
default: all
all: checks $(CLASS_FILES)
# inhibit building in parallel (-j option)
.NOTPARALLEL:
# Try and prevent accidental makes (i.e. called manually, not from top-level Makefile)
checks:
@if [ "$(SRC_DIR)" = "" ]; then \
(echo "Error: This Makefile is designed to be called from the main PRISM Makefile"; exit 1) \
fi;
$(PRISM_DIR_REL)/$(CLASSES_DIR)/$(THIS_DIR)/%.class: %.java
(cd ..; $(JAVAC) -sourcepath $(THIS_DIR)/$(PRISM_DIR_REL)/$(SRC_DIR) -classpath $(PRISM_CLASSPATH) -d $(THIS_DIR)/$(PRISM_DIR_REL)/$(CLASSES_DIR) $(THIS_DIR)/$<)
clean: checks
@rm -f $(CLASS_FILES)
celan: clean
#################################################

42
prism/src/common/Makefile

@ -0,0 +1,42 @@
################################################
# NB: This Makefile is designed to be called #
# from the main PRISM Makefile. It won't #
# work on its own because it needs #
# various options to be passed in #
################################################
.SUFFIXES: .o .c .cc
# Reminder: $@ = target, $* = target without extension, $< = dependency
THIS_DIR = common
PRISM_DIR_REL = ../..
JAVA_FILES_ALL = $(wildcard *.java iterable/*.java functions/primitive/*.java)
JAVA_FILES = $(subst package-info.java,,$(JAVA_FILES_ALL))
CLASS_FILES = $(JAVA_FILES:%.java=$(PRISM_DIR_REL)/$(CLASSES_DIR)/$(THIS_DIR)/%.class)
PRISM_CLASSPATH = "$(THIS_DIR)/$(PRISM_DIR_REL)/$(CLASSES_DIR)$(CLASSPATHSEP)$(THIS_DIR)/$(PRISM_DIR_REL)/lib/*"
default: all
all: checks $(CLASS_FILES)
# inhibit building in parallel (-j option)
.NOTPARALLEL:
# Try and prevent accidental makes (i.e. called manually, not from top-level Makefile)
checks:
@if [ "$(SRC_DIR)" = "" ]; then \
(echo "Error: This Makefile is designed to be called from the main PRISM Makefile"; exit 1) \
fi;
$(PRISM_DIR_REL)/$(CLASSES_DIR)/$(THIS_DIR)/%.class: %.java
(cd ..; $(JAVAC) -sourcepath $(THIS_DIR)/$(PRISM_DIR_REL)/$(SRC_DIR) -classpath $(PRISM_CLASSPATH) -d $(THIS_DIR)/$(PRISM_DIR_REL)/$(CLASSES_DIR) $(THIS_DIR)/$<)
clean: checks
@rm -f $(CLASS_FILES)
celan: clean
#################################################

2
prism/src/simulator/Makefile

@ -12,7 +12,7 @@
THIS_DIR = simulator
PRISM_DIR_REL = ../..
JAVA_FILES_ALL = $(wildcard *.java sampler/*.java networking/*.java)
JAVA_FILES_ALL = $(wildcard *.java sampler/*.java networking/*.java method/*.java)
JAVA_FILES = $(patsubst %package-info.java,,$(JAVA_FILES_ALL))
CLASS_FILES = $(JAVA_FILES:%.java=$(PRISM_DIR_REL)/$(CLASSES_DIR)/$(THIS_DIR)/%.class)

Loading…
Cancel
Save