diff options
author | Tristan Gingold | 2014-11-05 05:11:00 +0100 |
---|---|---|
committer | Tristan Gingold | 2014-11-05 05:11:00 +0100 |
commit | 3fddf1c59fd7a8fcd260bb9e05c611bef3dd141b (patch) | |
tree | cbfe6d75f8e09db8b98f335406fb6ecb2fce3e0c /dist/gcc/Makefile.in | |
parent | 0a088b311ed2fcebc542f8a2e42d09e2e3c9311c (diff) | |
download | ghdl-3fddf1c59fd7a8fcd260bb9e05c611bef3dd141b.tar.gz ghdl-3fddf1c59fd7a8fcd260bb9e05c611bef3dd141b.tar.bz2 ghdl-3fddf1c59fd7a8fcd260bb9e05c611bef3dd141b.zip |
Move files and dirs from translate/
Diffstat (limited to 'dist/gcc/Makefile.in')
-rw-r--r-- | dist/gcc/Makefile.in | 299 |
1 files changed, 299 insertions, 0 deletions
diff --git a/dist/gcc/Makefile.in b/dist/gcc/Makefile.in new file mode 100644 index 0000000..13f3296 --- /dev/null +++ b/dist/gcc/Makefile.in @@ -0,0 +1,299 @@ +# Makefile for GNU vhdl Compiler (GHDL). +# Copyright (C) 2002 Free Software Foundation, Inc. + +#This file is part of GNU CC. + +#GNU CC 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 2, or (at your option) +#any later version. + +#GNU CC 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 GNU CC; see the file COPYING. If not, write to +#the Free Software Foundation, 59 Temple Place - Suite 330, +#Boston, MA 02111-1307, USA. + +# The makefile built from this file lives in the language subdirectory. +# It's purpose is to provide support for: +# +# 1) recursion where necessary, and only then (building .o's), and +# 2) building and debugging cc1 from the language subdirectory, and +# 3) nothing else. +# +# The parent makefile handles all other chores, with help from the +# language makefile fragment, of course. +# +# The targets for external use are: +# all, TAGS, ???mostlyclean, ???clean. + +# This makefile will only work with Gnu make. +# The rules are written assuming a minimum subset of tools are available: +# +# Required: +# MAKE: Only Gnu make will work. +# MV: Must accept (at least) one, maybe wildcard, source argument, +# a file or directory destination, and support creation/ +# modification date preservation. Gnu mv -f works. +# RM: Must accept an arbitrary number of space separated file +# arguments, or one wildcard argument. Gnu rm works. +# RMDIR: Must delete a directory and all its contents. Gnu rm -rf works. +# ECHO: Must support command line redirection. Any Unix-like +# shell will typically provide this, otherwise a custom version +# is trivial to write. +# LN: ln -s works, cp should work bu was not tested. +# CP: GNU cp -p works. +# AR: Gnu ar works. +# MKDIR: Gnu mkdir works. +# CHMOD: Gnu chmod works. +# true: Does nothing and returns a normal successful return code. +# pwd: Prints the current directory on stdout. +# cd: Change directory. + +# Tell GNU make 3.79 not to run this directory in parallel. +# Not all of the required dependencies are present. +.NOTPARALLEL: + +# Variables that exist for you to override. +# See below for how to change them for certain systems. + +ALLOCA = +# Various ways of specifying flags for compilations: +# CFLAGS is for the user to override to, e.g., do a bootstrap with -O2. +# BOOT_CFLAGS is the value of CFLAGS to pass +# to the stage2 and stage3 compilations +# XCFLAGS is used for most compilations but not when using the GCC just built. +XCFLAGS = +CFLAGS = -g +BOOT_CFLAGS = -O $(CFLAGS) +# These exists to be overridden by the x-* and t-* files, respectively. +X_CFLAGS = +T_CFLAGS = + +X_CPPFLAGS = +T_CPPFLAGS = + +X_ADAFLAGS = +T_ADAFLAGS = + +ADAC = $(CC) + +ECHO = echo +CHMOD = chmod +CP = cp -p +MV = mv -f +RM = rm -f +RMDIR = rm -rf +MKDIR = mkdir -p +LN = ln -s +AR = ar +# How to invoke ranlib. +RANLIB = ranlib +# Test to use to see whether ranlib exists on the system. +RANLIB_TEST = [ -f /usr/bin/ranlib -o -f /bin/ranlib ] +SHELL = /bin/sh +INSTALL_DATA = install -m 644 +MAKEINFO = makeinfo +TEXI2DVI = texi2dvi +GNATBIND = gnatbind +GNATMAKE = gnatmake +ADA_CFLAGS = $(CFLAGS) +GHDL_ADAFLAGS = -Wall -gnata + +objext = .o +exeext = +arext = .a +soext = .so +shext = + +HOST_CC=$(CC) +HOST_CFLAGS=$(ALL_CFLAGS) +HOST_CLIB=$(CLIB) +HOST_LDFLAGS=$(LDFLAGS) +HOST_CPPFLAGS=$(ALL_CPPFLAGS) +HOST_ALLOCA=$(ALLOCA) +HOST_MALLOC=$(MALLOC) +HOST_OBSTACK=$(OBSTACK) + +# We don't use cross-make. Instead we use the tools from the build tree, +# if they are available. +# program_transform_name and objdir are set by configure.in. +program_transform_name = +objdir = . + +target=@target@ +target_alias=@target_alias@ +target_noncanonical:=@target_noncanonical@ +xmake_file=@dep_host_xmake_file@ +tmake_file=@dep_tmake_file@ +#version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.c` +#mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.c` + +# Directory where sources are, from where we are. +srcdir = @srcdir@ +VPATH = @srcdir@ + +# Top build directory, relative to here. +top_builddir = .. + +version := $(shell cat $(srcdir)/../BASE-VER) + +# End of variables for you to override. + +# Definition of `all' is here so that new rules inserted by sed +# do not specify the default target. +all: all.indirect + +# This tells GNU Make version 3 not to put all variables in the environment. +.NOEXPORT: + +# Now figure out from those variables how to compile and link. + +all.indirect: Makefile + +# This tells GNU make version 3 not to export all the variables +# defined in this file into the environment. +.NOEXPORT: + +Makefile: $(srcdir)/Makefile.in $(srcdir)/../configure + cd ..; $(SHELL) config.status + +force: + +SED=sed + +drvdir/default_pathes.ads: drvdir Makefile + echo "-- DO NOT EDIT" > tmp-dpathes.ads + echo "-- This file is created by Makefile" >> tmp-dpathes.ads + echo "package Default_Pathes is" >> tmp-dpathes.ads + echo " -- Accept long lines." >> tmp-dpathes.ads + echo " pragma Style_Checks (\"M999\");" >> tmp-dpathes.ads + echo " Install_Prefix : constant String :=" >> tmp-dpathes.ads + echo " \"$(exec_prefix)\";" >> tmp-dpathes.ads + echo " Compiler_Gcc : constant String :=" >> tmp-dpathes.ads + echo " \"libexec/gcc/$(target_noncanonical)/$(version)/ghdl1$(exeext)\";" >> tmp-dpathes.ads + echo " Compiler_Debug : constant String := \"\";" >> tmp-dpathes.ads + echo " Compiler_Mcode : constant String := \"\";" >> tmp-dpathes.ads + echo " Compiler_Llvm : constant String := \"\";" >> tmp-dpathes.ads + echo " Post_Processor : constant String := \"\";" >> tmp-dpathes.ads + echo " Lib_Prefix : constant String :=">> tmp-dpathes.ads + echo " \"lib/gcc/$(target_noncanonical)/$(version)/vhdl/lib/\";" >> tmp-dpathes.ads + echo "end Default_Pathes;" >> tmp-dpathes.ads + $(srcdir)/../../move-if-change tmp-dpathes.ads $@ + +../ghdl$(exeext): drvdir drvdir/default_pathes.ads force + CURDIR=`pwd`; cd $(srcdir); SRCDIR=`pwd`; cd $$CURDIR/drvdir; \ + $(GNATMAKE) -o ../$@ -aI$$SRCDIR/ghdldrv -aI$$SRCDIR -aO.. ghdl_gcc \ + -bargs -E -cargs $(ADA_CFLAGS) $(GHDL_ADAFLAGS) -largs $(LIBS) + +drvdir: + mkdir $@ + +clean: grt-clean ghdllibs-clean force + $(RM) *.o *.ali + $(RM) default_pathes.ads + +# Additionnal rules + +LIB87_DIR:=./lib/v87 +LIB93_DIR:=./lib/v93 +LIB08_DIR:=./lib/v08 +LIBSRC_DIR:=$(srcdir)/libraries +ANALYZE=../ghdl -a --GHDL1=../ghdl1 --ieee=none + +$(LIB93_DIR) $(LIB87_DIR): + $(srcdir)/../../mkinstalldirs $@ + +####libraries Makefile.inc + +std87_standard.o: $(GHDL1) + $(GHDL1) --std=87 -quiet -o std_standard.s --compile-standard + ../xgcc -c -o std_standard.o std_standard.s + $(MV) std_standard.o $@ + +std93_standard.o: $(GHDL1) + $(GHDL1) --std=93 -quiet -o std_standard.s --compile-standard + ../xgcc -c -o std_standard.o std_standard.s + $(MV) std_standard.o $@ + +std08_standard.o: $(GHDL1) + $(GHDL1) --std=08 -quiet -o std_standard.s --compile-standard + ../xgcc -c -o std_standard.o std_standard.s + $(MV) std_standard.o $@ + +ghdllib: std87_standard.o std93_standard.o std08_standard.o libgrt.a + +ghdllibs-clean: force + $(RM) -rf $(LIB87_DIR) $(LIB93_DIR) $(LIB08_DIR) + +PHONY: ghdllib ghdllibs-clean + +GHDL1=../ghdl1 +GRTSRCDIR=$(srcdir)/grt +GRT_RANLIB=$(RANLIB) + +####grt Makefile.inc + +install-ghdllib: ghdllib grt.lst $(STD93_SRCS) $(STD87_SRCS) \ + $(IEEE93_SRCS) $(IEEE87_SRCS) $(SYNOPSYS_SRCS) \ + $(STD08_SRCS) $(IEEE08_SRCS) + $(RM) -rf $(DESTDIR)$(VHDL_LIB_DIR) + $(MKDIR) $(DESTDIR)$(VHDL_LIB_DIR) +# Install libgrt + $(MKDIR) $(DESTDIR)$(VHDL_LIB_DIR)/lib + $(INSTALL_DATA) libgrt.a $(DESTDIR)$(VHDL_LIB_DIR)/lib/libgrt.a + $(INSTALL_DATA) grt.lst $(DESTDIR)$(VHDL_LIB_DIR)/lib/grt.lst + $(INSTALL_DATA) $(GRTSRCDIR)/grt.ver $(DESTDIR)$(VHDL_LIB_DIR)/lib/grt.ver +# Install VHDL sources. + $(MKDIR) $(DESTDIR)$(VHDL_LIB_DIR)/src + $(MKDIR) $(DESTDIR)$(VHDL_LIB_DIR)/src/std + for i in $(STD93_SRCS) $(STD87_SRCS) $(STD08_SRCS); do \ + $(INSTALL_DATA) $$i $(DESTDIR)$(VHDL_LIB_DIR)/src/std; \ + done + $(MKDIR) $(DESTDIR)$(VHDL_LIB_DIR)/src/ieee + for i in $(IEEE93_SRCS) $(IEEE87_SRCS); do \ + $(INSTALL_DATA) $$i $(DESTDIR)$(VHDL_LIB_DIR)/src/ieee; \ + done + $(MKDIR) $(DESTDIR)$(VHDL_LIB_DIR)/src/vital95 + for i in $(VITAL95_SRCS); do \ + $(INSTALL_DATA) $$i $(DESTDIR)$(VHDL_LIB_DIR)/src/vital95; \ + done + $(MKDIR) $(DESTDIR)$(VHDL_LIB_DIR)/src/vital2000 + for i in $(VITAL2000_SRCS); do \ + $(INSTALL_DATA) $$i $(DESTDIR)$(VHDL_LIB_DIR)/src/vital2000; \ + done + $(MKDIR) $(DESTDIR)$(VHDL_LIB_DIR)/src/synopsys + for i in $(SYNOPSYS_SRCS); do \ + $(INSTALL_DATA) $$i $(DESTDIR)$(VHDL_LIB_DIR)/src/synopsys; \ + done + $(MKDIR) $(DESTDIR)$(VHDL_LIB_DIR)/src/mentor + for i in $(MENTOR93_SRCS); do \ + $(INSTALL_DATA) $$i $(DESTDIR)$(VHDL_LIB_DIR)/src/mentor; \ + done + $(MKDIR) $(DESTDIR)$(VHDL_LIB_DIR)/src/ieee2008 + for i in $(IEEE08_SRCS); do \ + $(INSTALL_DATA) $$i $(DESTDIR)$(VHDL_LIB_DIR)/src/ieee2008; \ + done +# Create library dirs + $(MKDIR) $(DESTDIR)$(VHDL_LIB_DIR)/lib/v93 + $(MKDIR) $(DESTDIR)$(VHDL_LIB_DIR)/lib/v87 + $(MKDIR) $(DESTDIR)$(VHDL_LIB_DIR)/lib/v08 +# Compile in place. + PDIR=`pwd` && cd $(DESTDIR)$(VHDL_LIB_DIR) && \ + $(MAKE) -f $$PDIR/Makefile REL_DIR=../../.. LIBSRC_DIR="src" \ + LIB93_DIR=lib/v93 LIB87_DIR=lib/v87 LIB08_DIR=lib/v08 \ + ANALYZE="$$PDIR/../ghdl -a --GHDL1=$$PDIR/../ghdl1 --ieee=none" \ + std.v87 ieee.v87 synopsys.v87 \ + std.v93 ieee.v93 synopsys.v93 mentor.v93 \ + std.v08 ieee.v08 +# Copy std_standard (this is done after libraries, since they remove dirs). + $(INSTALL_DATA) std87_standard.o \ + $(DESTDIR)$(VHDL_LIB_DIR)/lib/v87/std/std_standard.o + $(INSTALL_DATA) std93_standard.o \ + $(DESTDIR)$(VHDL_LIB_DIR)/lib/v93/std/std_standard.o + $(INSTALL_DATA) std08_standard.o \ + $(DESTDIR)$(VHDL_LIB_DIR)/lib/v08/std/std_standard.o |