111
|
1 ## Makefile for the VTV library.
|
|
2 ##
|
131
|
3 ## Copyright (C) 2013-2018 Free Software Foundation, Inc.
|
111
|
4 ##
|
|
5 ## Process this file with automake to produce Makefile.in.
|
|
6 ##
|
|
7 ## This file is part of the Vtable Verification (VTV) Library. This
|
|
8 ## library is free software; you can redistribute it and/or modify it
|
|
9 ## under the terms of the GNU General Public License as published by
|
|
10 ## the Free Software Foundation; either version 3, or (at your option)
|
|
11 ## any later version.
|
|
12
|
|
13 ## This library is distributed in the hope that it will be useful, but
|
|
14 ## WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
16 ## General Public License for more details.
|
|
17
|
|
18 ## You should have received a copy of the GNU General Public License
|
|
19 ## along with this library; see the file COPYING3. If not see
|
|
20 ## <http://www.gnu.org/licenses/>.
|
|
21
|
|
22 if ENABLE_VTABLE_VERIFY
|
|
23 SUBDIRS = testsuite
|
|
24 else
|
|
25 SUBDIRS=
|
|
26 endif
|
|
27
|
|
28 ACLOCAL_AMFLAGS = -I .. -I ../config
|
|
29
|
|
30 # May be used by toolexeclibdir.
|
|
31 gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
|
|
32
|
|
33 DEFS = @DEFS@
|
|
34 AM_CPPFLAGS = -I$(top_srcdir)/../include
|
|
35 AM_CFLAGS = $(XCFLAGS)
|
|
36 AM_CCASFLAGS = $(XCFLAGS)
|
|
37 AM_CXXFLAGS = $(XCFLAGS)
|
|
38 AM_CXXFLAGS += $(LIBSTDCXX_RAW_CXX_CXXFLAGS)
|
|
39 AM_CXXFLAGS += -Wl,-u_vtable_map_vars_start,-u_vtable_map_vars_end
|
|
40
|
|
41 if ENABLE_VTABLE_VERIFY
|
|
42 toolexeclib_LTLIBRARIES = libvtv.la
|
|
43 if VTV_CYGMIN
|
|
44 toolexeclib_LTLIBRARIES += libvtv_stubs.la
|
|
45 endif
|
|
46 endif
|
|
47
|
|
48 vtv_headers = \
|
|
49 vtv_map.h \
|
|
50 vtv_malloc.h \
|
|
51 vtv_fail.h \
|
|
52 vtv_set.h \
|
|
53 vtv_utils.h \
|
|
54 vtv_rts.h
|
|
55
|
|
56 vtv_sources = \
|
|
57 vtv_start.c \
|
|
58 vtv_malloc.cc \
|
|
59 vtv_rts.cc \
|
|
60 vtv_utils.cc \
|
|
61 vtv_end.c
|
|
62
|
|
63 vtv_stubs_sources = \
|
|
64 vtv_start.c \
|
|
65 vtv_stubs.cc \
|
|
66 vtv_end.c
|
|
67
|
|
68 libvtv_includedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
|
|
69
|
|
70 # Link in vtv_start and vtv_end.
|
|
71 BUILT_SOURCES = vtv_start.c vtv_end.c
|
|
72 vtv_start.c:
|
|
73 rm -f $@
|
|
74 $(LN_S) $(toplevel_srcdir)/libgcc/vtv_start.c $@
|
|
75
|
|
76 vtv_end.c:
|
|
77 rm -f $@
|
|
78 $(LN_S) $(toplevel_srcdir)/libgcc/vtv_end.c $@
|
|
79
|
|
80 if VTV_NO_OBSTACK
|
|
81 obstack.c:
|
|
82 rm -f $@
|
|
83 $(LN_S) $(toplevel_srcdir)/libiberty/obstack.c $@
|
|
84 > config.h
|
|
85 endif
|
|
86
|
|
87 if VTV_CYGMIN
|
|
88 vtv_stubs.cc:
|
|
89 rm -f $@
|
|
90 $(LN_S) $(toplevel_srcdir)/libstdc++-v3/libsupc++/vtv_stubs.cc $@
|
|
91 endif
|
|
92
|
|
93 if VTV_CYGMIN
|
|
94 libvtv_la_LIBADD = -lpsapi
|
|
95 libvtv_la_LDFLAGS = $(lt_host_flags)
|
|
96 libvtv_stubs_la_LDFLAGS = $(lt_host_flags)
|
|
97 endif
|
|
98
|
|
99 if ENABLE_VTABLE_VERIFY
|
|
100 libvtv_la_SOURCES = $(vtv_sources)
|
|
101 if VTV_NO_OBSTACK
|
|
102 libvtv_la_SOURCES += obstack.c
|
|
103 endif
|
|
104 if VTV_CYGMIN
|
|
105 libvtv_stubs_la_SOURCES = $(vtv_stubs_sources)
|
|
106 endif
|
|
107 libvtv_include_HEADERS = $(vtv_headers)
|
|
108 else
|
|
109 libvtv_la_SOURCES =
|
|
110 libvtv_include_HEADERS =
|
|
111 endif
|
|
112
|
|
113 # Least ordering for dependencies mean linking w/o libstdc++ for as
|
|
114 # long as the development of libvtv does not absolutely require it.
|
|
115 CXXVTV=$(CC_FOR_TARGET)
|
|
116 CXXLD=$(CC_FOR_TARGET)
|
|
117
|
|
118 LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
|
119 --mode=compile $(CXXVTV) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
|
120 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
|
121
|
|
122 CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
|
123 --mode=link $(CXXVTV) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
|
|
124 $(LDFLAGS) -o $@
|