Makefile.am revision 1.7
1## Makefile for the toplevel directory of the libssp library.
2##
3## Copyright (C) 2005-2017 Free Software Foundation, Inc.
4##
5
6AUTOMAKE_OPTIONS = 1.9.5 foreign
7ACLOCAL_AMFLAGS = -I .. -I ../config
8MAINT_CHARSET = latin1
9
10# May be used by various substitution variables.
11gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
12
13if LIBSSP_USE_SYMVER
14if LIBSSP_USE_SYMVER_GNU
15version_arg = -Wl,--version-script=$(srcdir)/ssp.map
16version_dep = $(srcdir)/ssp.map
17endif
18if LIBSSP_USE_SYMVER_SUN
19version_arg = -Wl,-M,ssp.map-sun
20version_dep = ssp.map-sun
21ssp.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 \
25	  $(srcdir)/ssp.map \
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)
30endif
31else
32version_arg =
33version_dep =
34endif
35
36AM_CFLAGS = -Wall
37
38toolexeclib_LTLIBRARIES = libssp.la libssp_nonshared.la
39
40target_noncanonical = @target_noncanonical@
41libsubincludedir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include
42nobase_libsubinclude_HEADERS = ssp/ssp.h ssp/string.h ssp/stdio.h ssp/unistd.h
43
44libssp_la_SOURCES = \
45	ssp.c gets-chk.c memcpy-chk.c memmove-chk.c mempcpy-chk.c \
46	memset-chk.c snprintf-chk.c sprintf-chk.c stpcpy-chk.c \
47	strcat-chk.c strcpy-chk.c strncat-chk.c strncpy-chk.c \
48	vsnprintf-chk.c vsprintf-chk.c
49libssp_la_LIBADD = 
50libssp_la_DEPENDENCIES = $(version_dep) $(libssp_la_LIBADD)
51libssp_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
52		    $(version_arg) $(lt_host_flags)
53
54libssp_nonshared_la_SOURCES = \
55	ssp-local.c
56libssp_nonshared_la_CFLAGS = -prefer-pic
57libssp_nonshared_la_LIBADD = 
58libssp_nonshared_la_DEPENDENCIES = $(libssp_nonshared_la_LIBADD)
59libssp_nonshared_la_LDFLAGS = -static
60
61
62# XXX hack alert
63# From libffi/Makefile.am
64
65# Work around what appears to be a GNU make bug handling MAKEFLAGS
66# values defined in terms of make variables, as is the case for CC and
67# friends when we are called from the top level Makefile.
68AM_MAKEFLAGS = \
69	"AR_FLAGS=$(AR_FLAGS)" \
70	"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
71	"CFLAGS=$(CFLAGS)" \
72	"CXXFLAGS=$(CXXFLAGS)" \
73	"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
74	"CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
75	"INSTALL=$(INSTALL)" \
76	"INSTALL_DATA=$(INSTALL_DATA)" \
77	"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
78	"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
79	"JC1FLAGS=$(JC1FLAGS)" \
80	"LDFLAGS=$(LDFLAGS)" \
81	"LIBCFLAGS=$(LIBCFLAGS)" \
82	"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
83	"MAKE=$(MAKE)" \
84	"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
85	"PICFLAG=$(PICFLAG)" \
86	"PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
87	"SHELL=$(SHELL)" \
88	"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
89	"exec_prefix=$(exec_prefix)" \
90	"infodir=$(infodir)" \
91	"libdir=$(libdir)" \
92	"prefix=$(prefix)" \
93	"includedir=$(includedir)" \
94	"AR=$(AR)" \
95	"AS=$(AS)" \
96	"CC=$(CC)" \
97	"CXX=$(CXX)" \
98	"LD=$(LD)" \
99	"LIBCFLAGS=$(LIBCFLAGS)" \
100	"NM=$(NM)" \
101	"PICFLAG=$(PICFLAG)" \
102	"RANLIB=$(RANLIB)" \
103	"DESTDIR=$(DESTDIR)"
104
105MAKEOVERRIDES=
106
107## ################################################################
108
109