1 ## Makefile for the toplevel directory of the libssp library.
3 ## Copyright (C) 2005-2023 Free Software Foundation, Inc.
6 AUTOMAKE_OPTIONS = foreign
7 ACLOCAL_AMFLAGS = -I .. -I ../config
10 # May be used by various substitution variables.
11 gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
14 if LIBSSP_USE_SYMVER_GNU
15 version_arg = -Wl,--version-script=$(srcdir)/ssp.map
16 version_dep = $(srcdir)/ssp.map
18 if LIBSSP_USE_SYMVER_SUN
19 version_arg = -Wl,-M,ssp.map-sun
20 version_dep = ssp.map-sun
21 ssp.map-sun : $(srcdir)/ssp.map \
22 $(top_srcdir)/../contrib/make_sunver.pl \
23 $(libssp_la_OBJECTS) $(libssp_la_LIBADD)
24 perl $(top_srcdir)/../contrib/make_sunver.pl \
26 $(libssp_la_OBJECTS:%.lo=.libs/%.o) \
27 `echo $(libssp_la_LIBADD) | \
28 sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
29 > $@ || (rm -f $@ ; exit 1)
37 AM_CFLAGS += $(XCFLAGS)
39 toolexeclib_LTLIBRARIES = libssp.la libssp_nonshared.la
41 target_noncanonical = @target_noncanonical@
42 libsubincludedir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include
43 nobase_libsubinclude_HEADERS = ssp/ssp.h ssp/string.h ssp/stdio.h ssp/unistd.h
46 ssp.c gets-chk.c memcpy-chk.c memmove-chk.c mempcpy-chk.c \
47 memset-chk.c snprintf-chk.c sprintf-chk.c stpcpy-chk.c \
48 strcat-chk.c strcpy-chk.c strncat-chk.c strncpy-chk.c \
49 vsnprintf-chk.c vsprintf-chk.c
51 libssp_la_DEPENDENCIES = $(version_dep) $(libssp_la_LIBADD)
52 if ENABLE_DARWIN_AT_RPATH
53 libssp_darwin_rpath = -Wc,-nodefaultrpaths
54 libssp_darwin_rpath += -Wl,-rpath,@loader_path
56 libssp_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
57 $(version_arg) $(lt_host_flags) $(libssp_darwin_rpath)
59 libssp_nonshared_la_SOURCES = \
61 libssp_nonshared_la_CFLAGS = -prefer-pic $(XCFLAGS)
62 libssp_nonshared_la_LIBADD =
63 libssp_nonshared_la_DEPENDENCIES = $(libssp_nonshared_la_LIBADD)
64 libssp_nonshared_la_LDFLAGS = -static
68 # From libffi/Makefile.am
70 # Work around what appears to be a GNU make bug handling MAKEFLAGS
71 # values defined in terms of make variables, as is the case for CC and
72 # friends when we are called from the top level Makefile.
74 "AR_FLAGS=$(AR_FLAGS)" \
75 "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
77 "CXXFLAGS=$(CXXFLAGS)" \
78 "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
79 "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
80 "INSTALL=$(INSTALL)" \
81 "INSTALL_DATA=$(INSTALL_DATA)" \
82 "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
83 "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
84 "JC1FLAGS=$(JC1FLAGS)" \
85 "LDFLAGS=$(LDFLAGS)" \
86 "LIBCFLAGS=$(LIBCFLAGS)" \
87 "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
89 "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
90 "PICFLAG=$(PICFLAG)" \
91 "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
93 "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
94 "exec_prefix=$(exec_prefix)" \
95 "infodir=$(infodir)" \
98 "includedir=$(includedir)" \
104 "LIBCFLAGS=$(LIBCFLAGS)" \
106 "PICFLAG=$(PICFLAG)" \
112 ## ################################################################
114 include $(top_srcdir)/../multilib.am