]>
Commit | Line | Data |
---|---|---|
1 | ## Process this file with automake to generate Makefile.in | |
2 | # | |
3 | # Copyright (C) 2012-2022 Free Software Foundation, Inc. | |
4 | # | |
5 | # This file is free software; you can redistribute it and/or modify | |
6 | # it under the terms of the GNU General Public License as published by | |
7 | # the Free Software Foundation; either version 3 of the License, or | |
8 | # (at your option) any later version. | |
9 | # | |
10 | # This program is distributed in the hope that it will be useful, | |
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | # GNU General Public License for more details. | |
14 | # | |
15 | # You should have received a copy of the GNU General Public License | |
16 | # along with this program; see the file COPYING3. If not see | |
17 | # <http://www.gnu.org/licenses/>. | |
18 | # | |
19 | ||
20 | AUTOMAKE_OPTIONS = dejagnu foreign no-dist subdir-objects info-in-builddir no-texinfo.tex | |
21 | ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd | |
22 | ||
23 | MAINTAINERCLEANFILES = | |
24 | ||
25 | SUBDIRS = po | |
26 | ||
27 | tooldir = $(exec_prefix)/$(target_alias) | |
28 | ||
29 | # This is where we get zlib from. zlibdir is -L../zlib and zlibinc is | |
30 | # -I../zlib, unless we were configured with --with-system-zlib, in which | |
31 | # case both are empty. | |
32 | ZLIB = @zlibdir@ -lz | |
33 | ZLIBINC = @zlibinc@ | |
34 | ||
35 | YACC = `if [ -f ../bison/bison ] ; then echo ../bison/bison -y -L../bison/bison ; else echo @YACC@ ; fi` | |
36 | LEX = `if [ -f ../flex/flex ] ; then echo ../flex/flex ; else echo @LEX@ ; fi` | |
37 | ||
38 | # Automake 1.10+ disables lex and yacc output file regeneration if | |
39 | # maintainer mode is disabled. Avoid this. | |
40 | am__skiplex = | |
41 | am__skipyacc = | |
42 | ||
43 | WARN_CFLAGS = @WARN_CFLAGS@ @WARN_WRITE_STRINGS@ | |
44 | NO_WERROR = @NO_WERROR@ | |
45 | AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC) $(ZSTD_CFLAGS) | |
46 | ||
47 | TARG_CPU = @target_cpu_type@ | |
48 | TARG_CPU_C = $(srcdir)/config/tc-@[email protected] | |
49 | TARG_CPU_O = config/tc-@target_cpu_type@.@OBJEXT@ | |
50 | TARG_CPU_H = $(srcdir)/config/tc-@[email protected] | |
51 | OBJ_FORMAT_C = $(srcdir)/config/obj-@[email protected] | |
52 | OBJ_FORMAT_O = config/obj-@obj_format@.@OBJEXT@ | |
53 | OBJ_FORMAT_H = $(srcdir)/config/obj-@[email protected] | |
54 | TARG_ENV_H = $(srcdir)/config/te-@[email protected] | |
55 | ATOF_TARG_C = $(srcdir)/config/atof-@[email protected] | |
56 | ATOF_TARG_O = config/atof-@atof@.@OBJEXT@ | |
57 | ||
58 | # use @target_cpu_type@ for refering to configured target name | |
59 | IT_HDRS=itbl-parse.h $(srcdir)/itbl-ops.h | |
60 | IT_SRCS=itbl-parse.c itbl-lex-wrapper.c $(srcdir)/itbl-ops.c | |
61 | IT_DEPS=$(srcdir)/itbl-parse.y $(srcdir)/itbl-lex.l $(srcdir)/config/itbl-@[email protected] | |
62 | IT_OBJS=itbl-parse.@OBJEXT@ itbl-lex.@OBJEXT@ itbl-ops.@OBJEXT@ | |
63 | ||
64 | ||
65 | # Regular source files. | |
66 | ||
67 | GAS_CFILES = \ | |
68 | app.c \ | |
69 | as.c \ | |
70 | atof-generic.c \ | |
71 | codeview.c \ | |
72 | compress-debug.c \ | |
73 | cond.c \ | |
74 | depend.c \ | |
75 | dwarf2dbg.c \ | |
76 | dw2gencfi.c \ | |
77 | ecoff.c \ | |
78 | ehopt.c \ | |
79 | expr.c \ | |
80 | flonum-copy.c \ | |
81 | flonum-konst.c \ | |
82 | flonum-mult.c \ | |
83 | frags.c \ | |
84 | gen-sframe.c \ | |
85 | hash.c \ | |
86 | input-file.c \ | |
87 | input-scrub.c \ | |
88 | listing.c \ | |
89 | literal.c \ | |
90 | macro.c \ | |
91 | messages.c \ | |
92 | output-file.c \ | |
93 | read.c \ | |
94 | remap.c \ | |
95 | sb.c \ | |
96 | sframe-opt.c \ | |
97 | stabs.c \ | |
98 | subsegs.c \ | |
99 | symbols.c \ | |
100 | write.c | |
101 | ||
102 | CFILES = $(GAS_CFILES) itbl-ops.c cgen.c | |
103 | ||
104 | HFILES = \ | |
105 | as.h \ | |
106 | asintl.h \ | |
107 | bignum.h \ | |
108 | bit_fix.h \ | |
109 | cgen.h \ | |
110 | codeview.h \ | |
111 | compress-debug.h \ | |
112 | dwarf2dbg.h \ | |
113 | dw2gencfi.h \ | |
114 | ecoff.h \ | |
115 | emul-target.h \ | |
116 | emul.h \ | |
117 | expr.h \ | |
118 | flonum.h \ | |
119 | frags.h \ | |
120 | gen-sframe.h \ | |
121 | hash.h \ | |
122 | input-file.h \ | |
123 | itbl-lex.h \ | |
124 | itbl-ops.h \ | |
125 | listing.h \ | |
126 | macro.h \ | |
127 | obj.h \ | |
128 | output-file.h \ | |
129 | read.h \ | |
130 | sb.h \ | |
131 | subsegs.h \ | |
132 | symbols.h \ | |
133 | tc.h \ | |
134 | write.h | |
135 | ||
136 | # CPU files in config. | |
137 | ||
138 | TARGET_CPU_CFILES = \ | |
139 | config/tc-aarch64.c \ | |
140 | config/tc-alpha.c \ | |
141 | config/tc-arc.c \ | |
142 | config/tc-arm.c \ | |
143 | config/tc-avr.c \ | |
144 | config/tc-bfin.c \ | |
145 | config/tc-bpf.c \ | |
146 | config/tc-cr16.c \ | |
147 | config/tc-cris.c \ | |
148 | config/tc-crx.c \ | |
149 | config/tc-csky.c \ | |
150 | config/tc-d10v.c \ | |
151 | config/tc-d30v.c \ | |
152 | config/tc-dlx.c \ | |
153 | config/tc-epiphany.c \ | |
154 | config/tc-fr30.c \ | |
155 | config/tc-frv.c \ | |
156 | config/tc-ft32.c \ | |
157 | config/tc-h8300.c \ | |
158 | config/tc-hppa.c \ | |
159 | config/tc-ia64.c \ | |
160 | config/tc-i386.c \ | |
161 | config/tc-ip2k.c \ | |
162 | config/tc-iq2000.c \ | |
163 | config/tc-lm32.c \ | |
164 | config/tc-loongarch.c \ | |
165 | config/tc-m32c.c \ | |
166 | config/tc-m32r.c \ | |
167 | config/tc-m68hc11.c \ | |
168 | config/tc-m68k.c \ | |
169 | config/tc-s12z.c \ | |
170 | config/tc-mcore.c \ | |
171 | config/tc-mep.c \ | |
172 | config/tc-metag.c \ | |
173 | config/tc-microblaze.c \ | |
174 | config/tc-mips.c \ | |
175 | config/tc-mmix.c \ | |
176 | config/tc-mn10200.c \ | |
177 | config/tc-mn10300.c \ | |
178 | config/tc-moxie.c \ | |
179 | config/tc-msp430.c \ | |
180 | config/tc-mt.c \ | |
181 | config/tc-nds32.c \ | |
182 | config/tc-nios2.c \ | |
183 | config/tc-ns32k.c \ | |
184 | config/tc-or1k.c \ | |
185 | config/tc-pdp11.c \ | |
186 | config/tc-pj.c \ | |
187 | config/tc-ppc.c \ | |
188 | config/tc-pru.c \ | |
189 | config/tc-riscv.c \ | |
190 | config/tc-rl78.c \ | |
191 | config/tc-rx.c \ | |
192 | config/tc-s390.c \ | |
193 | config/tc-score.c \ | |
194 | config/tc-sh.c \ | |
195 | config/tc-sparc.c \ | |
196 | config/tc-spu.c \ | |
197 | config/tc-tic30.c \ | |
198 | config/tc-tic4x.c \ | |
199 | config/tc-tic54x.c \ | |
200 | config/tc-tic6x.c \ | |
201 | config/tc-tilegx.c \ | |
202 | config/tc-tilepro.c \ | |
203 | config/tc-v850.c \ | |
204 | config/tc-vax.c \ | |
205 | config/tc-visium.c \ | |
206 | config/tc-wasm32.c \ | |
207 | config/tc-xstormy16.c \ | |
208 | config/tc-xgate.c \ | |
209 | config/tc-xtensa.c \ | |
210 | config/tc-z80.c \ | |
211 | config/tc-z8k.c | |
212 | ||
213 | TARGET_CPU_HFILES = \ | |
214 | config/tc-aarch64.h \ | |
215 | config/tc-alpha.h \ | |
216 | config/tc-arc.h \ | |
217 | config/tc-arm.h \ | |
218 | config/tc-avr.h \ | |
219 | config/tc-bfin.h \ | |
220 | config/tc-bpf.h \ | |
221 | config/tc-cr16.h \ | |
222 | config/tc-cris.h \ | |
223 | config/tc-crx.h \ | |
224 | config/tc-csky.h \ | |
225 | config/tc-d10v.h \ | |
226 | config/tc-d30v.h \ | |
227 | config/tc-dlx.h \ | |
228 | config/tc-epiphany.h \ | |
229 | config/tc-fr30.h \ | |
230 | config/tc-frv.h \ | |
231 | config/tc-ft32.h \ | |
232 | config/tc-h8300.h \ | |
233 | config/tc-hppa.h \ | |
234 | config/tc-ia64.h \ | |
235 | config/tc-i386.h \ | |
236 | config/tc-ip2k.h \ | |
237 | config/tc-iq2000.h \ | |
238 | config/tc-lm32.h \ | |
239 | config/tc-m32c.h \ | |
240 | config/tc-m32r.h \ | |
241 | config/tc-m68hc11.h \ | |
242 | config/tc-m68k.h \ | |
243 | config/tc-s12z.h \ | |
244 | config/tc-mcore.h \ | |
245 | config/tc-mep.h \ | |
246 | config/tc-metag.h \ | |
247 | config/tc-microblaze.h \ | |
248 | config/tc-mips.h \ | |
249 | config/tc-mmix.h \ | |
250 | config/tc-mn10200.h \ | |
251 | config/tc-mn10300.h \ | |
252 | config/tc-msp430.h \ | |
253 | config/tc-mt.h \ | |
254 | config/tc-nds32.h \ | |
255 | config/tc-nios2.h \ | |
256 | config/tc-ns32k.h \ | |
257 | config/tc-or1k.h \ | |
258 | config/tc-pdp11.h \ | |
259 | config/tc-pj.h \ | |
260 | config/tc-ppc.h \ | |
261 | config/tc-pru.h \ | |
262 | config/tc-riscv.h \ | |
263 | config/tc-rl78.h \ | |
264 | config/tc-rx.h \ | |
265 | config/tc-s390.h \ | |
266 | config/tc-score.h \ | |
267 | config/tc-sh.h \ | |
268 | config/tc-sparc.h \ | |
269 | config/tc-spu.h \ | |
270 | config/tc-tic30.h \ | |
271 | config/tc-tic4x.h \ | |
272 | config/tc-tic54x.h \ | |
273 | config/tc-tic6x.h \ | |
274 | config/tc-tilegx.h \ | |
275 | config/tc-tilepro.h \ | |
276 | config/tc-v850.h \ | |
277 | config/tc-vax.h \ | |
278 | config/tc-visium.h \ | |
279 | config/tc-wasm32.h \ | |
280 | config/tc-xstormy16.h \ | |
281 | config/tc-xgate.h \ | |
282 | config/tc-xtensa.h \ | |
283 | config/tc-z80.h \ | |
284 | config/tc-z8k.h | |
285 | ||
286 | TARGET_EXTRA_FILES = \ | |
287 | config/bfin-lex-wrapper.c \ | |
288 | config/xtensa-relax.c \ | |
289 | config/xtensa-relax.h | |
290 | ||
291 | # OBJ files in config | |
292 | ||
293 | OBJ_FORMAT_CFILES = \ | |
294 | config/obj-aout.c \ | |
295 | config/obj-coff.c \ | |
296 | config/obj-ecoff.c \ | |
297 | config/obj-elf.c \ | |
298 | config/obj-evax.c \ | |
299 | config/obj-fdpicelf.c \ | |
300 | config/obj-macho.c \ | |
301 | config/obj-multi.c \ | |
302 | config/obj-som.c | |
303 | ||
304 | OBJ_FORMAT_HFILES = \ | |
305 | config/obj-aout.h \ | |
306 | config/obj-coff.h \ | |
307 | config/obj-ecoff.h \ | |
308 | config/obj-elf.h \ | |
309 | config/obj-evax.h \ | |
310 | config/obj-fdpicelf.h \ | |
311 | config/obj-macho.h \ | |
312 | config/obj-multi.h \ | |
313 | config/obj-som.h | |
314 | ||
315 | # Emulation header files in config | |
316 | ||
317 | TARG_ENV_HFILES = \ | |
318 | config/te-386bsd.h \ | |
319 | config/te-aix5.h \ | |
320 | config/te-armeabi.h \ | |
321 | config/te-armfbsdeabi.h \ | |
322 | config/te-armfbsdvfp.h \ | |
323 | config/te-armlinuxeabi.h \ | |
324 | config/te-csky_abiv1.h \ | |
325 | config/te-csky_abiv1_linux.h \ | |
326 | config/te-csky_abiv2.h \ | |
327 | config/te-csky_abiv2_linux.h \ | |
328 | config/te-freebsd.h \ | |
329 | config/te-generic.h \ | |
330 | config/te-gnu.h \ | |
331 | config/te-go32.h \ | |
332 | config/te-hppa.h \ | |
333 | config/te-hppa64.h \ | |
334 | config/te-hppalinux64.h \ | |
335 | config/te-ia64aix.h \ | |
336 | config/te-interix.h \ | |
337 | config/te-lynx.h \ | |
338 | config/te-macos.h \ | |
339 | config/te-nbsd.h \ | |
340 | config/te-nbsd532.h \ | |
341 | config/te-pc532mach.h \ | |
342 | config/te-pe.h \ | |
343 | config/te-solaris.h \ | |
344 | config/te-svr4.h \ | |
345 | config/te-tmips.h \ | |
346 | config/te-vxworks.h \ | |
347 | config/te-wince-pe.h | |
348 | ||
349 | TARG_ENV_CFILES = \ | |
350 | config/te-vms.c | |
351 | ||
352 | # Multi files in config | |
353 | ||
354 | MULTI_CFILES = \ | |
355 | config/e-crisaout.c \ | |
356 | config/e-criself.c \ | |
357 | config/e-i386aout.c \ | |
358 | config/e-i386coff.c \ | |
359 | config/e-i386elf.c \ | |
360 | config/e-mipself.c | |
361 | ||
362 | CONFIG_ATOF_CFILES = \ | |
363 | config/atof-ieee.c \ | |
364 | config/atof-vax.c | |
365 | ||
366 | POTFILES = $(MULTI_CFILES) $(CONFIG_ATOF_CFILES) \ | |
367 | $(TARG_ENV_HFILES) $(TARG_ENV_CFILES) $(OBJ_FORMAT_HFILES) \ | |
368 | $(OBJ_FORMAT_CFILES) $(TARGET_CPU_HFILES) $(TARGET_CPU_CFILES) \ | |
369 | $(TARGET_EXTRA_FILES) $(HFILES) $(CFILES) | |
370 | po/POTFILES.in: @MAINT@ Makefile | |
371 | for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \ | |
372 | && mv tmp $(srcdir)/po/POTFILES.in | |
373 | ||
374 | # Note: GASP is now deprecated and has been removed. It is still | |
375 | # available in the CVS archive or older binutils releases if it is needed. | |
376 | noinst_PROGRAMS = as-new | |
377 | noinst_SCRIPTS = $(GDBINIT) | |
378 | EXTRA_SCRIPTS = .gdbinit | |
379 | ||
380 | EXTRA_DIST = config/m68k-parse.c itbl-parse.c itbl-parse.h itbl-lex.c \ | |
381 | config/bfin-parse.c config/bfin-parse.h config/bfin-lex.c \ | |
382 | config/rl78-parse.c config/rl78-parse.h \ | |
383 | config/rx-parse.c config/rx-parse.h \ | |
384 | config/loongarch-parse.c config/loongarch-parse.h config/loongarch-lex.c | |
385 | ||
386 | diststuff: $(EXTRA_DIST) info | |
387 | ||
388 | DISTCLEANFILES = targ-cpu.h obj-format.h targ-env.h itbl-cpu.h cgen-desc.h | |
389 | ||
390 | # Now figure out from those variables how to compile and link. | |
391 | ||
392 | BASEDIR = $(srcdir)/.. | |
393 | BFDDIR = $(BASEDIR)/bfd | |
394 | INCDIR = $(BASEDIR)/include | |
395 | ||
396 | # This is the variable actually used when we compile. | |
397 | # Specify the directories to be searched for header files. | |
398 | # Both . and srcdir are used, in that order, | |
399 | # so that tm.h and config.h will be found in the compilation | |
400 | # subdirectory rather than in the source directory. | |
401 | AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(srcdir)/config \ | |
402 | -I$(INCDIR) -I$(srcdir)/.. -I$(BFDDIR) @INCINTL@ @LARGEFILE_CPPFLAGS@ \ | |
403 | -DLOCALEDIR="\"$(datadir)/locale\"" | |
404 | ||
405 | # How to link with both our special library facilities | |
406 | # and the system's installed libraries. | |
407 | ||
408 | GASLIBS = @OPCODES_LIB@ ../bfd/libbfd.la ../libiberty/libiberty.a | |
409 | ||
410 | # Files to be copied away after each stage in building. | |
411 | STAGESTUFF = *.@OBJEXT@ $(noinst_PROGRAMS) | |
412 | ||
413 | as_new_SOURCES = $(GAS_CFILES) | |
414 | as_new_LDADD = $(TARG_CPU_O) $(OBJ_FORMAT_O) $(ATOF_TARG_O) \ | |
415 | $(extra_objects) $(GASLIBS) $(LIBINTL) $(LIBM) $(ZLIB) $(ZSTD_LIBS) | |
416 | as_new_DEPENDENCIES = $(TARG_CPU_O) $(OBJ_FORMAT_O) $(ATOF_TARG_O) \ | |
417 | $(extra_objects) $(GASLIBS) $(LIBINTL_DEP) | |
418 | EXTRA_as_new_SOURCES = $(CFILES) $(HFILES) $(TARGET_CPU_CFILES) \ | |
419 | $(TARGET_CPU_HFILES) $(TARGET_EXTRA_FILES) $(TARG_ENV_CFILES) \ | |
420 | $(OBJ_FORMAT_CFILES) $(OBJ_FORMAT_HFILES) \ | |
421 | $(CONFIG_ATOF_CFILES) $(MULTI_CFILES) | |
422 | ||
423 | EXPECT = expect | |
424 | RUNTEST = runtest | |
425 | RUNTESTFLAGS= | |
426 | ||
427 | check-DEJAGNU: site.exp | |
428 | if [ -d testsuite ]; then \ | |
429 | true; \ | |
430 | else \ | |
431 | mkdir testsuite; \ | |
432 | fi | |
433 | rm -f testsuite/site.exp | |
434 | cp site.exp testsuite/site.exp | |
435 | rootme=`pwd`; export rootme; \ | |
436 | srcdir=`cd ${srcdir}; pwd` ; export srcdir ; \ | |
437 | LC_ALL=C; export LC_ALL; \ | |
438 | EXPECT=${EXPECT} ; export EXPECT ; \ | |
439 | runtest=$(RUNTEST); \ | |
440 | cd testsuite; \ | |
441 | if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \ | |
442 | $$runtest --tool $(DEJATOOL) --srcdir $${srcdir}/testsuite \ | |
443 | $(RUNTESTFLAGS); \ | |
444 | else echo "WARNING: could not find \`runtest'" 1>&2; :;\ | |
445 | fi | |
446 | ||
447 | development.exp: $(BFDDIR)/development.sh | |
448 | $(EGREP) "(development|experimental)=" $(BFDDIR)/development.sh \ | |
449 | | $(AWK) -F= '{ print "set " $$1 " " $$2 }' > $@ | |
450 | ||
451 | EXTRA_as_new_SOURCES += config/m68k-parse.y | |
452 | config/m68k-parse.c: $(srcdir)/config/m68k-parse.y | |
453 | $(SHELL) $(YLWRAP) $(srcdir)/config/m68k-parse.y y.tab.c $@ -- $(YACCCOMPILE) | |
454 | config/m68k-parse.h: config/m68k-parse.c | |
455 | @true | |
456 | ||
457 | EXTRA_as_new_SOURCES += config/bfin-parse.y | |
458 | config/bfin-parse.c: $(srcdir)/config/bfin-parse.y | |
459 | $(SHELL) $(YLWRAP) $(srcdir)/config/bfin-parse.y y.tab.c $@ y.tab.h config/bfin-parse.h -- $(YACCCOMPILE) -d ; | |
460 | config/bfin-parse.h: config/bfin-parse.c | |
461 | @true | |
462 | ||
463 | EXTRA_as_new_SOURCES += config/bfin-lex.l | |
464 | config/bfin-lex.c: $(srcdir)/config/bfin-lex.l | |
465 | $(SHELL) $(YLWRAP) $(srcdir)/config/bfin-lex.l lex.yy.c $@ -- $(LEXCOMPILE) | |
466 | ||
467 | config/bfin-lex-wrapper.@OBJEXT@: config/bfin-lex.c config/bfin-parse.h | |
468 | ||
469 | EXTRA_as_new_SOURCES += config/rl78-parse.y | |
470 | config/rl78-parse.c: $(srcdir)/config/rl78-parse.y | |
471 | $(SHELL) $(YLWRAP) $(srcdir)/config/rl78-parse.y y.tab.c $@ y.tab.h config/rl78-parse.h -- $(YACCCOMPILE) -d ; | |
472 | config/rl78-parse.h: config/rl78-parse.c | |
473 | @true | |
474 | ||
475 | EXTRA_as_new_SOURCES += config/rx-parse.y | |
476 | config/rx-parse.c: $(srcdir)/config/rx-parse.y | |
477 | $(SHELL) $(YLWRAP) $(srcdir)/config/rx-parse.y y.tab.c $@ y.tab.h config/rx-parse.h -- $(YACCCOMPILE) -d ; | |
478 | config/rx-parse.h: config/rx-parse.c | |
479 | @true | |
480 | ||
481 | # The LoongArch lexical analyzer and parser. | |
482 | EXTRA_as_new_SOURCES += config/loongarch-parse.y | |
483 | config/loongarch-parse.c: $(srcdir)/config/loongarch-parse.y | |
484 | $(SHELL) $(YLWRAP) $(srcdir)/config/loongarch-parse.y y.tab.c $@ y.tab.h config/loongarch-parse.h -- $(YACCCOMPILE) -d ; | |
485 | config/loongarch-parse.h: config/loongarch-parse.c | |
486 | @true | |
487 | ||
488 | EXTRA_as_new_SOURCES += config/loongarch-lex.l | |
489 | config/loongarch-lex.c: $(srcdir)/config/loongarch-lex.l | |
490 | $(SHELL) $(YLWRAP) $(srcdir)/config/loongarch-lex.l lex.yy.c $@ -- $(LEXCOMPILE) | |
491 | ||
492 | config/loongarch-lex-wrapper.@OBJEXT@: config/loongarch-lex.c config/loongarch-parse.h | |
493 | ||
494 | # The mips instruction table specification lexical analyzer and parser. | |
495 | ||
496 | itbl-lex-wrapper.@OBJEXT@: itbl-lex.c itbl-parse.h | |
497 | ||
498 | itbl-parse.c: $(srcdir)/itbl-parse.y | |
499 | $(SHELL) $(YLWRAP) $(srcdir)/itbl-parse.y y.tab.c $@ y.tab.h itbl-parse.h -- $(YACCCOMPILE) -d | |
500 | ||
501 | itbl-parse.h: itbl-parse.c | |
502 | @true | |
503 | ||
504 | itbl-ops.@OBJEXT@: itbl-parse.h | |
505 | ||
506 | # stand-alone itbl assembler & disassembler | |
507 | ||
508 | EXTRA_PROGRAMS = itbl-test | |
509 | itbl_test_SOURCES = itbl-parse.y itbl-lex.l | |
510 | itbl_test_LDADD = itbl-tops.@OBJEXT@ itbl-test.@OBJEXT@ $(GASLIBS) @LEXLIB@ | |
511 | ||
512 | itbl-tops.@OBJEXT@: itbl-ops.c itbl-parse.h | |
513 | if am__fastdepCC | |
514 | $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -o $@ -c -DSTAND_ALONE $(srcdir)/itbl-ops.c | |
515 | mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | |
516 | else | |
517 | if AMDEP | |
518 | source='itbl-ops.c' object='$@' libtool=no @AMDEPBACKSLASH@ | |
519 | DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
520 | endif | |
521 | $(COMPILE) -o $@ -DSTAND_ALONE -c $(srcdir)/itbl-ops.c | |
522 | endif | |
523 | ||
524 | itbl-test.@OBJEXT@: $(srcdir)/testsuite/gas/all/itbl-test.c | |
525 | if am__fastdepCC | |
526 | $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ -DSTAND_ALONE $(srcdir)/testsuite/gas/all/itbl-test.c | |
527 | mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | |
528 | else | |
529 | if AMDEP | |
530 | source='itbl-test.c' object='$@' libtool=no @AMDEPBACKSLASH@ | |
531 | DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
532 | endif | |
533 | $(COMPILE) -c -DSTAND_ALONE $(srcdir)/testsuite/gas/all/itbl-test.c | |
534 | endif | |
535 | ||
536 | # CGEN interface. | |
537 | ||
538 | CGEN_CPU_PREFIX = @cgen_cpu_prefix@ | |
539 | ||
540 | cgen.@OBJEXT@: cgen.c cgen.h cgen-desc.h subsegs.h \ | |
541 | $(INCDIR)/obstack.h $(INCDIR)/opcode/cgen.h \ | |
542 | $(srcdir)/../opcodes/$(CGEN_CPU_PREFIX)-desc.h \ | |
543 | $(srcdir)/../opcodes/$(CGEN_CPU_PREFIX)-opc.h | |
544 | ||
545 | # Remake the info files. | |
546 | ||
547 | MOSTLYCLEANFILES = $(STAGESTUFF) core \ | |
548 | testsuite/*.@OBJEXT@ testsuite/*.out testsuite/gas.log testsuite/gas.sum \ | |
549 | testsuite/site.exp site.bak site.exp development.exp stage stage1 stage2 | |
550 | ||
551 | .PHONY: install-exec-local install-data-local | |
552 | .PHONY: install-exec-bindir install-exec-tooldir | |
553 | ||
554 | install-exec-local: install-exec-bindir @install_tooldir@ | |
555 | ||
556 | install-exec-bindir: $(noinst_PROGRAMS) | |
557 | $(mkinstalldirs) $(DESTDIR)$(bindir) | |
558 | @list='$(noinst_PROGRAMS)'; for p in $$list; do \ | |
559 | if test -f $$p; then \ | |
560 | echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed -e 's/$(EXEEXT)$$//' -e 's/-new//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ | |
561 | $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed -e 's/$(EXEEXT)$$//' -e 's/-new//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ | |
562 | else :; fi; \ | |
563 | done | |
564 | ||
565 | install-exec-tooldir: install-exec-bindir $(noinst_PROGRAMS) | |
566 | $(mkinstalldirs) $(DESTDIR)$(tooldir)/bin | |
567 | n=`echo as | sed '$(transform)'`; \ | |
568 | if [ "$(bindir)/$$n$(EXEEXT)" != "$(tooldir)/bin/as$(EXEEXT)" ]; then \ | |
569 | rm -f $(DESTDIR)$(tooldir)/bin/as$(EXEEXT); \ | |
570 | ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/as$(EXEEXT) >/dev/null 2>/dev/null \ | |
571 | || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) as-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/as$(EXEEXT); \ | |
572 | else \ | |
573 | true ; \ | |
574 | fi | |
575 | ||
576 | # These exist for maintenance purposes. | |
577 | ||
578 | .PHONY: bootstrap bootstrap2 bootstrap3 stage1 stage2 stage3 comparison | |
579 | ||
580 | bootstrap: as-new$(EXEEXT) | |
581 | $(MAKE) stage1 | |
582 | rm -f stage && ln -s stage1 stage | |
583 | $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage/ $(CFLAGS)" libdir=$(libdir) ALLOCA= $(noinst_PROGRAMS) | |
584 | $(MAKE) stage2 | |
585 | rm -f stage && ln -s stage2 stage | |
586 | $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage/ $(CFLAGS)" libdir=$(libdir) ALLOCA= $(noinst_PROGRAMS) | |
587 | $(MAKE) comparison against=stage2 | |
588 | ||
589 | bootstrap2: | |
590 | rm -f stage && ln -s stage1 stage | |
591 | $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage/ $(CFLAGS)" libdir=$(libdir) ALLOCA= $(noinst_PROGRAMS) | |
592 | $(MAKE) stage2 | |
593 | rm -f stage && ln -s stage2 stage | |
594 | $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage/ $(CFLAGS)" libdir=$(libdir) ALLOCA= $(noinst_PROGRAMS) | |
595 | $(MAKE) comparison against=stage2 | |
596 | ||
597 | bootstrap3: | |
598 | rm -f stage && ln -s stage2 stage | |
599 | $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage/ $(CFLAGS)" libdir=$(libdir) ALLOCA= $(noinst_PROGRAMS) | |
600 | $(MAKE) comparison against=stage2 | |
601 | ||
602 | # Copy the object files from a particular stage into a subdirectory. | |
603 | stage1: | |
604 | -mkdir stage1 | |
605 | -mv $(STAGESTUFF) stage1 | |
606 | if [ -f stage1/as-new$(EXEEXT) -a ! -f stage1/as$(EXEEXT) ] ; then (cd stage1 ; ln -s as-new$(EXEEXT) as$(EXEEXT)) ; fi | |
607 | ||
608 | stage2: | |
609 | -mkdir stage2 | |
610 | -mv $(STAGESTUFF) stage2 | |
611 | if [ -f stage2/as-new$(EXEEXT) -a ! -f stage2/as$(EXEEXT) ] ; then (cd stage2 ; ln -s as-new$(EXEEXT) as$(EXEEXT)) ; fi | |
612 | ||
613 | stage3: | |
614 | -mkdir stage3 | |
615 | -mv $(STAGESTUFF) stage3 | |
616 | if [ -f stage3/as-new$(EXEEXT) -a ! -f stage3/as$(EXEEXT) ] ; then (cd stage3 ; ln -s as-new as$(EXEEXT)) ; fi | |
617 | ||
618 | against=stage2 | |
619 | ||
620 | comparison: | |
621 | x=0 ; \ | |
622 | for file in *.@OBJEXT@ ; do \ | |
623 | f1=./$$file; f2=${against}/$$file; \ | |
624 | $(do_compare) > /dev/null 2>&1; \ | |
625 | if test $$? -ne 0; then \ | |
626 | echo $$file differs ; \ | |
627 | x=1 ; \ | |
628 | fi ; \ | |
629 | done ; \ | |
630 | exit $$x | |
631 | -rm -f tmp-foo* | |
632 | ||
633 | .PHONY: de-stage1 de-stage2 de-stage3 | |
634 | ||
635 | de-stage1: | |
636 | - (cd stage1 ; rm -f as$(EXEEXT) ; mv -f * ..) | |
637 | - rmdir stage1 | |
638 | ||
639 | de-stage2: | |
640 | - (cd stage2 ; rm -f as$(EXEEXT) ; mv -f * ..) | |
641 | - rmdir stage2 | |
642 | ||
643 | de-stage3: | |
644 | - (cd stage3 ; rm -f as$(EXEEXT) ; mv -f * ..) | |
645 | - rmdir stage3 | |
646 | ||
647 | # Reconfigure if configure.tgt changes. | |
648 | # development.sh is used to determine -Werror default. | |
649 | CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.tgt $(BFDDIR)/development.sh | |
650 | ||
651 | EXTRA_DEJAGNU_SITE_CONFIG = development.exp | |
652 | ||
653 | include doc/local.mk |