Chris Novakovic
7f7813105e
prism/Makefile: add "source-jar" target
Create a new target "source-jar" that generates a JAR file containing
PRISM's .java, .form and .jj source files. This can be associated with
the regular JAR file in a Java IDE to more easily debug projects that
use PRISM's Java API.
7 years ago
Chris Novakovic
6d75b3a234
prism/Makefile: parameterise hardcoded directory names
In the "binary" target, parameterise the following directory names to
match the style used in other targets:
classes -> CLASSES_DIR
dtds -> DTDS_DIR (new variable)
images -> IMAGES_DIR (new variable)
lib -> LIB_DIR
src -> SRC_DIR
7 years ago
Joachim Klein
799285f921
Makefile: new target 'testsfull'
'testsfull' runs the test cases from prism-tests against all the
different engines (explicit, hybrid, sparse, mtbdd, exact), with and
without interval iteration and topological ordering, where appropriate.
8 years ago
Joachim Klein
081b9a9503
Makefile: Remove JAVAH variable
Not needed anymore after previous commit (switch to javac -h based generation of the JNI .h files).
8 years ago
Joachim Klein
4de3c189a4
Build: Switch from javah (deprecated since JDK8) based JNI header generation to javac
As noted in #68 , the javah tool has been removed in JDK10. Here, we switch to the new way of generating the JNI .h files, using the -h option of the regular javac compiler.
We have to adapt all Makefiles (not only those in directories that contain classes with native methods), as javac compiles all required classes (and generates their JNI headers) beyond the directory with the Makefile.
The .h files generated by javac -h had a different naming scheme, now there is a prefix for the package name. To avoid having to touch all the #includes, we generate the new .h files in prism/include/jni and provide legacy headers in the old location and with the old name, forwarding the the corresponding new header. In the future, at an appropriate moment, those legacy headers can be removed and replace with direct includes.
Currently, there is a post-processing step on Windows: After the .h file is generated, dos2unix is called to replace the Windows CRLF line endings. Otherwise, the generated headers show up as changed files in version control. As now there are no special targets for the generation of the .h files anymore, we move to a global post-processing step and call dos2unix on prism/include/jni/*.h at the end of building.
8 years ago
Joachim Klein
b148c57342
Makfile: call clean_ext from clea_all
For clean_all, we also want to clean the external library stuff (lpsolve, ...).
Reported by Christian Hensel.
8 years ago
Joachim Klein
7352d90cb1
Makefile: target 'tests' picks up extra arguments via TESTS_ARGS
TESTS_ARGS options are passed to prism-auto.
E.g.:
make tests TESTS_ARGS="-x '-epsilon 1e-10'"
8 years ago
Joachim Klein
1c26bf0826
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.
8 years ago
Dave Parker
1f8a05ae61
Additional test targets in Makefile
* make test - just runs a single test
* make testsecho - prints the command to run the test suite
8 years ago
Dave Parker
adc9dd2cb2
Makefile fix: "tests" targets were failing when the current directory had a space in it.
8 years ago
Dave Parker
5f496cb248
Makefile fix: distribution building still works when "bin" is missing, e.g., because empty directory not checked out from git.
8 years ago
Dave Parker
99c06ba2d4
Move prism-tests into this repository and update Makefile "tests" target.
8 years ago
Joachim Klein
5adb550043
Makefiles: inhibit parallel building (-j n mode)
Currently, building PRISM with parallel building does not work,
as there are dependencies between targets that are not fully
encoded in the Makefiles. Building with -j n flag would lead to error.
Now, we add the .NOTPARALLEL target to most of the Makefiles,
which tell GNU make to ignore the -j flag. Note that this
only inhibits parallel builds for the current Makefile, we
thus have to specify it for all sub-Makefiles as well
(see https://www.gnu.org/software/make/manual/html_node/Parallel.html )
For the external libraries, CUDD and LPSolve don't seem to mind building
in parallel, so we don't inhibit there and can get some minor compile time
speed-up by using multiple cores if the -j option is specified.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12202 bbc10eb1-c90d-0410-af57-cb519fbb1720
8 years ago
Joachim Klein
d564f13e9d
Makefile: add WARNINGS variable, activate -Wformat
We'd like to get format string warning messages. Will be fixed in subsequent commits.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12179 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
30a98ac4d0
Win64 cleanup, Makefile: remove -fpermissive flag
Not needed anymore, now that the pointer-to-integer casts are fixed.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12017 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
79ea1d96a5
Makefile, cygwin64: Remove -fPIC
The mingw compiler issues warnings that the code is position-independent by default,
so we just drop the flag.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12015 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
f21aa86be8
Makefile: C++ compiler flag --std=c++11
We would like to use C++11 features in the future, so tell the compiler
to use C++11.
The lpsolve library relies on the WIN32 macro definition to detect Windows
instead of the usual _WIN32. WIN32 seems not to be defined in mingw/gcc
when standard mode is active, so we define it ourselves.
http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system#WindowsCygwinnonPOSIXandMinGW
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12010 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
c38126a82e
Makefile: statically link pthread library for cygwin
In recent mingw g++ compilers from cygwin, the standard C++ library
depends on the pthreads library (libwinpthread-1.dll). As we'd like
for the prism DLLs to not depend on that library, we adapt the
linker flags to statically link the pthread library.
As we are not actually using any symbols, we also have to use the
--whole-archive flag to force linking.
https://stackoverflow.com/questions/13768515/how-to-do-static-linking-of-libwinpthread-1-dll-in-mingw/43402308#43402308
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12009 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
d126a8ae21
prism/Makefile: remove lib/prism.jar on clean
If lib/prism.jar exists (built by 'binary' target), it takes
precedence over newly compiled .class files. This is confusing, as
changing some sources, running 'make clean all' and then running PRISM
results in the "old" behaviour contained in lib/prism.jar.
Now, we remove lib/prism.jar on 'make clean'.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11789 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
b02abe82d9
Assume Java 8 now when building distributions.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11677 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
09a9693138
Change location of documentation sources in Makefile.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11358 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
4a9c6cb7a8
Make sure automata package is rebuilt when needed from Makefile.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11320 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
e10b900018
Add Makefile target "count_loc" to display a count of lines of code.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10979 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
91227cf4c8
Highlight some error messages in the Makefile (fix).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10790 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
3a104c0760
Highlight some error messages in the Makefile.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10788 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
c143d38707
Makefil fix: Pass location of ngprism for tests/testslocal targets.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10728 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
69b2ed1f08
Makefile tests targets use Nailgun.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10622 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
3464a921ad
First version of Nailgun support built directly into PRISM. Adding switch -ng when running prism will instead start a Nailgun server ready to run PRISM instances, and running ngprism runs PRISM as a Nailgun client.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10588 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
3d35a4bd90
Add Makefile target to force rebuild of the parser.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10332 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
2112f7b9b4
Fix javadoc target in main Makefile
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10229 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
0b8223c685
Explicit engine: Add BitSet statesOfInterest parameter to the various checkExpression... methods [Joachim Klein].
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9551 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
9d82693baf
Improvements to build process for Linux/Mac versions of lp_solve_java.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9519 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
2ddaf97daf
Experimental way of detecting jni.h if it is not in the same place as javac (e.g. on OS X Yosemite?).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9518 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
124fa87de6
Amend Makefile to use -encoding UTF8 setting more widely for javac/javah/javadoc (based on reports from SIFT).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9007 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
77bfea558f
Fix Makefile so that it does not mis-show ARCH as 86_64 when building on 32-bit Win.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8238 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
9c0273f878
Assume Java 7 not 6 when building binaries now.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8236 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
8b708ccc8e
Update build scripts to (potentially) allow 64 bit Windows installers.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7597 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
cb62c36630
More Makefile fixes for Win 64 build.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7560 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Nishan Kamaleson
6bf4f3e279
Makefile ix
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7557 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
3cf85ee0ec
Re-attempt at 64-bit Cygwin Makefile.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7552 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
c9af690615
Attempt at 64-bit Cygwin Makefile.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7551 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
41abbe6df2
Fix Makefile to build on newer versions of Cygwin (-no-cygwin).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7547 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
c43b3e390a
Makefile fix for when there are two occurrences of jni_md.h (reported/fixed by Gaston Ingaramo).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7521 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
6c7df8d3ed
Missing part of last commit
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7121 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
2cedd3daf2
Update main Makefile to pass variables correctly to new cudd-5.0 Makefile.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6963 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Ernst Moritz Hahn
fd855d0ff4
reintegrated parametric stuff
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6786 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
7576896346
Remove some make dist_src checks no longer needed.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6719 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
0540a328d2
Always display VERSION on build, not just for dist_bin target.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6688 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
babc01ecdc
Makefile tweak: Display VERSION when building dist_bin.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6687 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
c47365999d
Add Makefile target add_rev to build prism/Revision.java.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6677 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago