1:
2:
3: AUTOMAKE_OPTIONS = cygnus dejagnu
4: ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd
5:
6: SUBDIRS = po
7:
8: tooldir = $(exec_prefix)/$(target_alias)
9:
10: YACC = `if [ -f ../bison/bison ]; then echo ../bison/bison -y -L$(srcdir)/../bison/; else echo @YACC@; fi`
11: YFLAGS = -d
12: LEX = `if [ -f ../flex/flex ]; then echo ../flex/flex; else echo @LEX@; fi`
13:
14: WARN_CFLAGS = @WARN_CFLAGS@
15: NO_WERROR = @NO_WERROR@
16: AM_CFLAGS = $(WARN_CFLAGS)
17:
18:
19:
20:
21: scriptdir = $(tooldir)/lib
22:
23: EMUL = @EMUL@
24: EMULATION_OFILES = @EMULATION_OFILES@
25: EMUL_EXTRA_OFILES = @EMUL_EXTRA_OFILES@
26:
27:
28:
29:
30:
31:
32:
33:
34: LIB_PATH = @LIB_PATH@
35:
36: BASEDIR = $(srcdir)/..
37: BFDDIR = $(BASEDIR)/bfd
38: INCDIR = $(BASEDIR)/include
39: MKDEP = gcc -MM
40:
41:
42: DOCVER = gen
43:
44:
45: MANCONF = -Dman
46:
47: TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS)
48:
49: POD2MAN = pod2man --center="GNU Development Tools" \
50: --release="binutils-$(VERSION)" --section=1
51:
52:
53: HOSTING_CRT0 = @HOSTING_CRT0@
54: HOSTING_LIBS = @HOSTING_LIBS@
55: HOSTING_EMU = -m $(EMUL)
56:
57:
58: EXPECT = expect
59: RUNTEST = runtest
60: RUNTESTFLAGS =
61:
62: CC_FOR_TARGET = ` \
63: if [ -f $$r/../gcc/xgcc ] ; then \
64: if [ -f $$r/../newlib/Makefile ] ; then \
65: echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \
66: else \
67: echo $$r/../gcc/xgcc -B$$r/../gcc/; \
68: fi; \
69: else \
70: if [ "@host@" = "@target@" ] ; then \
71: echo $(CC); \
72: else \
73: echo gcc | sed '$(transform)'; \
74: fi; \
75: fi`
76:
77: CXX = g++
78: CXX_FOR_TARGET = ` \
79: if [ -f $$r/../gcc/g++ ] ; then \
80: if [ -f $$r/../newlib/Makefile ] ; then \
81: echo $$r/../gcc/g++ -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \
82: else \
83: echo $$r/../gcc/g++ -B$$r/../gcc/; \
84: fi; \
85: else \
86: if [ "@host@" = "@target@" ] ; then \
87: echo $(CXX); \
88: else \
89: echo g++ | sed '$(transform)'; \
90: fi; \
91: fi`
92:
93: noinst_PROGRAMS = ld-new
94: info_TEXINFOS = ld.texinfo
95: ld_TEXINFOS = configdoc.texi
96: noinst_TEXINFOS = ldint.texinfo
97: man_MANS = ld.1
98:
99: AM_MAKEINFOFLAGS = -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \
100: -I $(top_srcdir)/../libiberty
101: TEXI2DVI = texi2dvi -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \
102: -I $(top_srcdir)/../libiberty
103:
104: INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) \
105: @INCINTL@ $(HDEFINES) $(CFLAGS) \
106: -DLOCALEDIR="\"$(datadir)/locale\""
107:
108: BFDLIB = ../bfd/libbfd.la
109: LIBIBERTY = ../libiberty/libiberty.a
110:
111: ALL_EMULATIONS = \
112: eaixppc.o \
113: eaixrs6.o \
114: ealpha.o \
115: earcelf.o \
116: earm_epoc_pe.o \
117: earm_wince_pe.o \
118: earmaoutb.o \
119: earmaoutl.o \
120: earmcoff.o \
121: earmelf.o \
122: earmelfb.o \
123: earmelf_fbsd.o \
124: earmelf_linux.o \
125: earmelf_linux_eabi.o \
126: earmelfb_linux.o \
127: earmelfb_linux_eabi.o \
128: earmelf_nbsd.o \
129: earmelfb_nbsd.o \
130: earmelf_vxworks.o \
131: earmnto.o \
132: earmnbsd.o \
133: earmpe.o \
134: earmsymbian.o \
135: eavr2.o \
136: eavr1.o \
137: eavr3.o \
138: eavr4.o \
139: eavr5.o \
140: eavr6.o \
141: ecoff_i860.o \
142: ecoff_sparc.o \
143: eelf32_spu.o \
144: ecrisaout.o \
145: ecriself.o \
146: ecrislinux.o \
147: ed10velf.o \
148: ed30v_e.o \
149: ed30v_o.o \
150: ed30velf.o \
151: edelta68.o \
152: eelf32_dlx.o \
153: eelf32_i960.o \
154: eelf32_i860.o \
155: eelf32_sparc.o \
156: eelf32_sparc_vxworks.o \
157: eelf32b4300.o \
158: eelf32bfin.o \
159: eelf32bfinfd.o \
160: eelf32cr16.o \
161: eelf32cr16c.o \
162: eelf32bmip.o \
163: eelf32bmipn32.o \
164: eelf32btsmip.o \
165: eelf32crx.o \
166: eelf32btsmipn32.o \
167: eelf32ltsmip.o \
168: eelf32ltsmipn32.o \
169: eelf32ebmip.o \
170: eelf32ebmipvxworks.o \
171: eelf32elmip.o \
172: eelf32elmipvxworks.o \
173: eelf32fr30.o \
174: eelf32frv.o \
175: eelf32i370.o \
176: eelf32ip2k.o \
177: eelf32iq2000.o \
178: eelf32iq10.o \
179: eelf32l4300.o \
180: eelf32lmip.o \
181: eelf32lppc.o \
182: eelf32lppcnto.o \
183: eelf32lppcsim.o \
184: eelf32m32c.o \
185: eelf32mcore.o \
186: eelf32mep.o \
187: eelf32mipswindiss.o \
188: eelf32mt.o \
189: eelf32openrisc.o \
190: eelf32ppc.o \
191: eelf32ppc_fbsd.o \
192: eelf32ppclinux.o \
193: eelf32ppcnto.o \
194: eelf32ppcsim.o \
195: eelf32ppcwindiss.o \
196: eelf32ppcvxworks.o \
197: eelf32vax.o \
198: eelf32xc16x.o \
199: eelf32xc16xl.o \
200: eelf32xc16xs.o \
201: eelf32xstormy16.o \
202: eelf32xtensa.o \
203: eelf_i386.o \
204: eelf_i386_be.o \
205: eelf_i386_chaos.o \
206: eelf_i386_fbsd.o \
207: eelf_i386_ldso.o \
208: eelf_i386_vxworks.o \
209: eelf_s390.o \
210: egld960.o \
211: egld960coff.o \
212: eh8300.o \
213: eh8300h.o \
214: eh8300s.o \
215: eh8300elf.o \
216: eh8300hn.o \
217: eh8300sn.o \
218: eh8300sx.o \
219: eh8300helf.o \
220: eh8300self.o \
221: eh8300hnelf.o \
222: eh8300snelf.o \
223: eh8300sxelf.o \
224: eh8300sxn.o \
225: eh8300sxnelf.o \
226: eh8500.o \
227: eh8500b.o \
228: eh8500c.o \
229: eh8500m.o \
230: eh8500s.o \
231: ehp300bsd.o \
232: ehp3hpux.o \
233: ehppaelf.o \
234: ehppalinux.o \
235: ehppanbsd.o \
236: ehppaobsd.o \
237: ei386aout.o \
238: ei386beos.o \
239: ei386bsd.o \
240: ei386coff.o \
241: ei386go32.o \
242: ei386linux.o \
243: ei386lynx.o \
244: ei386mach.o \
245: ei386moss.o \
246: ei386msdos.o \
247: ei386nbsd.o \
248: ei386nto.o \
249: ei386nw.o \
250: ei386pe.o \
251: ei386pe_posix.o \
252: ei386pep.o \
253: elnk960.o \
254: em32relf.o \
255: em32rlelf.o \
256: em32relf_linux.o \
257: em32rlelf_linux.o \
258: em68hc11elf.o \
259: em68hc11elfb.o \
260: em68hc12elf.o \
261: em68hc12elfb.o \
262: em68k4knbsd.o \
263: em68kaout.o \
264: em68kaux.o \
265: em68kcoff.o \
266: em68kelf.o \
267: em68kelfnbsd.o \
268: em68klinux.o \
269: em68knbsd.o \
270: em68kpsos.o \
271: em88kbcs.o \
272: emaxqcoff.o \
273: emcorepe.o \
274: emipsbig.o \
275: emipsbsd.o \
276: emipsidt.o \
277: emipsidtl.o \
278: emipslit.o \
279: emipslnews.o \
280: emipspe.o \
281: emsp430x110.o \
282: emsp430x112.o \
283: emsp430x1101.o \
284: emsp430x1111.o \
285: emsp430x1121.o \
286: emsp430x1122.o \
287: emsp430x1132.o \
288: emsp430x122.o \
289: emsp430x123.o \
290: emsp430x1222.o \
291: emsp430x1232.o \
292: emsp430x133.o \
293: emsp430x135.o \
294: emsp430x1331.o \
295: emsp430x1351.o \
296: emsp430x147.o \
297: emsp430x148.o \
298: emsp430x149.o \
299: emsp430x155.o \
300: emsp430x156.o \
301: emsp430x157.o \
302: emsp430x167.o \
303: emsp430x168.o \
304: emsp430x169.o \
305: emsp430x1610.o \
306: emsp430x1611.o \
307: emsp430x1612.o \
308: emsp430x2101.o \
309: emsp430x2111.o \
310: emsp430x2121.o \
311: emsp430x2131.o \
312: emsp430x311.o \
313: emsp430x312.o \
314: emsp430x313.o \
315: emsp430x314.o \
316: emsp430x315.o \
317: emsp430x323.o \
318: emsp430x325.o \
319: emsp430x336.o \
320: emsp430x337.o \
321: emsp430x412.o \
322: emsp430x413.o \
323: emsp430x415.o \
324: emsp430x417.o \
325: emsp430xE423.o \
326: emsp430xE425.o \
327: emsp430xE427.o \
328: emsp430xW423.o \
329: emsp430xW425.o \
330: emsp430xW427.o \
331: emsp430xG437.o \
332: emsp430xG438.o \
333: emsp430xG439.o \
334: emsp430x435.o \
335: emsp430x436.o \
336: emsp430x437.o \
337: emsp430x447.o \
338: emsp430x448.o \
339: emsp430x449.o \
340: enews.o \
341: ens32knbsd.o \
342: eor32.o \
343: eor32elf.o \
344: epc532macha.o \
345: epdp11.o \
346: epjelf.o \
347: epjlelf.o \
348: eppcmacos.o \
349: eppcnw.o \
350: eppcpe.o \
351: eppclynx.o \
352: eriscix.o \
353: escoreelf.o \
354: esh.o \
355: eshelf32.o \
356: eshlelf32.o \
357: eshelf32_linux.o \
358: eshlelf32_linux.o \
359: eshelf32_nbsd.o \
360: eshlelf32_nbsd.o \
361: eshelf.o \
362: eshelf_linux.o \
363: eshlelf_linux.o \
364: eshelf_nbsd.o \
365: eshlelf_nbsd.o \
366: eshelf_nto.o \
367: eshlelf_nto.o \
368: eshelf_uclinux.o \
369: eshelf_vxworks.o \
370: eshlelf_vxworks.o \
371: eshl.o \
372: eshlelf.o \
373: eshlsymbian.o \
374: eshpe.o \
375: esparcaout.o \
376: esparclinux.o \
377: esparcnbsd.o \
378: est2000.o \
379: esun3.o \
380: esun4.o \
381: etic30aout.o \
382: etic30coff.o \
383: etic3xcoff.o \
384: etic3xcoff_onchip.o \
385: etic4xcoff.o \
386: etic54xcoff.o \
387: etic80coff.o \
388: evanilla.o \
389: evax.o \
390: evaxnbsd.o \
391: evsta.o \
392: ew65.o \
393: ez8001.o \
394: eelf32frvfd.o \
395: ez80.o \
396: ez8002.o
397:
398: ALL_64_EMULATIONS = \
399: eelf64_aix.o \
400: eelf64_ia64.o \
401: eelf64_ia64_fbsd.o \
402: eshelf64.o \
403: eshlelf64.o \
404: eshelf64_nbsd.o \
405: eshlelf64_nbsd.o \
406: eelf_x86_64.o \
407: eelf_x86_64_fbsd.o \
408: eelf64_s390.o \
409: eelf64_sparc.o \
410: eelf64_sparc_fbsd.o \
411: eelf64alpha.o \
412: eelf64alpha_fbsd.o \
413: eelf64alpha_nbsd.o \
414: eelf64bmip.o \
415: eelf64btsmip.o \
416: eelf64ltsmip.o \
417: eelf64hppa.o \
418: eelf64mmix.o \
419: emmo.o \
420: eelf64ppc.o \
421: eelf64lppc.o \
422: ehppa64linux.o
423:
424: ALL_EMUL_EXTRA_OFILES = \
425: deffilep.o \
426: pe-dll.o \
427: pep-dll.o
428:
429: CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \
430: ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \
431: mri.c ldcref.c pe-dll.c pep-dll.c sha1.c
432:
433: HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \
434: ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \
435: ldwrite.h mri.h deffile.h pe-dll.h pep-dll.h elf-hints-local.h sha1.h
436:
437: GENERATED_CFILES = ldgram.c ldlex.c deffilep.c
438: GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h
439:
440: OFILES = ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o \
441: ldwrite.o ldexp.o ldemul.o ldver.o ldmisc.o \
442: ldfile.o ldcref.o sha1.o ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES}
443:
444: STAGESTUFF = *.o ldscripts/* e*.c
445:
446:
447:
448: ldgram.o:
449: $(COMPILE) -c $< $(NO_WERROR)
450: ldlex.o:
451: $(COMPILE) -c $< $(NO_WERROR)
452: deffilep.o:
453: $(COMPILE) -c $< $(NO_WERROR)
454:
455:
456:
457: EMULATION_FILES = emultempl/pe.em emultempl/armcoff.em
458:
459: POTFILES = $(CFILES) $(HFILES) $(EMULATION_FILES)
460:
461: po/POTFILES.in: @MAINT@ Makefile
462: for f in $(POTFILES); do echo $$f; done | LC_COLLATE= sort > tmp \
463: && mv tmp $(srcdir)/po/POTFILES.in
464:
465: ldmain.o: ldmain.c config.status
466: $(COMPILE) -c -DDEFAULT_EMULATION='"$(EMUL)"' \
467: -DSCRIPTDIR='"$(scriptdir)"' -DBINDIR='"$(bindir)"' \
468: -DTOOLBINDIR='"$(tooldir)/bin"' \
469: -DTARGET='"@target@"' @TARGET_SYSTEM_ROOT_DEFINE@ \
470: $(srcdir)/ldmain.c
471:
472: eelf32_spu.o: eelf32_spu.c
473: $(COMPILE) -c -DEMBEDSPU="\"`echo embedspu | sed '$(transform)'`\"" \
474: eelf32_spu.c
475:
476: ldemul-list.h: Makefile
477: (echo "/* This file is automatically generated. DO NOT EDIT! */";\
478: for f in `echo " " ${EMULATION_OFILES} "" \
479: | sed -e 's/ e/ ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \
480: echo "extern ld_emulation_xfer_type ld_$${f}_emulation;"; \
481: done;\
482: echo "";\
483: echo "#define EMULATION_LIST \\";\
484: for f in `echo " " ${EMULATION_OFILES} "" \
485: | sed -e 's/ e/ ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \
486: echo " &ld_$${f}_emulation, \\"; \
487: done;\
488: echo " 0") >ldemul-tmp.h
489: mv ldemul-tmp.h ldemul-list.h
490:
491: stringify.sed: ${srcdir}/emultempl/$(STRINGIFY)
492: cp ${srcdir}/emultempl/$(STRINGIFY) stringify.sed
493:
494:
495:
496: GENSCRIPTS = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh "${srcdir}" "${libdir}" "${prefix}" "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@
497: GEN_DEPENDS = $(srcdir)/genscripts.sh stringify.sed
498: ELF_DEPS = $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/elf-generic.em
499: ELF_GEN_DEPS = $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/elf-generic.em $(srcdir)/emultempl/genelf.em
500:
501: @TDIRS@
502:
503: eaix5ppc.c: $(srcdir)/emulparams/aix5ppc.sh \
504: $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
505: ${GENSCRIPTS} aix5ppc "$(tdir_aixppc)"
506: eaix5rs6.c: $(srcdir)/emulparams/aix5rs6.sh \
507: $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
508: ${GENSCRIPTS} aix5rs6 "$(tdir_aixrs6)"
509: eaixppc.c: $(srcdir)/emulparams/aixppc.sh \
510: $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
511: ${GENSCRIPTS} aixppc "$(tdir_aixppc)"
512: eaixrs6.c: $(srcdir)/emulparams/aixrs6.sh \
513: $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
514: ${GENSCRIPTS} aixrs6 "$(tdir_aixrs6)"
515: ealpha.c: $(srcdir)/emulparams/alpha.sh \
516: $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/alpha.sc ${GEN_DEPENDS}
517: ${GENSCRIPTS} alpha "$(tdir_alpha)"
518: earcelf.c: $(srcdir)/emulparams/arcelf.sh \
519: $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
520: ${GENSCRIPTS} arcelf "$(tdir_arcelf)"
521: earmelf.c: $(srcdir)/emulparams/armelf.sh \
522: $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
523: $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
524: ${GENSCRIPTS} armelf "$(tdir_armelf)"
525: earmelfb.c: $(srcdir)/emulparams/armelfb.sh $(srcdir)/emulparams/armelf.sh \
526: $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
527: $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
528: ${GENSCRIPTS} armelfb "$(tdir_armelfb)"
529: earmelf_fbsd.c: $(srcdir)/emulparams/armelf_fbsd.sh \
530: $(srcdir)/emulparams/armelf.sh \
531: $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
532: $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
533: ${GENSCRIPTS} armelf_fbsd "$(tdir_armelf_fbsd)"
534: earmelf_linux.c: $(srcdir)/emulparams/armelf_linux.sh \
535: $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
536: $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
537: ${GENSCRIPTS} armelf_linux "$(tdir_armelf_linux)"
538: earmelf_linux_eabi.c: $(srcdir)/emulparams/armelf_linux_eabi.sh \
539: $(srcdir)/emulparams/armelf_linux.sh \
540: $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
541: $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
542: ${GENSCRIPTS} armelf_linux_eabi "$(tdir_armelf_linux_abi)"
543: earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \
544: $(srcdir)/emulparams/armelf_linux.sh \
545: $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
546: $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
547: ${GENSCRIPTS}