xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/jit/Make-lang.in (revision 8feb0f0b7eaff0608f8350bbfa3098827b4bb91b)
136ac495dSmrg# Top level -*- makefile -*- fragment for libgccjit.so.
2*8feb0f0bSmrg#   Copyright (C) 2013-2020 Free Software Foundation, Inc.
336ac495dSmrg
436ac495dSmrg#This file is part of GCC.
536ac495dSmrg
636ac495dSmrg#GCC is free software; you can redistribute it and/or modify
736ac495dSmrg#it under the terms of the GNU General Public License as published by
836ac495dSmrg#the Free Software Foundation; either version 3, or (at your option)
936ac495dSmrg#any later version.
1036ac495dSmrg
1136ac495dSmrg#GCC is distributed in the hope that it will be useful,
1236ac495dSmrg#but WITHOUT ANY WARRANTY; without even the implied warranty of
1336ac495dSmrg#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1436ac495dSmrg#GNU General Public License for more details.
1536ac495dSmrg
1636ac495dSmrg# You should have received a copy of the GNU General Public License
1736ac495dSmrg# along with GCC; see the file COPYING3.  If not see
1836ac495dSmrg# <http://www.gnu.org/licenses/>.
1936ac495dSmrg
2036ac495dSmrg# This file provides the language dependent support in the main Makefile.
2136ac495dSmrg# Each language makefile fragment must provide the following targets:
2236ac495dSmrg#
2336ac495dSmrg# foo.all.cross, foo.start.encap, foo.rest.encap,
2436ac495dSmrg# foo.install-common, foo.install-man, foo.install-info, foo.install-pdf,
2536ac495dSmrg# foo.install-html, foo.info, foo.dvi, foo.pdf, foo.html, foo.uninstall,
2636ac495dSmrg# foo.mostlyclean, foo.clean, foo.distclean,
2736ac495dSmrg# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
2836ac495dSmrg#
2936ac495dSmrg# where `foo' is the name of the language.
3036ac495dSmrg#
3136ac495dSmrg# It should also provide rules for:
3236ac495dSmrg#
3336ac495dSmrg# - making any compiler driver (eg: g++)
3436ac495dSmrg# - the compiler proper (eg: cc1plus)
3536ac495dSmrg# - define the names for selecting the language in LANGUAGES.
3636ac495dSmrg
3736ac495dSmrg#
3836ac495dSmrg# Define the names for selecting jit in LANGUAGES.
3936ac495dSmrg# Note that it would be nice to move the dependency on g++
4036ac495dSmrg# into the jit rule, but that needs a little bit of work
4136ac495dSmrg# to do the right thing within all.cross.
4236ac495dSmrg
4336ac495dSmrgLIBGCCJIT_VERSION_NUM = 0
4436ac495dSmrgLIBGCCJIT_MINOR_NUM = 0
4536ac495dSmrgLIBGCCJIT_RELEASE_NUM = 1
46*8feb0f0bSmrg
47*8feb0f0bSmrgifneq (,$(findstring darwin,$(host)))
48*8feb0f0bSmrg
49*8feb0f0bSmrgLIBGCCJIT_AGE = 1
50*8feb0f0bSmrgLIBGCCJIT_BASENAME = libgccjit
51*8feb0f0bSmrg
52*8feb0f0bSmrgLIBGCCJIT_SONAME = \
53*8feb0f0bSmrg  ${libdir}/$(LIBGCCJIT_BASENAME).$(LIBGCCJIT_VERSION_NUM).dylib
54*8feb0f0bSmrgLIBGCCJIT_FILENAME = $(LIBGCCJIT_BASENAME).$(LIBGCCJIT_VERSION_NUM).dylib
55*8feb0f0bSmrgLIBGCCJIT_LINKER_NAME = $(LIBGCCJIT_BASENAME).dylib
56*8feb0f0bSmrg
57*8feb0f0bSmrg# Conditionalize the use of the LD_VERSION_SCRIPT_OPTION and
58*8feb0f0bSmrg# LD_SONAME_OPTION depending if configure found them, using $(if)
59*8feb0f0bSmrg# We have to define a COMMA here, otherwise the commas in the "true"
60*8feb0f0bSmrg# result are treated as separators by the $(if).
61*8feb0f0bSmrgCOMMA := ,
62*8feb0f0bSmrgLIBGCCJIT_VERSION_SCRIPT_OPTION = \
63*8feb0f0bSmrg	$(if $(LD_VERSION_SCRIPT_OPTION),\
64*8feb0f0bSmrg	  -Wl$(COMMA)$(LD_VERSION_SCRIPT_OPTION)$(COMMA)$(srcdir)/jit/libgccjit.map)
65*8feb0f0bSmrg
66*8feb0f0bSmrgLIBGCCJIT_SONAME_OPTION = \
67*8feb0f0bSmrg	$(if $(LD_SONAME_OPTION), \
68*8feb0f0bSmrg	     -Wl$(COMMA)$(LD_SONAME_OPTION)$(COMMA)$(LIBGCCJIT_SONAME))
69*8feb0f0bSmrg
70*8feb0f0bSmrgLIBGCCJIT_SONAME_SYMLINK = $(LIBGCCJIT_FILENAME)
71*8feb0f0bSmrgLIBGCCJIT_LINKER_NAME_SYMLINK = $(LIBGCCJIT_LINKER_NAME)
72*8feb0f0bSmrg
73*8feb0f0bSmrgjit: $(LIBGCCJIT_FILENAME) \
74*8feb0f0bSmrg	$(LIBGCCJIT_SYMLINK) \
75*8feb0f0bSmrg	$(LIBGCCJIT_LINKER_NAME_SYMLINK) \
76*8feb0f0bSmrg	$(FULL_DRIVER_NAME)
77*8feb0f0bSmrg
78*8feb0f0bSmrgelse
79*8feb0f0bSmrg
80*8feb0f0bSmrgLIBGCCJIT_LINKER_NAME = libgccjit.so
8136ac495dSmrgLIBGCCJIT_SONAME = $(LIBGCCJIT_LINKER_NAME).$(LIBGCCJIT_VERSION_NUM)
8236ac495dSmrgLIBGCCJIT_FILENAME = \
8336ac495dSmrg  $(LIBGCCJIT_SONAME).$(LIBGCCJIT_MINOR_NUM).$(LIBGCCJIT_RELEASE_NUM)
8436ac495dSmrg
8536ac495dSmrgLIBGCCJIT_LINKER_NAME_SYMLINK = $(LIBGCCJIT_LINKER_NAME)
8636ac495dSmrgLIBGCCJIT_SONAME_SYMLINK = $(LIBGCCJIT_SONAME)
8736ac495dSmrg
88a2dc1f3fSmrg# Conditionalize the use of the LD_VERSION_SCRIPT_OPTION and
89a2dc1f3fSmrg# LD_SONAME_OPTION depending if configure found them, using $(if)
90a2dc1f3fSmrg# We have to define a COMMA here, otherwise the commas in the "true"
91a2dc1f3fSmrg# result are treated as separators by the $(if).
92a2dc1f3fSmrgCOMMA := ,
93a2dc1f3fSmrgLIBGCCJIT_VERSION_SCRIPT_OPTION = \
94a2dc1f3fSmrg	$(if $(LD_VERSION_SCRIPT_OPTION),\
95a2dc1f3fSmrg	  -Wl$(COMMA)$(LD_VERSION_SCRIPT_OPTION)$(COMMA)$(srcdir)/jit/libgccjit.map)
96a2dc1f3fSmrg
97a2dc1f3fSmrgLIBGCCJIT_SONAME_OPTION = \
98a2dc1f3fSmrg	$(if $(LD_SONAME_OPTION), \
99a2dc1f3fSmrg	     -Wl$(COMMA)$(LD_SONAME_OPTION)$(COMMA)$(LIBGCCJIT_SONAME))
100a2dc1f3fSmrg
10136ac495dSmrgjit: $(LIBGCCJIT_FILENAME) \
10236ac495dSmrg	$(LIBGCCJIT_SYMLINK) \
10336ac495dSmrg	$(LIBGCCJIT_LINKER_NAME_SYMLINK) \
10436ac495dSmrg	$(FULL_DRIVER_NAME)
10536ac495dSmrg
106*8feb0f0bSmrgendif
107*8feb0f0bSmrg
108*8feb0f0bSmrgjit.serial = $(LIBGCCJIT_FILENAME)
109*8feb0f0bSmrg
11036ac495dSmrg# Tell GNU make to ignore these if they exist.
11136ac495dSmrg.PHONY: jit
11236ac495dSmrg
11336ac495dSmrgjit_OBJS = attribs.o \
11436ac495dSmrg	jit/dummy-frontend.o \
11536ac495dSmrg	jit/libgccjit.o \
11636ac495dSmrg	jit/jit-logging.o \
11736ac495dSmrg	jit/jit-recording.o \
11836ac495dSmrg	jit/jit-playback.o \
11936ac495dSmrg	jit/jit-result.o \
12036ac495dSmrg	jit/jit-tempdir.o \
12136ac495dSmrg	jit/jit-builtins.o \
12236ac495dSmrg	jit/jit-spec.o \
12336ac495dSmrg	gcc.o
12436ac495dSmrg
12536ac495dSmrg# Use strict warnings for this front end.
12636ac495dSmrgjit-warn = $(STRICT_WARN)
12736ac495dSmrg
128*8feb0f0bSmrgifneq (,$(findstring darwin,$(host)))
129*8feb0f0bSmrg# TODO : Construct a Darwin-style symbol export file.
130*8feb0f0bSmrgLIBGCCJIT_EXTRA_OPTS = -Wl,-compatibility_version,$(LIBGCCJIT_VERSION_NUM) \
131*8feb0f0bSmrg	-Wl,-current_version,$(LIBGCCJIT_VERSION_NUM).$(LIBGCCJIT_MINOR_NUM).$(LIBGCCJIT_AGE) \
132*8feb0f0bSmrg	$(LIBGCCJIT_VERSION_SCRIPT_OPTION) \
133*8feb0f0bSmrg	$(LIBGCCJIT_SONAME_OPTION)
134*8feb0f0bSmrgelse
135*8feb0f0bSmrg
136*8feb0f0bSmrgLIBGCCJIT_EXTRA_OPTS = $(LIBGCCJIT_VERSION_SCRIPT_OPTION) \
137*8feb0f0bSmrg	$(LIBGCCJIT_SONAME_OPTION)
138*8feb0f0bSmrgendif
139*8feb0f0bSmrg
14036ac495dSmrg# We avoid using $(BACKEND) from Makefile.in in order to avoid pulling
14136ac495dSmrg# in main.o
14236ac495dSmrg$(LIBGCCJIT_FILENAME): $(jit_OBJS) \
14336ac495dSmrg	libbackend.a libcommon-target.a libcommon.a \
14436ac495dSmrg	$(CPPLIB) $(LIBDECNUMBER) \
14536ac495dSmrg	$(LIBDEPS) $(srcdir)/jit/libgccjit.map \
14636ac495dSmrg	$(EXTRA_GCC_OBJS)
14736ac495dSmrg	+$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ -shared \
14836ac495dSmrg	     $(jit_OBJS) libbackend.a libcommon-target.a libcommon.a \
149a2dc1f3fSmrg	     $(CPPLIB) $(LIBDECNUMBER) $(EXTRA_GCC_LIBS) $(LIBS) $(BACKENDLIBS) \
15036ac495dSmrg	     $(EXTRA_GCC_OBJS) \
151*8feb0f0bSmrg	     $(LIBGCCJIT_EXTRA_OPTS)
15236ac495dSmrg
153*8feb0f0bSmrg# Create symlinks
154*8feb0f0bSmrg
155*8feb0f0bSmrgifeq (,$(findstring darwin,$(host)))
156*8feb0f0bSmrg# but only one level for Darwin, version info is embedded.
15736ac495dSmrg$(LIBGCCJIT_SONAME_SYMLINK): $(LIBGCCJIT_FILENAME)
15836ac495dSmrg	ln -sf $(LIBGCCJIT_FILENAME) $(LIBGCCJIT_SONAME_SYMLINK)
159*8feb0f0bSmrgendif
16036ac495dSmrg
16136ac495dSmrg$(LIBGCCJIT_LINKER_NAME_SYMLINK): $(LIBGCCJIT_SONAME_SYMLINK)
16236ac495dSmrg	ln -sf $(LIBGCCJIT_SONAME_SYMLINK) $(LIBGCCJIT_LINKER_NAME_SYMLINK)
16336ac495dSmrg
16436ac495dSmrg#
16536ac495dSmrg# Build hooks:
16636ac495dSmrg
16736ac495dSmrgjit.all.cross:
16836ac495dSmrgjit.start.encap:
16936ac495dSmrgjit.rest.encap:
17036ac495dSmrg
17136ac495dSmrg# Documentation build hooks.
17236ac495dSmrg#
17336ac495dSmrg# The documentation can be built using the texinfo toolchain, or
17436ac495dSmrg# the sphinx toolchain
17536ac495dSmrg#
17636ac495dSmrg# The jit documentation is authored using Sphinx, which has numerous
17736ac495dSmrg# advantages over Texinfo, including:
17836ac495dSmrg#
17936ac495dSmrg#   * much faster
18036ac495dSmrg#
18136ac495dSmrg#   * use of CSS and JS to provide less of a 1990s feel in the generated
18236ac495dSmrg#     HTML.
18336ac495dSmrg#
18436ac495dSmrg#   * sane, stable HTML page and anchor names
18536ac495dSmrg#
18636ac495dSmrg#   * sane HTML navigation: ability to move forward and back in the HTML
18736ac495dSmrg#     at every node to read the HTML like a book
18836ac495dSmrg#
18936ac495dSmrg#   * syntax-coloring of examples
19036ac495dSmrg#
19136ac495dSmrg#   * the ability to "include" fragments of code inline.  This is used
19236ac495dSmrg#     heavily by the jit docs, so that the example code is shared by both
19336ac495dSmrg#     the test suite and the documentation to ensure that the examples
19436ac495dSmrg#     appearing in the docs actually compile and work
19536ac495dSmrg#
19636ac495dSmrg# Sphinx is not a "blessed" dependency, and so a prebuilt libgccjit.texinfo
19736ac495dSmrg# file built by Sphinx is checked into the source tree to avoid requiring
19836ac495dSmrg# everyone to have Sphinx installed.
19936ac495dSmrg#
20036ac495dSmrg# This prebuilt libgccjit.texinfo has the "include" fragments "baked in",
20136ac495dSmrg# and so contains the content from the sphinx toolchain, but lacks the
20236ac495dSmrg# syntax-coloring, and the generated HTML is (IMHO) greatly inferior to
20336ac495dSmrg# that generated by Sphinx.
20436ac495dSmrg
20536ac495dSmrg# These targets redirect HTML creation and installation to either
20636ac495dSmrg# jit.sphinx.(install-)html or jit.texinfo.(install-)html.
20736ac495dSmrgjit.html: jit.$(doc_build_sys).html
20836ac495dSmrgjit.install-html: jit.$(doc_build_sys).install-html
20936ac495dSmrg
21036ac495dSmrg# For now, use texinfo for pdf, since the sphinx latex toolchain currently
21136ac495dSmrg# fails for me deep inside pdflatex (see notes below)
21236ac495dSmrgjit.pdf: jit.texinfo.pdf
21336ac495dSmrgjit.install-pdf: jit.texinfo.install-pdf
21436ac495dSmrg
21536ac495dSmrg# Hooks for building docs using texinfo
21636ac495dSmrgJIT_TEXI_FILES = $(srcdir)/jit/docs/_build/texinfo/libgccjit.texi
21736ac495dSmrg
21836ac495dSmrgjit.info: doc/libgccjit.info
21936ac495dSmrgdoc/libgccjit.info: $(JIT_TEXI_FILES)
22036ac495dSmrg	if test "x$(BUILD_INFO)" = xinfo; then \
22136ac495dSmrg	  rm -f doc/libgccjit.info*; \
22236ac495dSmrg	  $(MAKEINFO) $(MAKEINFOFLAGS) -I $(gcc_docdir) \
22336ac495dSmrg		-I $(gcc_docdir)/include -o $@ $<; \
22436ac495dSmrg	else true; fi
22536ac495dSmrg
22636ac495dSmrgjit.install-info: $(DESTDIR)$(infodir)/libgccjit.info
22736ac495dSmrg
22836ac495dSmrgjit.dvi: doc/libgccjit.dvi
22936ac495dSmrgdoc/libgccjit.dvi: $(JIT_TEXI_FILES)
23036ac495dSmrg	$(TEXI2DVI) -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
23136ac495dSmrg
23236ac495dSmrgjit.texinfo.html: $(build_htmldir)/jit/index.html
23336ac495dSmrg
23436ac495dSmrg$(build_htmldir)/jit/index.html: $(srcdir)/jit/docs/_build/texinfo/libgccjit.texi
23536ac495dSmrg	$(mkinstalldirs) $(@D)
23636ac495dSmrg	rm -f $(@D)/*
23736ac495dSmrg	$(TEXI2HTML) -I $(gcc_docdir)/include -I $(srcdir)/jit -o $(@D) $<
23836ac495dSmrg
23936ac495dSmrgjit.texinfo.install-html: jit.texinfo.html
24036ac495dSmrg	@$(NORMAL_INSTALL)
24136ac495dSmrg	test -z "$(htmldir)" || $(mkinstalldirs) "$(DESTDIR)$(htmldir)"
24236ac495dSmrg	@for p in $(build_htmldir)/jit; do \
24336ac495dSmrg	  if test -f "$$p" || test -d "$$p"; then d=""; else d="$(srcdir)/"; fi; \
24436ac495dSmrg	  f=$(html__strip_dir) \
24536ac495dSmrg	  if test -d "$$d$$p"; then \
24636ac495dSmrg	    echo " $(mkinstalldirs) '$(DESTDIR)$(htmldir)/$$f'"; \
24736ac495dSmrg	    $(mkinstalldirs) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
24836ac495dSmrg	    echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
24936ac495dSmrg	    $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f"; \
25036ac495dSmrg	  else \
25136ac495dSmrg	    echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \
25236ac495dSmrg	    $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \
25336ac495dSmrg	  fi; \
25436ac495dSmrg	done
25536ac495dSmrg
25636ac495dSmrgjit.texinfo.pdf: doc/libgccjit.pdf
25736ac495dSmrg
25836ac495dSmrgdoc/libgccjit.pdf: $(JIT_TEXI_FILES)
25936ac495dSmrg	$(TEXI2PDF) -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
26036ac495dSmrg
26136ac495dSmrgjit.texinfo.install-pdf: doc/libgccjit.pdf
26236ac495dSmrg	@$(NORMAL_INSTALL)
26336ac495dSmrg	test -z "$(pdfdir)" || $(mkinstalldirs) "$(DESTDIR)$(pdfdir)/gcc"
26436ac495dSmrg	@for p in doc/libgccjit.pdf; do \
26536ac495dSmrg	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
26636ac495dSmrg	  f=$(pdf__strip_dir) \
26736ac495dSmrg	  echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/gcc/$$f'"; \
26836ac495dSmrg	  $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/gcc/$$f"; \
26936ac495dSmrg	done
27036ac495dSmrg
27136ac495dSmrg# Hooks for building docs using the Sphinx toolchain:
27236ac495dSmrg
27336ac495dSmrgSPHINX_BUILD_DIR=jit/sphinx-build
27436ac495dSmrg
27536ac495dSmrgjit.sphinx.html:
27636ac495dSmrg	mkdir -p $(SPHINX_BUILD_DIR)
27736ac495dSmrg	(cd $(srcdir)/jit/docs && \
27836ac495dSmrg	  make html BUILDDIR=$(PWD)/$(SPHINX_BUILD_DIR) )
27936ac495dSmrg
28036ac495dSmrgjit_htmldir=$(htmldir)/jit
28136ac495dSmrg
28236ac495dSmrgjit.sphinx.install-html: jit.sphinx.html
28336ac495dSmrg	@$(NORMAL_INSTALL)
28436ac495dSmrg	test -z "$(jit_htmldir)" || $(mkinstalldirs) "$(DESTDIR)$(jit_htmldir)"
28536ac495dSmrg	@for f in $(shell cd $(SPHINX_BUILD_DIR)/html && find) ; do \
28636ac495dSmrg	  if test -f $(SPHINX_BUILD_DIR)/html/"$$f"; then \
28736ac495dSmrg	     $(INSTALL_DATA) $(SPHINX_BUILD_DIR)/html/"$$f" $(DESTDIR)$(jit_htmldir)/"$$f"; \
28836ac495dSmrg	  else \
28936ac495dSmrg	     mkdir $(DESTDIR)$(jit_htmldir)/"$$f"; \
29036ac495dSmrg	  fi; \
29136ac495dSmrg	done
29236ac495dSmrg
29336ac495dSmrg# (This one is currently failing deep inside pdflatex for me;
29436ac495dSmrg# see https://bugzilla.redhat.com/show_bug.cgi?id=1148845 )
29536ac495dSmrgjit.sphinx.pdf: $(SPHINX_BUILD_DIR)/latex/libgccjit.pdf
29636ac495dSmrg$(SPHINX_BUILD_DIR)/latex/libgccjit.pdf:
29736ac495dSmrg	mkdir -p $(SPHINX_BUILD_DIR)
29836ac495dSmrg	(cd $(srcdir)/jit/docs && \
29936ac495dSmrg	  make latexpdf BUILDDIR=$(PWD)/$(SPHINX_BUILD_DIR) )
30036ac495dSmrg
30136ac495dSmrgjit.sphinx.install-pdf: $(SPHINX_BUILD_DIR)/latex/libgccjit.pdf
30236ac495dSmrg	@$(NORMAL_INSTALL)
30336ac495dSmrg	test -z "$(pdfdir)" || $(mkinstalldirs) "$(DESTDIR)$(pdfdir)/gcc"
30436ac495dSmrg	@for p in $(SPHINX_BUILD_DIR)/latex/libgccjit.pdf; do \
30536ac495dSmrg	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
30636ac495dSmrg	  f=$(pdf__strip_dir) \
30736ac495dSmrg	  echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/gcc/$$f'"; \
30836ac495dSmrg	  $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/gcc/$$f"; \
30936ac495dSmrg	done
31036ac495dSmrg
31136ac495dSmrgjit.srcinfo:
31236ac495dSmrgjit.srcextra:
31336ac495dSmrg
31436ac495dSmrgjit.tags:
31536ac495dSmrg
31636ac495dSmrgjit.man:
31736ac495dSmrg
31836ac495dSmrgjit.srcman:
31936ac495dSmrg
32036ac495dSmrglang_checks += check-jit
32136ac495dSmrglang_checks_parallelized += check-jit
32236ac495dSmrg# This number is somewhat arbitrary.  Two tests are much slower
32336ac495dSmrg# than all the others (test-combination.c and test-threads.c) so
32436ac495dSmrg# we want them to be placed in different "buckets".
32536ac495dSmrgcheck_jit_parallelize = 10
32636ac495dSmrg
327c0a68be4Smrg# No jit-specific selftests
328c0a68be4Smrgselftest-jit:
329c0a68be4Smrg
33036ac495dSmrg#
33136ac495dSmrg# Install hooks:
332*8feb0f0bSmrg
333*8feb0f0bSmrgjit.install-headers: installdirs
334*8feb0f0bSmrg	$(INSTALL_DATA) $(srcdir)/jit/libgccjit.h \
335*8feb0f0bSmrg	  $(DESTDIR)$(includedir)/libgccjit.h
336*8feb0f0bSmrg	$(INSTALL_DATA) $(srcdir)/jit/libgccjit++.h \
337*8feb0f0bSmrg	  $(DESTDIR)$(includedir)/libgccjit++.h
338*8feb0f0bSmrg
339*8feb0f0bSmrg
340*8feb0f0bSmrgifneq (,$(findstring darwin,$(host)))
341*8feb0f0bSmrg# but only one level for Darwin
342*8feb0f0bSmrg
343*8feb0f0bSmrgjit.install-common: installdirs jit.install-headers
344*8feb0f0bSmrg	$(INSTALL_PROGRAM) $(LIBGCCJIT_FILENAME) \
345*8feb0f0bSmrg	  $(DESTDIR)$(libdir)/$(LIBGCCJIT_FILENAME)
346*8feb0f0bSmrg	ln -sf \
347*8feb0f0bSmrg	  $(LIBGCCJIT_SONAME_SYMLINK)\
348*8feb0f0bSmrg	  $(DESTDIR)$(libdir)/$(LIBGCCJIT_LINKER_NAME_SYMLINK)
349*8feb0f0bSmrg
350*8feb0f0bSmrgelse
351*8feb0f0bSmrgjit.install-common: installdirs jit.install-headers
35236ac495dSmrg	$(INSTALL_PROGRAM) $(LIBGCCJIT_FILENAME) \
35336ac495dSmrg	  $(DESTDIR)/$(libdir)/$(LIBGCCJIT_FILENAME)
35436ac495dSmrg	ln -sf \
35536ac495dSmrg	  $(LIBGCCJIT_FILENAME) \
35636ac495dSmrg	  $(DESTDIR)/$(libdir)/$(LIBGCCJIT_SONAME_SYMLINK)
35736ac495dSmrg	ln -sf \
35836ac495dSmrg	  $(LIBGCCJIT_SONAME_SYMLINK)\
359*8feb0f0bSmrg	  $(DESTDIR)$(libdir)/$(LIBGCCJIT_LINKER_NAME_SYMLINK)
360*8feb0f0bSmrgendif
36136ac495dSmrg
36236ac495dSmrgjit.install-man:
36336ac495dSmrg
36436ac495dSmrgjit.install-plugin:
36536ac495dSmrg
36636ac495dSmrgjit.uninstall:
36736ac495dSmrg
36836ac495dSmrg#
36936ac495dSmrg# Clean hooks:
37036ac495dSmrg# A lot of the ancillary files are deleted by the main makefile.
37136ac495dSmrg# We just have to delete files specific to us.
37236ac495dSmrg
37336ac495dSmrgjit.mostlyclean:
37436ac495dSmrg	-rm -f $(LIBGCCJIT_FILENAME) $(LIBGCCJIT_SYMLINK)
37536ac495dSmrg	-rm -f $(LIBGCCJIT_LINKER_NAME_SYMLINK) $(FULL_DRIVER_NAME)
37636ac495dSmrg	-rm -f $(LIBGCCJIT_SONAME)
37736ac495dSmrg	-rm -f $(jit_OBJS)
37836ac495dSmrg
37936ac495dSmrgjit.clean:
38036ac495dSmrg
38136ac495dSmrgjit.distclean:
38236ac495dSmrg
38336ac495dSmrgjit.maintainer-clean:
38436ac495dSmrg
38536ac495dSmrg#
38636ac495dSmrg# Stage hooks:
38736ac495dSmrg# The main makefile has already created stage?/jit.
38836ac495dSmrg
38936ac495dSmrgjit.stage1: stage1-start
39036ac495dSmrg	-mv jit/*$(objext) stage1/jit
39136ac495dSmrgjit.stage2: stage2-start
39236ac495dSmrg	-mv jit/*$(objext) stage2/jit
39336ac495dSmrgjit.stage3: stage3-start
39436ac495dSmrg	-mv jit/*$(objext) stage3/jit
39536ac495dSmrgjit.stage4: stage4-start
39636ac495dSmrg	-mv jit/*$(objext) stage4/jit
39736ac495dSmrgjit.stageprofile: stageprofile-start
39836ac495dSmrg	-mv jit/*$(objext) stageprofile/jit
39936ac495dSmrgjit.stagefeedback: stagefeedback-start
40036ac495dSmrg	-mv jit/*$(objext) stagefeedback/jit
401