struct / union in initializer, RFE #901.
[sdcc.git] / sdcc / support / cpp / Makefile.def
blob499e642bddbe9a111b62f93572c95eec39457db0
1 #! /usr/bin/autogen
2 AutoGen definitions Makefile.tpl;
4 // Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'.
5 // This file was originally written by Nathanael Nerode.
6 //
7 // Copyright 2002-2021 Free Software Foundation
8 //
9 // This file is free software; you can redistribute it and/or modify
10 // it under the terms of the GNU General Public License as published by
11 // the Free Software Foundation; either version 3 of the License, or
12 // (at your option) any later version.
13 //
14 // This program is distributed in the hope that it will be useful,
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 // GNU General Public License for more details.
18 //
19 // You should have received a copy of the GNU General Public License
20 // along with this program; see the file COPYING3. If not see
21 // <http://www.gnu.org/licenses/>.
24 // "missing" indicates that that module doesn't supply
25 // that recursive target in its Makefile.
27 build_modules= { module= libcpp;
28 extra_configure_flags='--disable-nls am_cv_func_iconv=no';};
30 // host_modules= { module= binutils; bootstrap=true; };
31 host_modules= { module= gcc; bootstrap=true;
32 extra_make_flags="$(EXTRA_GCC_FLAGS)"; };
33 host_modules= { module= libbacktrace; bootstrap=true; };
34 host_modules= { module= libcpp; bootstrap=true; };
36 target_modules = { module= libbacktrace; bootstrap=true; };
38 // These are (some of) the make targets to be done in each subdirectory.
39 // Not all; these are the ones which don't have special options.
40 // "depend" indicates that a target depends on another target uniformly
41 // for each subdirectory. There can be several such lines per target.
42 recursive_targets = { make_target= info;
43 depend=configure; };
44 recursive_targets = { make_target= dvi;
45 depend=configure; };
46 recursive_targets = { make_target= pdf;
47 depend=configure; };
48 recursive_targets = { make_target= html;
49 depend=configure; };
50 recursive_targets = { make_target= TAGS;
51 depend=configure; };
52 recursive_targets = { make_target= install-info;
53 depend=configure;
54 depend=info; };
55 recursive_targets = { make_target= install-dvi;
56 depend=configure;
57 depend=dvi; };
58 recursive_targets = { make_target= install-pdf;
59 depend=configure;
60 depend=pdf; };
61 recursive_targets = { make_target= install-html;
62 depend=configure;
63 depend=html; };
64 recursive_targets = { make_target= installcheck;
65 depend=configure; };
66 recursive_targets = { make_target= mostlyclean; };
67 recursive_targets = { make_target= clean; };
68 recursive_targets = { make_target= distclean; };
69 recursive_targets = { make_target= maintainer-clean; };
71 // Flags which need to be passed down.
73 // Directories etc.
74 flags_to_pass = { flag= DESTDIR ; };
75 flags_to_pass = { flag= RPATH_ENVVAR ; };
76 flags_to_pass = { flag= TARGET_SUBDIR ; };
77 flags_to_pass = { flag= bindir ; };
78 flags_to_pass = { flag= datadir ; };
79 flags_to_pass = { flag= exec_prefix ; };
80 flags_to_pass = { flag= includedir ; };
81 flags_to_pass = { flag= datarootdir ; };
82 flags_to_pass = { flag= docdir ; };
83 flags_to_pass = { flag= infodir ; };
84 flags_to_pass = { flag= pdfdir ; };
85 flags_to_pass = { flag= htmldir ; };
86 flags_to_pass = { flag= libdir ; };
87 flags_to_pass = { flag= libexecdir ; };
88 flags_to_pass = { flag= lispdir ; };
89 flags_to_pass = { flag= localstatedir ; };
90 flags_to_pass = { flag= mandir ; };
91 flags_to_pass = { flag= oldincludedir ; };
92 flags_to_pass = { flag= prefix ; };
93 flags_to_pass = { flag= sbindir ; };
94 flags_to_pass = { flag= sharedstatedir ; };
95 flags_to_pass = { flag= sysconfdir ; };
96 flags_to_pass = { flag= tooldir ; };
97 flags_to_pass = { flag= build_tooldir ; };
98 flags_to_pass = { flag= target_alias ; };
100 // Build tools
101 flags_to_pass = { flag= AWK ; };
102 flags_to_pass = { flag= BISON ; };
103 flags_to_pass = { flag= CC_FOR_BUILD ; };
104 flags_to_pass = { flag= CFLAGS_FOR_BUILD ; };
105 flags_to_pass = { flag= CXX_FOR_BUILD ; };
106 flags_to_pass = { flag= EXPECT ; };
107 flags_to_pass = { flag= FLEX ; };
108 flags_to_pass = { flag= INSTALL ; };
109 flags_to_pass = { flag= INSTALL_DATA ; };
110 flags_to_pass = { flag= INSTALL_PROGRAM ; };
111 flags_to_pass = { flag= INSTALL_SCRIPT ; };
112 flags_to_pass = { flag= LDFLAGS_FOR_BUILD ; };
113 flags_to_pass = { flag= LEX ; };
114 flags_to_pass = { flag= M4 ; };
115 flags_to_pass = { flag= MAKE ; };
116 flags_to_pass = { flag= RUNTEST ; };
117 flags_to_pass = { flag= RUNTESTFLAGS ; };
118 flags_to_pass = { flag= SED ; };
119 flags_to_pass = { flag= SHELL ; };
120 flags_to_pass = { flag= YACC ; };
122 // Host tools
123 flags_to_pass = { flag= ADAFLAGS ; optional=true ; };
124 flags_to_pass = { flag= ADA_CFLAGS ; };
125 flags_to_pass = { flag= AR_FLAGS ; };
126 flags_to_pass = { flag= BOOT_ADAFLAGS ; optional=true ; };
127 flags_to_pass = { flag= BOOT_CFLAGS ; };
128 flags_to_pass = { flag= BOOT_LDFLAGS ; };
129 flags_to_pass = { flag= CFLAGS ; };
130 flags_to_pass = { flag= CXXFLAGS ; };
131 flags_to_pass = { flag= LDFLAGS ; };
132 flags_to_pass = { flag= LIBCFLAGS ; };
133 flags_to_pass = { flag= LIBCXXFLAGS ; };
134 flags_to_pass = { flag= STAGE1_CHECKING ; };
135 flags_to_pass = { flag= STAGE1_LANGUAGES ; };
136 flags_to_pass = { flag= GNATBIND ; };
137 flags_to_pass = { flag= GNATMAKE ; };
138 flags_to_pass = { flag= GDC ; };
139 flags_to_pass = { flag= GDCFLAGS ; };
141 // Target tools
142 flags_to_pass = { flag= AR_FOR_TARGET ; };
143 flags_to_pass = { flag= AS_FOR_TARGET ; };
144 flags_to_pass = { flag= CC_FOR_TARGET ; };
145 flags_to_pass = { flag= CFLAGS_FOR_TARGET ; };
146 flags_to_pass = { flag= CPPFLAGS_FOR_TARGET ; };
147 flags_to_pass = { flag= CXXFLAGS_FOR_TARGET ; };
148 flags_to_pass = { flag= DLLTOOL_FOR_TARGET ; };
149 flags_to_pass = { flag= DSYMUTIL_FOR_TARGET ; };
150 flags_to_pass = { flag= FLAGS_FOR_TARGET ; };
151 flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
152 flags_to_pass = { flag= GOC_FOR_TARGET ; };
153 flags_to_pass = { flag= GOCFLAGS_FOR_TARGET ; };
154 flags_to_pass = { flag= GDC_FOR_TARGET ; };
155 flags_to_pass = { flag= GDCFLAGS_FOR_TARGET ; };
156 flags_to_pass = { flag= LD_FOR_TARGET ; };
157 flags_to_pass = { flag= LIPO_FOR_TARGET ; };
158 flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; };
159 flags_to_pass = { flag= LIBCFLAGS_FOR_TARGET ; };
160 flags_to_pass = { flag= LIBCXXFLAGS_FOR_TARGET ; };
161 flags_to_pass = { flag= NM_FOR_TARGET ; };
162 flags_to_pass = { flag= OBJDUMP_FOR_TARGET ; };
163 flags_to_pass = { flag= OBJCOPY_FOR_TARGET ; };
164 flags_to_pass = { flag= RANLIB_FOR_TARGET ; };
165 flags_to_pass = { flag= READELF_FOR_TARGET ; };
166 flags_to_pass = { flag= STRIP_FOR_TARGET ; };
167 flags_to_pass = { flag= WINDRES_FOR_TARGET ; };
168 flags_to_pass = { flag= WINDMC_FOR_TARGET ; };
170 // Miscellaneous
171 flags_to_pass = { flag= BUILD_CONFIG ; };
172 flags_to_pass = { flag= LANGUAGES ; optional=true ; };
173 flags_to_pass = { flag= LEAN ; };
175 // Inter-module dependencies
177 // Build modules
178 dependencies = { module=all-build-bison; on=all-build-texinfo; };
179 dependencies = { module=all-build-flex; on=all-build-texinfo; };
180 dependencies = { module=all-build-flex; on=all-build-bison; };
181 dependencies = { module=all-build-flex; on=all-build-m4; };
182 dependencies = { module=all-build-m4; on=all-build-texinfo; };
184 // Host modules specific to gcc.
185 dependencies = { module=all-gcc; on=all-libcpp; hard=true; };
186 dependencies = { module=all-gcc; on=all-libbacktrace; hard=true; };
188 // dependencies = { module=configure-libcpp; hard=true; };
190 languages = { language=c; gcc-check-target=check-gcc; };
192 // Toplevel bootstrap
193 bootstrap_stage = { id=1 ; };
194 bootstrap_stage = {
195 id=2 ; prev=1 ;
196 bootstrap_target=bootstrap2 ; };
197 bootstrap_stage = {
198 id=3 ; prev=2 ; lean=1 ;
199 compare_target=compare ;
200 bootstrap_target=bootstrap ;
201 cleanstrap_target=cleanstrap ; };
202 bootstrap_stage = {
203 id=4 ; prev=3 ; lean=2 ;
204 compare_target=compare3 ;
205 bootstrap_target=bootstrap4 ; };
206 bootstrap_stage = {
207 id=profile ; prev=1 ; };
208 bootstrap_stage = {
209 id=train; prev=profile ; } ;
210 bootstrap_stage = {
211 id=feedback ; prev=train;
212 bootstrap_target=profiledbootstrap ; };
213 bootstrap_stage = {
214 id=autoprofile ; prev=1 ;
215 autoprofile="$$s/gcc/config/i386/$(AUTO_PROFILE)" ; };
216 bootstrap_stage = {
217 id=autofeedback ; prev=autoprofile ;
218 bootstrap_target=autoprofiledbootstrap ;
219 profile_data="PERF_DATA=perf.data" ; };