(linenum→info "unix/slp.c:2238")

glibc/2.7/dlfcn/Makefile

    1: # Copyright (C) 1995-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
    2: # This file is part of the GNU C Library.
    3: 
    4: # The GNU C Library is free software; you can redistribute it and/or
    5: # modify it under the terms of the GNU Lesser General Public
    6: # License as published by the Free Software Foundation; either
    7: # version 2.1 of the License, or (at your option) any later version.
    8: 
    9: # The GNU C Library is distributed in the hope that it will be useful,
   10: # but WITHOUT ANY WARRANTY; without even the implied warranty of
   11: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   12: # Lesser General Public License for more details.
   13: 
   14: # You should have received a copy of the GNU Lesser General Public
   15: # License along with the GNU C Library; if not, write to the Free
   16: # Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   17: # 02111-1307 USA.
   18: 
   19: subdir          := dlfcn
   20: headers         := bits/dlfcn.h dlfcn.h
   21: extra-libs      := libdl
   22: libdl-routines  := dlopen dlclose dlsym dlvsym dlerror dladdr dladdr1 dlinfo \
   23:                    dlmopen dlfcn
   24: routines        := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines)))
   25: elide-routines.os := $(routines)
   26: distribute      := dlopenold.c glreflib1.c glreflib2.c glreflib3.c \
   27:                    failtestmod.c \
   28:                    defaultmod1.c defaultmod2.c errmsg1mod.c modatexit.c \
   29:                    modcxaatexit.c modstatic.c modstatic2.c \
   30:                    bug-dlsym1-lib1.c bug-dlsym1-lib2.c bug-atexit1-lib.c \
   31:                    bug-atexit2-lib.c
   32: 
   33: extra-libs-others := libdl
   34: 
   35: include ../Makeconfig
   36: 
   37: ifeq ($(versioning),yes)
   38: libdl-routines  += dlopenold
   39: libdl-shared-only-routines := dlopenold dlfcn
   40: endif
   41: 
   42: ifeq (yes,$(build-shared))
   43: tests = glrefmain failtest tst-dladdr default errmsg1 tstcxaatexit \
   44:         bug-dlopen1 bug-dlsym1 tst-dlinfo bug-atexit1 bug-atexit2 \
   45:         bug-atexit3 tstatexit
   46: endif
   47: modules-names = glreflib1 glreflib2 glreflib3 failtestmod defaultmod1 \
   48:                 defaultmod2 errmsg1mod modatexit modcxaatexit \
   49:                 bug-dlsym1-lib1 bug-dlsym1-lib2 bug-atexit1-lib \
   50:                 bug-atexit2-lib bug-atexit3-lib
   51: 
   52: failtestmod.so-no-z-defs = yes
   53: glreflib2.so-no-z-defs = yes
   54: errmsg1mod.so-no-z-defs = yes
   55: 
   56: ifeq (yesyesyes,$(build-static)$(build-shared)$(elf))
   57: tests += tststatic tststatic2
   58: tests-static += tststatic tststatic2
   59: modules-names += modstatic modstatic2
   60: tststatic-ENV = LD_LIBRARY_PATH=$(objpfx):$(common-objpfx):$(common-objpfx)elf
   61: tststatic2-ENV = LD_LIBRARY_PATH=$(objpfx):$(common-objpfx):$(common-objpfx)elf
   62: endif
   63: 
   64: extra-test-objs += $(modules-names:=.os)
   65: generated := $(modules-names:=.so)
   66: 
   67: include ../Rules
   68: 
   69: test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(modules-names)))
   70: 
   71: ifeq ($(build-shared),yes)
   72: # Build all the modules even when not actually running test programs.
   73: tests: $(test-modules)
   74: endif
   75: 
   76: $(objpfx)glrefmain: $(libdl)
   77: $(objpfx)glrefmain.out: $(objpfx)glrefmain \
   78:                         $(objpfx)glreflib1.so $(objpfx)glreflib2.so
   79: 
   80: $(objpfx)failtest: $(libdl)
   81: $(objpfx)failtest.out: $(objpfx)failtestmod.so
   82: 
   83: $(objpfx)tst-dladdr: $(libdl)
   84: $(objpfx)tst-dladdr.out: $(objpfx)glreflib1.so
   85: 
   86: $(objpfx)tst-dlinfo: $(libdl)
   87: $(objpfx)tst-dlinfo.out: $(objpfx)glreflib3.so
   88: LDFLAGS-glreflib3.so = -Wl,-rpath,:
   89: 
   90: LDFLAGS-default = $(LDFLAGS-rdynamic)
   91: $(objpfx)default: $(libdl) $(objpfx)defaultmod1.so $(objpfx)defaultmod2.so
   92: $(objpfx)defaultmod1.so: $(libdl) $(common-objpfx)libc_nonshared.a
   93: LDFLAGS-defaultmod2.so = $(LDFLAGS-Bsymbolic)
   94: $(objpfx)defaultmod2.so: $(libdl) $(common-objpfx)libc_nonshared.a
   95: 
   96: $(objpfx)errmsg1: $(libdl)
   97: $(objpfx)errmsg1.out: $(objpfx)errmsg1 $(objpfx)errmsg1mod.so
   98: 
   99: $(objpfx)tstatexit: $(libdl)
  100: $(objpfx)tstatexit.out: $(objpfx)tstatexit $(objpfx)modatexit.so
  101: 
  102: $(objpfx)tstcxaatexit: $(libdl)
  103: $(objpfx)tstcxaatexit.out: $(objpfx)tstcxaatexit $(objpfx)modcxaatexit.so
  104: 
  105: $(objpfx)modatexit.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a
  106: 
  107: $(objpfx)tststatic: $(objpfx)libdl.a
  108: $(objpfx)tststatic.out: $(objpfx)tststatic $(objpfx)modstatic.so
  109: 
  110: $(objpfx)tststatic2: $(objpfx)libdl.a
  111: $(objpfx)tststatic2.out: $(objpfx)tststatic2 $(objpfx)modstatic.so \
  112:                          $(objpfx)modstatic2.so
  113: 
  114: $(objpfx)modstatic2.so: $(libdl) $(common-objpfx)libc.so \
  115:                         $(common-objpfx)libc_nonshared.a
  116: 
  117: $(objpfx)bug-dlopen1: $(libdl)
  118: 
  119: $(objpfx)bug-dlsym1: $(libdl) $(objpfx)bug-dlsym1-lib2.so
  120: $(objpfx)bug-dlsym1.out: $(objpfx)bug-dlsym1-lib1.so \
  121:                          $(objpfx)bug-dlsym1-lib2.so
  122: $(objpfx)bug-dlsym1-lib1.so: $(objpfx)bug-dlsym1-lib2.so \
  123:                              $(common-objpfx)libc.so \
  124:                              $(common-objpfx)libc_nonshared.a
  125: $(objpfx)bug-dlsym1-lib2.so: $(common-objpfx)libc.so \
  126:                              $(common-objpfx)libc_nonshared.a
  127: 
  128: $(objpfx)bug-atexit1: $(libdl)
  129: $(objpfx)bug-atexit1.out: $(objpfx)bug-atexit1-lib.so
  130: $(objpfx)bug-atexit1-lib.so: $(common-objpfx)libc.so \
  131:                              $(common-objpfx)libc_nonshared.a
  132: 
  133: $(objpfx)bug-atexit2: $(libdl)
  134: $(objpfx)bug-atexit2.out: $(objpfx)bug-atexit2-lib.so
  135: $(objpfx)bug-atexit2-lib.so: $(common-objpfx)libc.so \
  136:                              $(common-objpfx)libc_nonshared.a
  137: 
  138: LDLIBS-bug-atexit3-lib.so = -lstdc++ -lgcc_eh $(common-objpfx)elf/ld.so \
  139:                             $(common-objpfx)libc_nonshared.a
  140: $(objpfx)bug-atexit3: $(libdl)
  141: $(objpfx)bug-atexit3.out: $(objpfx)bug-atexit3-lib.so
  142: $(objpfx)bug-atexit3-lib.so: $(common-objpfx)libc.so \
  143:                              $(common-objpfx)libc_nonshared.a
  144: 
  145: 
  146: # Depend on libc.so so a DT_NEEDED is generated in the shared objects.
  147: # This ensures they will load libc.so for needed symbols if loaded by
  148: # a statically-linked program that hasn't already loaded it.
  149: $(objpfx)libdl.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a \
  150:                    $(if $(filter yes,$(elf)), $(elfobjdir)/ld.so)
Syntax (Markdown)