diff options
Diffstat (limited to 'ld/Makefile.am')
-rw-r--r-- | ld/Makefile.am | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/ld/Makefile.am b/ld/Makefile.am index 05a7de6068..e172192fb1 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -21,6 +21,19 @@ WARN_CFLAGS = @WARN_CFLAGS@ NO_WERROR = @NO_WERROR@ AM_CFLAGS = $(WARN_CFLAGS) +# Conditionally enable the plugin interface. +if ENABLE_PLUGINS +PLUGIN_C = plugin.c +PLUGIN_H = plugin.h +PLUGIN_OBJECT = plugin.@OBJEXT@ +PLUGIN_CFLAGS = -DENABLE_PLUGINS +else +PLUGIN_C = +PLUGIN_H = +PLUGIN_OBJECT = +PLUGIN_CFLAGS = +endif + # We put the scripts in the directory $(scriptdir)/ldscripts. # We can't put the scripts in $(datadir) because the SEARCH_DIR # directives need to be different for native and cross linkers. @@ -108,7 +121,7 @@ TEXI2DVI = texi2dvi -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \ -I $(top_srcdir)/../libiberty AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) \ - @INCINTL@ $(HDEFINES) $(CFLAGS) \ + @INCINTL@ $(HDEFINES) $(CFLAGS) $(PLUGIN_CFLAGS) \ -DLOCALEDIR="\"$(datadir)/locale\"" BFDLIB = ../bfd/libbfd.la @@ -459,11 +472,13 @@ ALL_EMUL_EXTRA_OFILES = \ CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \ ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \ - mri.c ldcref.c pe-dll.c pep-dll.c ldlex-wrapper.c + mri.c ldcref.c pe-dll.c pep-dll.c ldlex-wrapper.c \ + $(PLUGIN_C) HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \ ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \ - ldwrite.h mri.h deffile.h pe-dll.h pep-dll.h elf-hints-local.h + ldwrite.h mri.h deffile.h pe-dll.h pep-dll.h \ + elf-hints-local.h $(PLUGIN_H) GENERATED_CFILES = ldgram.c ldlex.c deffilep.c GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h @@ -472,7 +487,8 @@ GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h # tracking will not cause them to be built beforehand. BUILT_SOURCES = $(GENERATED_HFILES) -OFILES = ldgram.@OBJEXT@ ldlex-wrapper.@OBJEXT@ lexsup.@OBJEXT@ ldlang.@OBJEXT@ mri.@OBJEXT@ ldctor.@OBJEXT@ ldmain.@OBJEXT@ \ +OFILES = ldgram.@OBJEXT@ ldlex-wrapper.@OBJEXT@ lexsup.@OBJEXT@ ldlang.@OBJEXT@ \ + mri.@OBJEXT@ ldctor.@OBJEXT@ ldmain.@OBJEXT@ $(PLUGIN_OBJECT) \ ldwrite.@OBJEXT@ ldexp.@OBJEXT@ ldemul.@OBJEXT@ ldver.@OBJEXT@ ldmisc.@OBJEXT@ \ ldfile.@OBJEXT@ ldcref.@OBJEXT@ ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES} @@ -1890,7 +1906,7 @@ EXTRA_ld_new_SOURCES = deffilep.y ldlex.l EXTRA_ld_new_SOURCES += pep-dll.c pe-dll.c ld_new_SOURCES = ldgram.y ldlex-wrapper.c lexsup.c ldlang.c mri.c ldctor.c ldmain.c \ - ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c + ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c $(PLUGIN_C) ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL_DEP) ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL) @@ -1972,6 +1988,16 @@ bootstrap: ld3$(EXEEXT) # END OF CHECK TARGETS +# +# Build a dummy plugin using libtool. +# +if ENABLE_PLUGINS +noinst_LTLIBRARIES = libldtestplug.la +libldtestplug_la_SOURCES = testplug.c +libldtestplug_la_CFLAGS= -g -O2 +libldtestplug_la_LDFLAGS = -no-undefined -rpath /nowhere +endif + # DOCUMENTATION TARGETS # Manual configuration file; not usually attached to normal configuration, # because almost all configs use "gen" version of manual. |