]>
Commit | Line | Data |
---|---|---|
35fc243f | 1 | # Makefile for c++tools |
a945c346 | 2 | # Copyright (C) 2020-2024 Free Software Foundation, Inc. |
35fc243f NS |
3 | # |
4 | # This file is free software; you can redistribute it and/or modify | |
5 | # it under the terms of the GNU General Public License as published by | |
6 | # the Free Software Foundation; either version 3 of the License, or | |
7 | # (at your option) any later version. | |
8 | # | |
9 | # This program 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 | |
12 | # GNU General Public License for more details. | |
13 | # | |
14 | # You should have received a copy of the GNU General Public License | |
15 | # along with this program; see the file COPYING3. If not see | |
16 | # <http://www.gnu.org/licenses/>. | |
17 | ||
18 | srcdir := @srcdir@ | |
19 | prefix := @prefix@ | |
20 | bindir := @bindir@ | |
21 | libexecdir := @libexecdir@ | |
22 | target_noncanonical := @target_noncanonical@ | |
4e7e7c13 JJ |
23 | gcc_version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER) |
24 | libexecsubdir := $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) | |
79d1e0b2 | 25 | INSTALL := @INSTALL@ |
3f78c8cb NS |
26 | INSTALL_PROGRAM := @INSTALL_PROGRAM@ |
27 | INSTALL_STRIP_PROGRAM := $(srcdir)/../install-sh -c -s | |
35fc243f NS |
28 | AUTOCONF := @AUTOCONF@ |
29 | AUTOHEADER := @AUTOHEADER@ | |
30 | CXX := @CXX@ | |
31 | CXXFLAGS := @CXXFLAGS@ | |
b6cb10af MP |
32 | PICFLAG := @PICFLAG@ |
33 | LD_PICFLAG := @LD_PICFLAG@ | |
34 | CXXOPTS := $(CXXFLAGS) $(PICFLAG) -fno-exceptions -fno-rtti | |
544f4775 | 35 | LDFLAGS := @LDFLAGS@ |
e4043c63 | 36 | exeext := @EXEEXT@ |
35fc243f NS |
37 | LIBIBERTY := ../libiberty/libiberty.a |
38 | VERSION.O := ../gcc/version.o | |
39 | ||
40 | all:: | |
41 | ||
42 | mostlyclean:: | |
43 | rm -f $(MAPPER.O) | |
44 | ||
79d1e0b2 | 45 | clean:: mostlyclean |
4d8476b0 | 46 | rm -f g++-mapper-server$(exeext) |
35fc243f | 47 | |
79d1e0b2 JW |
48 | distclean:: clean |
49 | rm -f config.log config.status config.h config.cache Makefile | |
50 | rm -f $(MAPPER.O:%.o=%.d) | |
35fc243f | 51 | |
79d1e0b2 | 52 | maintainer-clean:: distclean |
35fc243f NS |
53 | |
54 | install:: | |
55 | ||
3f78c8cb NS |
56 | check:: |
57 | installcheck:: | |
58 | dvi:: | |
59 | pdf:: | |
60 | html:: | |
61 | info:: | |
62 | install-info:: | |
63 | install-pdf:: | |
c3e80a16 | 64 | install-dvi:: |
3f78c8cb NS |
65 | install-man:: |
66 | install-html:: | |
67 | ||
68 | install-strip: override INSTALL_PROGRAM = $(INSTALL_STRIP_PROGRAM) | |
69 | ifneq ($(STRIP),) | |
70 | install-strip: STRIPPROG = $(STRIP) | |
71 | export STRIPPROG | |
72 | endif | |
73 | install-strip: install | |
35fc243f NS |
74 | |
75 | vpath %.cc $(srcdir) | |
76 | vpath %.in $(srcdir) | |
77 | .SUFFIXES: | |
78 | .SUFFIXES: .cc .o | |
79 | ||
80 | # Per-source & per-directory compile flags (warning: recursive) | |
81 | SRC_CXXFLAGS = $(CXXFLAGS$(patsubst $(srcdir)%,%,$1)) \ | |
82 | $(if $(filter-out $(srcdir)/,$1),\ | |
83 | $(call $0,$(dir $(patsubst %/,%,$1)))) | |
84 | ||
85 | %.o: %.cc | |
86 | $(CXX) $(strip $(CXXOPTS) $(call SRC_CXXFLAGS,$<) $(CXXINC)) \ | |
87 | -MMD -MP -MF ${@:.o=.d} -c -o $@ $< | |
88 | ||
89 | ifeq (@CXX_AUX_TOOLS@,yes) | |
90 | ||
91 | all::g++-mapper-server$(exeext) | |
92 | ||
b6cb10af MP |
93 | ifneq ($(PICFLAG),) |
94 | override LIBIBERTY := ../libiberty/pic/libiberty.a | |
95 | endif | |
96 | ||
35fc243f NS |
97 | MAPPER.O := server.o resolver.o |
98 | CODYLIB = ../libcody/libcody.a | |
e3a682f4 | 99 | CXXINC += -I$(srcdir)/../libcody -I$(srcdir)/../include -I$(srcdir)/../gcc -I. -I../gcc |
35fc243f | 100 | g++-mapper-server$(exeext): $(MAPPER.O) $(CODYLIB) |
f68e90a0 | 101 | +$(CXX) $(LDFLAGS) $(PICFLAG) $(LD_PICFLAG) -o $@ $^ $(LIBIBERTY) |
35fc243f NS |
102 | |
103 | # copy to gcc dir so tests there can run | |
104 | all::../gcc/g++-mapper-server$(exeext) | |
105 | ||
106 | ../gcc/g++-mapper-server$(exeext): g++-mapper-server$(exeext) | |
4d8476b0 | 107 | $(INSTALL) $< $@ |
35fc243f NS |
108 | |
109 | install:: | |
4d8476b0 | 110 | $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(libexecsubdir) |
3f78c8cb | 111 | $(INSTALL_PROGRAM) g++-mapper-server$(exeext) $(DESTDIR)$(libexecsubdir) |
35fc243f NS |
112 | endif |
113 | ||
114 | ifneq ($(MAINTAINER),) | |
115 | override MAINTAINER += $1 | |
116 | endif | |
117 | ifeq (@MAINTAINER@,yes) | |
118 | MAINTAINER = $2 | |
119 | else | |
120 | MAINTAINER = \# --enable-maintainer-mode to rebuild $1, or make MAINTAINER=touch | |
121 | endif | |
122 | ||
123 | all:: Makefile | |
124 | ||
125 | Makefile: $(srcdir)/Makefile.in config.status | |
126 | $(SHELL) ./config.status Makefile | |
127 | ||
128 | $(srcdir)/configure: $(srcdir)/configure.ac | |
129 | $(call MAINTAINER,$@,cd $(@D) && $(AUTOCONF) -W all,error) | |
130 | ||
131 | $(srcdir)/config.h.in: $(srcdir)/configure.ac | |
132 | $(call MAINTAINER,$@,cd $(@D) && $(AUTOHEADER) -f -W all,error) | |
133 | ||
134 | config.h: config.status config.h.in | |
135 | ./$< --header=$@ | |
136 | touch $@ | |
137 | ||
138 | config.status: $(srcdir)/configure $(srcdir)/config.h.in | |
139 | if test -x $@; then ./$@ -recheck; else $< @configure_args@; fi | |
140 | ||
79d1e0b2 | 141 | .PHONY: all check mostlyclean clean distclean maintainer-clean |
35fc243f NS |
142 | |
143 | -include $(MAPPER.O:.o=.d) |