fix eXecutable bit on a script
[cvc5.git] / Makefile
1 # -*-makefile-*-
2 #
3 # This makefile is the _source_ directory's makefile, and is static,
4 # not generated. Makefile.am is the automake makefile for the build
5 # top-level (its corresponding Makefile.in is here, too, but the
6 # corresponding Makefile is under builds/$arch/$buildid.
7 #
8 builddir = builds
9
10 .PHONY: all
11 all .DEFAULT:
12 @if test -d $(builddir); then \
13 echo cd $(builddir); \
14 cd $(builddir); \
15 echo $(MAKE) $@; \
16 $(MAKE) $@ || exit 1; \
17 else \
18 echo; \
19 echo 'Run configure first, or type "make" in a configured build directory.'; \
20 echo; \
21 fi
22
23 distclean maintainerclean:
24 @if test -d $(builddir); then \
25 echo cd $(builddir); \
26 cd $(builddir); \
27 echo $(MAKE) $@; \
28 $(MAKE) $@ || exit 1; \
29 fi
30 test -z "$(builddir)" || rm -fr "$(builddir)"
31 rm -f config.reconfig
32
33 # synonyms for "check"
34 .PHONY: test
35 test: check
36
37 .PHONY: doc doc-internals
38 doc: doc-builds
39 doc-internals: doc-internals-builds
40
41 .PHONY: examples
42 examples: all
43 (cd examples && $(MAKE) $(AM_MAKEFLAGS))
44
45 YEAR := $(shell date +%Y)
46 submission submission-main:
47 @if [ -n "`ls src/parser/*/generated 2>/dev/null`" ]; then \
48 echo 'ERROR:' >&2; \
49 echo 'ERROR: Please make maintainer-clean first.' >&2; \
50 echo 'ERROR:' >&2; \
51 exit 1; \
52 fi
53 ./autogen.sh
54 ./configure competition --disable-shared --enable-static-binary --with-cln --without-cudd
55 $(MAKE)
56 strip builds/bin/cvc4
57 $(MAKE) check
58 $(MAKE) -C test/regress/regress1 check
59 # main track
60 mkdir -p cvc4-smtcomp-$(YEAR)
61 cp -p builds/bin/cvc4 cvc4-smtcomp-$(YEAR)/cvc4
62 cp contrib/run-script-smtcomp2012 cvc4-smtcomp-$(YEAR)/run
63 chmod 755 cvc4-smtcomp-$(YEAR)/run
64 tar cf cvc4-smtcomp-$(YEAR).tar cvc4-smtcomp-$(YEAR)
65 submission-application:
66 # application track is a separate build because it has different preprocessor #defines
67 @if [ -n "`ls src/parser/*/generated 2>/dev/null`" ]; then \
68 echo 'ERROR:' >&2; \
69 echo 'ERROR: Please make maintainer-clean first.' >&2; \
70 echo 'ERROR:' >&2; \
71 exit 1; \
72 fi
73 ./autogen.sh
74 ./configure competition --disable-shared --enable-static-binary --with-cln --without-cudd CXXFLAGS=-DCVC4_SMTCOMP_APPLICATION_TRACK CFLAGS=-DCVC4_SMTCOMP_APPLICATION_TRACK
75 $(MAKE)
76 strip builds/bin/cvc4
77 $(MAKE) check
78 $(MAKE) -C test/regress/regress1 check
79 # package the application track tarball
80 mkdir -p cvc4-application-smtcomp-$(YEAR)
81 cp -p builds/bin/cvc4 cvc4-application-smtcomp-$(YEAR)/cvc4
82 ( echo '#!/bin/sh'; \
83 echo 'exec ./cvc4 -L smt2 --no-checking --no-interactive --incremental' ) > cvc4-application-smtcomp-$(YEAR)/run
84 chmod 755 cvc4-application-smtcomp-$(YEAR)/run
85 tar cf cvc4-application-smtcomp-$(YEAR).tar cvc4-application-smtcomp-$(YEAR)
86 submission-parallel:
87 # parallel track can't be built with -cln, so it's a separate build
88 @if [ -n "`ls src/parser/*/generated 2>/dev/null`" ]; then \
89 echo 'ERROR:' >&2; \
90 echo 'ERROR: Please make maintainer-clean first.' >&2; \
91 echo 'ERROR:' >&2; \
92 exit 1; \
93 fi
94 ./autogen.sh
95 ./configure competition --disable-shared --enable-static-binary --with-gmp --without-cudd --with-portfolio
96 $(MAKE)
97 strip builds/bin/pcvc4
98 # some test cases fail (and are known to fail)
99 -$(MAKE) check BINARY=pcvc4
100 $(MAKE) -C test/regress/regress1 check BINARY=pcvc4
101 # package the parallel track tarball
102 mkdir -p cvc4-parallel-smtcomp-$(YEAR)
103 cp -p builds/bin/pcvc4 cvc4-parallel-smtcomp-$(YEAR)/pcvc4
104 ( echo '#!/bin/sh'; \
105 echo 'exec ./pcvc4 --threads 2 -L smt2 --no-checking --no-interactive' ) > cvc4-parallel-smtcomp-$(YEAR)/run
106 chmod 755 cvc4-parallel-smtcomp-$(YEAR)/run
107 tar cf cvc4-parallel-smtcomp-$(YEAR).tar cvc4-parallel-smtcomp-$(YEAR)