Makefile.am revision 1.1
1# Process this file with automake to generate Makefile.in 2 3AUTOMAKE_OPTIONS = foreign 4 5SUBDIRS = po testsuite 6 7tooldir = $(exec_prefix)/$(target_alias) 8 9ACLOCAL_AMFLAGS = -I ../bfd -I ../config 10 11AM_CFLAGS = $(WARN_CFLAGS) $(LFS_CFLAGS) $(RANDOM_SEED_CFLAGS) 12AM_CXXFLAGS = $(WARN_CXXFLAGS) $(LFS_CFLAGS) $(RANDOM_SEED_CFLAGS) 13 14AM_CPPFLAGS = \ 15 -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../elfcpp \ 16 -DLOCALEDIR="\"$(datadir)/locale\"" \ 17 -DBINDIR="\"$(bindir)\"" -DTOOLBINDIR="\"$(tooldir)/bin\"" \ 18 -DTOOLLIBDIR="\"$(tooldir)/lib\"" @INCINTL@ 19 20LIBIBERTY = ../libiberty/libiberty.a 21 22if PLUGINS 23LIBDL = -ldl 24endif 25 26if THREADS 27THREADSLIB = -lpthread 28endif 29 30AM_YFLAGS = -d 31 32# Automake 1.10+ disables lex and yacc output file regeneration if 33# maintainer mode is disabled. Avoid this. 34am__skiplex = 35am__skipyacc = 36 37noinst_PROGRAMS = ld-new incremental-dump 38noinst_LIBRARIES = libgold.a 39 40CCFILES = \ 41 archive.cc \ 42 attributes.cc \ 43 binary.cc \ 44 common.cc \ 45 compressed_output.cc \ 46 copy-relocs.cc \ 47 cref.cc \ 48 defstd.cc \ 49 descriptors.cc \ 50 dirsearch.cc \ 51 dynobj.cc \ 52 dwarf_reader.cc \ 53 ehframe.cc \ 54 errors.cc \ 55 expression.cc \ 56 fileread.cc \ 57 gc.cc \ 58 gdb-index.cc \ 59 gold.cc \ 60 gold-threads.cc \ 61 icf.cc \ 62 incremental.cc \ 63 int_encoding.cc \ 64 layout.cc \ 65 mapfile.cc \ 66 merge.cc \ 67 nacl.cc \ 68 object.cc \ 69 options.cc \ 70 output.cc \ 71 parameters.cc \ 72 plugin.cc \ 73 readsyms.cc \ 74 reduced_debug_output.cc \ 75 reloc.cc \ 76 resolve.cc \ 77 script-sections.cc \ 78 script.cc \ 79 stringpool.cc \ 80 symtab.cc \ 81 target.cc \ 82 target-select.cc \ 83 timer.cc \ 84 version.cc \ 85 workqueue.cc \ 86 workqueue-threads.cc 87 88HFILES = \ 89 arm-reloc-property.h \ 90 archive.h \ 91 attributes.h \ 92 binary.h \ 93 common.h \ 94 compressed_output.h \ 95 copy-relocs.h \ 96 cref.h \ 97 defstd.h \ 98 dirsearch.h \ 99 descriptors.h \ 100 dynobj.h \ 101 dwarf_reader.h \ 102 ehframe.h \ 103 errors.h \ 104 fileread.h \ 105 freebsd.h \ 106 gc.h \ 107 gdb-index.h \ 108 gold.h \ 109 gold-threads.h \ 110 icf.h \ 111 int_encoding.h \ 112 layout.h \ 113 mapfile.h \ 114 merge.h \ 115 nacl.h \ 116 object.h \ 117 options.h \ 118 output.h \ 119 parameters.h \ 120 plugin.h \ 121 readsyms.h \ 122 reduced_debug_output.h \ 123 reloc.h \ 124 reloc-types.h \ 125 script-c.h \ 126 script-sections.h \ 127 script.h \ 128 stringpool.h \ 129 symtab.h \ 130 target.h \ 131 target-reloc.h \ 132 target-select.h \ 133 timer.h \ 134 tls.h \ 135 token.h \ 136 workqueue.h \ 137 workqueue-internal.h 138 139YFILES = \ 140 yyscript.y 141 142DEFFILES = arm-reloc.def 143 144EXTRA_DIST = yyscript.c yyscript.h 145 146TARGETSOURCES = \ 147 i386.cc x86_64.cc sparc.cc powerpc.cc arm.cc arm-reloc-property.cc 148 149ALL_TARGETOBJS = \ 150 i386.$(OBJEXT) x86_64.$(OBJEXT) sparc.$(OBJEXT) powerpc.$(OBJEXT) \ 151 arm.$(OBJEXT) arm-reloc-property.$(OBJEXT) 152 153libgold_a_SOURCES = $(CCFILES) $(HFILES) $(YFILES) $(DEFFILES) 154libgold_a_LIBADD = $(LIBOBJS) 155 156sources_var = main.cc 157deps_var = $(TARGETOBJS) libgold.a $(LIBIBERTY) $(LIBINTL_DEP) 158ldadd_var = $(TARGETOBJS) libgold.a $(LIBIBERTY) $(GOLD_LDADD) $(LIBINTL) \ 159 $(THREADSLIB) $(LIBDL) 160ldflags_var = $(GOLD_LDFLAGS) 161 162ld_new_SOURCES = $(sources_var) 163ld_new_DEPENDENCIES = $(deps_var) 164ld_new_LDADD = $(ldadd_var) 165ld_new_LDFLAGS = $(ldflags_var) 166 167EXTRA_ld_new_SOURCES = $(TARGETSOURCES) 168 169incremental_dump_SOURCES = incremental-dump.cc 170incremental_dump_DEPENDENCIES = $(TARGETOBJS) libgold.a $(LIBIBERTY) \ 171 $(LIBINTL_DEP) 172incremental_dump_LDADD = $(TARGETOBJS) libgold.a $(LIBIBERTY) $(LIBINTL) \ 173 $(THREADSLIB) $(LIBDL) 174 175# Use an explicit dependency for the bison generated header file. 176expression.$(OBJEXT): yyscript.h 177script-sections.$(OBJEXT): yyscript.h 178script.$(OBJEXT): yyscript.h 179 180# We have to build libgold.a before we run the tests. 181check: libgold.a 182 183.PHONY: install-exec-local 184 185install-exec-local: ld-new$(EXEEXT) 186 $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(tooldir)/bin 187 n=`echo $(installed_linker) | sed '$(transform)'`; \ 188 $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/$${n}$(EXEEXT); \ 189 if test "$(bindir)" != "$(tooldir)/bin"; then \ 190 rm -f $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \ 191 ln $(DESTDIR)$(bindir)/$${n}$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT) >/dev/null 2>/dev/null \ 192 || $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \ 193 fi; \ 194 if test "x$(install_as_default)" = "xyes"; then \ 195 ld=`echo ld | sed '$(transform)'`; \ 196 rm -f $(DESTDIR)$(bindir)/$${ld}$(EXEEXT); \ 197 ln $(DESTDIR)$(bindir)/$${n}$(EXEEXT) $(DESTDIR)$(bindir)/$${ld}$(EXEEXT) >/dev/null 2>/dev/null \ 198 || $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/$${ld}$(EXEEXT); \ 199 if test "$(bindir)" != "$(tooldir)/bin"; then \ 200 rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \ 201 ln $(DESTDIR)$(bindir)/$${n}$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \ 202 || $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \ 203 fi; \ 204 fi 205 206# We want install to imply install-info as per GNU standards, despite 207# the cygnus option. 208install-data-local: install-info 209 210POTFILES= $(CCFILES) $(HFILES) $(TARGETSOURCES) 211 212po/POTFILES.in: @MAINT@ Makefile 213 for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \ 214 && mv tmp $(srcdir)/po/POTFILES.in 215 216# Bootstrap test support. We use ld-new to build ld1, then use ld1 to 217# build ld2. ld1 and ld2 should be identical. ld-new need not be 218# identical to ld1, since it was linked with the host linker. 219 220if GCC 221if NATIVE_LINKER 222 223gcctestdir1/ld: ld-new 224 test -d gcctestdir1 || mkdir -p gcctestdir1 225 rm -f gcctestdir1/ld 226 (cd gcctestdir1 && $(LN_S) ../ld-new ld) 227 228ld1_SOURCES = $(sources_var) 229ld1_DEPENDENCIES = $(deps_var) gcctestdir1/ld 230ld1_LDADD = $(ldadd_var) 231ld1_LDFLAGS = -Bgcctestdir1/ 232 233gcctestdir2/ld: ld1 234 test -d gcctestdir2 || mkdir -p gcctestdir2 235 rm -f gcctestdir2/ld 236 (cd gcctestdir2 && $(LN_S) ../ld1 ld) 237 238ld2_SOURCES = $(sources_var) 239ld2_DEPENDENCIES = $(deps_var) gcctestdir2/ld 240ld2_LDADD = $(ldadd_var) 241ld2_LDFLAGS = -Bgcctestdir2/ 242 243bootstrap-test: ld2 244 rm -f $@ 245 echo "#!/bin/sh" > $@ 246 echo "cmp ld1 ld2" > $@ 247 chmod +x $@ 248 249libgold-1-r.o: gcctestdir1/ld libgold.a 250 gcctestdir1/ld -o $@ -r --whole-archive libgold.a 251 252ld1_r_SOURCES = $(sources_var) 253ld1_r_DEPENDENCIES = libgold-1-r.o $(deps_var) gcctestdir1/ld 254ld1_r_LDADD = libgold-1-r.o $(ldadd_var) 255ld1_r_LDFLAGS = -Bgcctestdir1/ 256 257gcctestdir2-r/ld: ld1-r 258 test -d gcctestdir2-r || mkdir -p gcctestdir2-r 259 rm -f gcctestdir2-r/ld 260 (cd gcctestdir2-r && $(LN_S) ../ld1-r ld) 261 262libgold-2-r.o: gcctestdir2-r/ld libgold.a 263 gcctestdir2-r/ld -o $@ -r --whole-archive libgold.a 264 265ld2_r_SOURCES = $(sources_var) 266ld2_r_DEPENDENCIES = libgold-2-r.o $(deps_var) gcctestdir2-r/ld 267ld2_r_LDADD = libgold-2-r.o $(ldadd_var) 268ld2_r_LDFLAGS = -Bgcctestdir2-r/ 269 270bootstrap-test-r: ld2-r 271 rm -f $@ 272 echo "#!/bin/sh" > $@ 273 echo "cmp ld1-r ld2-r" > $@ 274 chmod +x $@ 275 276check_PROGRAMS = ld1 ld2 ld1-r ld2-r 277TESTS = bootstrap-test bootstrap-test-r 278 279endif 280endif 281