#    Makefile template for Configure for simulator common directory
#    Copyright (C) 1996-2019 Free Software Foundation, Inc.
# 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

default: all

VPATH = @srcdir@
srcdir = @srcdir@
abs_srcdir = @abs_srcdir@
srcroot = $(abs_srcdir)/../..

prefix = @prefix@
exec_prefix = @exec_prefix@

host_alias = @host_alias@
target_alias = @target_alias@
program_transform_name = @program_transform_name@
bindir = @bindir@

libdir = @libdir@
tooldir = $(libdir)/$(target_alias)

datarootdir = @datarootdir@
datadir = @datadir@
mandir = @mandir@
man1dir = $(mandir)/man1
infodir = @infodir@
includedir = @includedir@

SHELL = /bin/sh

INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@

CC = @CC@
CC_FOR_BUILD = @CC_FOR_BUILD@
CFLAGS = @CFLAGS@

# These are used to rebuild nltvals.def.
CPP_FOR_TARGET = @CPP_FOR_TARGET@
TARGET_SUBDIR = @TARGET_SUBDIR@

HDEFINES = @HDEFINES@
TDEFINES =

CONFIG_CFLAGS = @DEFS@ $(HDEFINES) $(TDEFINES)
CSEARCH = -I. -I$(srcdir) -I$(srcroot)/include
ALL_CFLAGS = $(CFLAGS) $(CONFIG_CFLAGS) $(CSEARCH)
BUILD_CFLAGS = -g -O $(CSEARCH)

AR = @AR@
AR_FLAGS = rc
RANLIB = @RANLIB@
MAKEINFO = makeinfo

.NOEXPORT:
MAKEOVERRIDES=

all:

# Generate nltvals.def for newlib/libgloss using devo and build tree.
# This file is shipped with distributions so we build in the source dir.
# Use `make headers' to rebuild.
# Note: If gdb releases begin to contain target header files (not a good idea,
# but if they did ...), nltvals.def coud be generated at build time.
# An alternative is to slurp in the tables at runtime.
.PHONY: headers
headers:
	rootme=`pwd` ; \
	cd $(srcdir) ; \
	rm -f nltvals.new ; \
	$(SHELL) $(abs_srcdir)/gennltvals.sh $(SHELL) $(srcroot) "$(CPP_FOR_TARGET)" > nltvals.new ; \
	$(SHELL) $(srcroot)/move-if-change nltvals.new nltvals.def

.c.o:
	$(CC) -c $< $(ALL_CFLAGS)

check:

info:
clean-info:
install-info:

tags etags: TAGS

# Macros like EXTERN_SIM_CORE confuse tags.
# And the sim-n-foo.h files create functions that can't be found either.
TAGS: force
	cd $(srcdir) && \
	etags --regex '/^\([a-z_]+\) (/\1/' --regex '/^.*\/[*] TAGS: .*/' \
		*.c *.h

clean:
	rm -f *.[oa] *~ core

distclean mostlyclean maintainer-clean realclean: clean
	rm -f TAGS
	rm -f Makefile config.cache config.log config.status

# Dummy target to force execution of dependent targets.
force:

# Copy the files into directories where they will be run.
install: install-man

install-man: installdirs
	n=`echo run | sed '$(program_transform_name)'`; \
	$(INSTALL_DATA) $(srcdir)/run.1 $(DESTDIR)$(man1dir)/$$n.1

installdirs:
	$(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(man1dir)

Makefile: Makefile.in config.status
	$(SHELL) ./config.status

config.status: configure
	$(SHELL) ./config.status --recheck

config.h: stamp-h ; @true
stamp-h: config.in config.status
	CONFIG_FILES= CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status
