]>
Commit | Line | Data |
---|---|---|
2077db1b CT |
1 | ## Makefile for the VTV library. |
2 | ## | |
a945c346 | 3 | ## Copyright (C) 2013-2024 Free Software Foundation, Inc. |
2077db1b CT |
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 | ||
56fc7835 CT |
22 | if ENABLE_VTABLE_VERIFY |
23 | SUBDIRS = testsuite | |
24 | else | |
25 | SUBDIRS= | |
26 | endif | |
2077db1b CT |
27 | |
28 | ACLOCAL_AMFLAGS = -I .. -I ../config | |
29 | ||
30 | # May be used by toolexeclibdir. | |
3c36aa6b | 31 | gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) |
2077db1b | 32 | |
8bc16536 | 33 | DEFS = @DEFS@ |
2077db1b CT |
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 | ||
4344d7fa | 41 | if ENABLE_VTABLE_VERIFY |
f7f049fa | 42 | toolexeclib_LTLIBRARIES = libvtv.la |
4344d7fa RO |
43 | if VTV_CYGMIN |
44 | toolexeclib_LTLIBRARIES += libvtv_stubs.la | |
45 | endif | |
f7f049fa | 46 | endif |
2077db1b CT |
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 | ||
f7f049fa CT |
63 | vtv_stubs_sources = \ |
64 | vtv_start.c \ | |
65 | vtv_stubs.cc \ | |
66 | vtv_end.c | |
67 | ||
114f3eb9 | 68 | libvtv_includedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include |
2077db1b CT |
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 | ||
e5ef217c | 80 | if VTV_NO_OBSTACK |
f7f049fa CT |
81 | obstack.c: |
82 | rm -f $@ | |
83 | $(LN_S) $(toplevel_srcdir)/libiberty/obstack.c $@ | |
e5ef217c RO |
84 | > config.h |
85 | endif | |
86 | ||
87 | if VTV_CYGMIN | |
f7f049fa CT |
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 | ||
56fc7835 | 99 | if ENABLE_VTABLE_VERIFY |
e5ef217c RO |
100 | libvtv_la_SOURCES = $(vtv_sources) |
101 | if VTV_NO_OBSTACK | |
102 | libvtv_la_SOURCES += obstack.c | |
103 | endif | |
f7f049fa | 104 | if VTV_CYGMIN |
f7f049fa | 105 | libvtv_stubs_la_SOURCES = $(vtv_stubs_sources) |
f7f049fa | 106 | endif |
56fc7835 CT |
107 | libvtv_include_HEADERS = $(vtv_headers) |
108 | else | |
109 | libvtv_la_SOURCES = | |
110 | libvtv_include_HEADERS = | |
111 | endif | |
2077db1b CT |
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) | |
f7f049fa CT |
116 | CXXLD=$(CC_FOR_TARGET) |
117 | ||
2077db1b CT |
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 $@ | |
22e05272 JM |
125 | |
126 | include $(top_srcdir)/../multilib.am |