Remove broken dumping support from portfolio build (#2470)
[cvc5.git] / Makefile.builds.in
1 # -*- makefile -*-
2 #
3 # This Makefile produces the Makefile in the top-level builds/
4 # directory for standard-path builds (e.g., those configured from the
5 # source tree). It has some autoconf cruft in it, documented below.
6 #
7 # Its main purposes are to:
8 # 1. build the current build profile
9 # 2. set up builds/$(CURRENT_BUILD)/{bin,lib} symlinks
10 # 3. set up builds/bin and builds/lib symlinks
11
12 # Include the "current" build profile.
13 include current
14
15 # Set up $(MAKE)
16 @SET_MAKE@
17
18 # Set up some basic autoconf make vars
19 srcdir = @srcdir@
20 builddir = @builddir@
21 install_sh = @install_sh@
22 mkinstalldirs = $(install_sh) -d
23 exec_prefix = @exec_prefix@
24 prefix = @prefix@
25 bindir = @bindir@
26 libdir = @libdir@
27 abs_builddir = @abs_builddir@
28 distdir = @PACKAGE@-@VERSION@
29 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
30 EXEEXT = @EXEEXT@
31 SHELL = @SHELL@
32 LIBTOOL = $(CURRENT_BUILD)/libtool
33
34 # @
35 AM_V_at = $(am__v_at_$(V))
36 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
37 am__v_at_0 = @
38 am__v_at_1 =
39 # mkinstalldirs (never prefix with @; not a top-level instruction)
40 AM_V_mkdir_noat = $(am__v_mkdir_noat_$(V))
41 am__v_mkdir_noat_ = $(am__v_mkdir_noat_$(AM_DEFAULT_VERBOSITY))
42 am__v_mkdir_noat_0 = $(SHELL) -c 'echo " MKDIR $$@"; $(mkinstalldirs) "$$@"' bash
43 am__v_mkdir_noat_1 = $(mkinstalldirs)
44 # mkinstalldirs (can prefix with @)
45 AM_V_mkdir = $(am__v_mkdir_$(V))
46 am__v_mkdir_ = $(am__v_mkdir_$(AM_DEFAULT_VERBOSITY))
47 am__v_mkdir_0 = @$(am__v_mkdir_noat_0)
48 am__v_mkdir_1 = $(am__v_mkdir_noat_1)
49
50 # all the binaries that might need to be installed
51 # (it's not a fatal error for one/some don't exist in a given build
52 # configuration)
53 CVC4_BINARIES = cvc4$(EXEEXT) pcvc4$(EXEEXT)
54
55 .PHONY: _default_build_ all examples
56 _default_build_: all
57 all:
58 # build the current build profile
59 $(AM_V_at)(cd $(CURRENT_BUILD) && $(MAKE) $@)
60 # set up builds/$(CURRENT_BUILD)/{bin,lib}
61 $(AM_V_mkdir) $(CURRENT_BUILD)/bin
62 $(AM_V_mkdir) $(CURRENT_BUILD)/lib
63 # symlink libcvc4, libcvc4parser
64 $(AM_V_at)cd $(CURRENT_BUILD)/lib && \
65 ln -sf ../src/libcvc4.* \
66 ../src/parser/libcvc4parser.* \
67 .
68 -$(AM_V_at)cd $(CURRENT_BUILD)/lib && \
69 test -d ../src/.libs && \
70 ln -sf ../src/.libs/libcvc4.* \
71 .
72 -$(AM_V_at)cd $(CURRENT_BUILD)/lib && \
73 test -d ../src/parser/.libs && \
74 ln -sf ../src/parser/.libs/libcvc4parser.* \
75 .
76 # symlink the binaries
77 $(AM_V_at)cd $(CURRENT_BUILD)/bin && \
78 for binary in $(CVC4_BINARIES); do \
79 if test -x ../src/main/$$binary; then \
80 ln -sf ../src/main/$$binary \
81 . ; \
82 else \
83 rm -f "$$binary"; \
84 fi; \
85 done
86 # set up builds/doc and builds/examples
87 $(AM_V_at)rm -f bin; ln -sf $(CURRENT_BUILD)/bin bin
88 $(AM_V_at)rm -f lib; ln -sf $(CURRENT_BUILD)/lib lib
89 $(AM_V_at)rm -f doc; ln -sf $(CURRENT_BUILD)/doc doc
90 $(AM_V_at)rm -f examples; ln -sf $(CURRENT_BUILD)/examples examples
91
92 # The descent into "src" with target "check" is to build check
93 # prerequisites (e.g. CHECK_PROGRAMS, CHECK_LTLIBRARIES, ...).
94 check test units: all
95 (cd $(CURRENT_BUILD)/src && $(MAKE) check)
96 +(cd $(CURRENT_BUILD)/test && $(MAKE) $@)
97 systemtests regress: all
98 +(cd $(CURRENT_BUILD)/test && $(MAKE) $@)
99 units%: all
100 (cd $(CURRENT_BUILD)/src && $(MAKE) check)
101 +(cd $(CURRENT_BUILD)/test && $(MAKE) units TEST_PREFIX=$(subst units:,,$@))
102 regress%: all
103 +(cd $(CURRENT_BUILD)/test && $(MAKE) $@)
104
105 dist:
106 (cd $(CURRENT_BUILD) && $(MAKE) $@)
107 $(install_sh) \
108 $(CURRENT_BUILD)/$(distdir).tar.gz \
109 "`pwd`"
110
111 TAGS tags:
112 +(cd $(CURRENT_BUILD) && $(MAKE) $@)
113 ln -sf $(CURRENT_BUILD)/TAGS .
114
115 .PHONY: TAGS tags
116
117 .PHONY: doc-builds doc-prereq
118 doc-builds: doc-prereq
119 +(cd $(CURRENT_BUILD) && $(MAKE) doxygen-doc CVC4_DOXYGEN_INPUT="`builddir="$(builddir)" srcdir="$(srcdir)" "$(srcdir)/doc/find_public_interface.sh"`")
120 doc-internals-builds: doc-prereq
121 +(cd $(CURRENT_BUILD) && $(MAKE) doxygen-doc CVC4_DOXYGEN_INPUT="$(srcdir)/src src")
122 doc-prereq:
123 +(cd $(CURRENT_BUILD) && for dir in `find . -name Makefile | xargs grep -l BUILT_SOURCES`; do (cd `dirname "$$dir"`; (cat Makefile; echo 'doc-prereq: $$(BUILT_SOURCES)') | $(MAKE) -f- doc-prereq); done)
124
125 # Any other target than the default doesn't do the extra stuff above.
126 # Split out "examples" target, recent Makes don't want them combined.
127 examples:
128 +(cd $(CURRENT_BUILD) && $(MAKE) $@)
129 %:
130 +(cd $(CURRENT_BUILD) && $(MAKE) $@)