Commit | Line | Data |
---|---|---|
760b3e8b MF |
1 | dnl Copyright (C) 1997-2021 Free Software Foundation, Inc. |
2 | dnl | |
3 | dnl This program is free software; you can redistribute it and/or modify | |
4 | dnl it under the terms of the GNU General Public License as published by | |
5 | dnl the Free Software Foundation; either version 3 of the License, or | |
6 | dnl (at your option) any later version. | |
7 | dnl | |
8 | dnl This program is distributed in the hope that it will be useful, | |
9 | dnl but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | dnl GNU General Public License for more details. | |
12 | dnl | |
13 | dnl You should have received a copy of the GNU General Public License | |
14 | dnl along with this program. If not, see <http://www.gnu.org/licenses/>. | |
15 | dnl | |
16 | dnl Generate the Makefile in a target specific directory. | |
17 | dnl Substitutions aren't performed on the file in AC_SUBST_FILE, | |
18 | dnl so this is a cover macro to tuck the details away of how we cope. | |
19 | dnl We cope by having autoconf generate two files and then merge them into | |
20 | dnl one afterwards. The two pieces of the common fragment are inserted into | |
21 | dnl the target's fragment at the appropriate points. | |
22 | AC_DEFUN([SIM_AC_OUTPUT], | |
23 | [dnl | |
760b3e8b MF |
24 | dnl Make @cgen_breaks@ non-null only if the sim uses CGEN. |
25 | cgen_breaks="" | |
26 | if grep CGEN_MAINT $srcdir/Makefile.in >/dev/null; then | |
27 | cgen_breaks="break cgen_rtx_error"; | |
28 | fi | |
29 | AC_SUBST(cgen_breaks) | |
30 | AC_CONFIG_FILES(Makefile.sim:Makefile.in) | |
31 | AC_CONFIG_FILES(Make-common.sim:../common/Make-common.in) | |
32 | AC_CONFIG_FILES(.gdbinit:../common/gdbinit.in) | |
33 | AC_CONFIG_COMMANDS([Makefile], | |
34 | [echo "Merging Makefile.sim+Make-common.sim into Makefile ..." | |
35 | rm -f Makesim1.tmp Makesim2.tmp Makefile | |
36 | sed -n -e '/^## COMMON_PRE_/,/^## End COMMON_PRE_/ p' <Make-common.sim >Makesim1.tmp | |
37 | sed -n -e '/^## COMMON_POST_/,/^## End COMMON_POST_/ p' <Make-common.sim >Makesim2.tmp | |
38 | sed -e '/^## COMMON_PRE_/ r Makesim1.tmp' \ | |
39 | -e '/^## COMMON_POST_/ r Makesim2.tmp' \ | |
40 | <Makefile.sim >Makefile | |
41 | rm -f Makefile.sim Make-common.sim Makesim1.tmp Makesim2.tmp | |
42 | ]) | |
43 | AC_CONFIG_COMMANDS([stamp-h], [echo > stamp-h]) | |
44 | ||
45 | dnl These are unfortunate. They are conditionally called by other sim macros | |
46 | dnl but always used by common/Make-common.in. So we have to subst here even | |
47 | dnl when the rest of the code is in the respective macros. | |
760b3e8b | 48 | AC_SUBST(sim_bitsize) |
760b3e8b MF |
49 | AC_SUBST(sim_float) |
50 | AC_SUBST(sim_scache) | |
51 | AC_SUBST(sim_default_model) | |
760b3e8b MF |
52 | AC_SUBST(sim_reserved_bits) |
53 | ||
54 | AC_OUTPUT | |
55 | ]) |