History log of /freebsd-10.1-release/gnu/usr.bin/binutils/as/Makefile
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 272461 02-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 244377 18-Dec-2012 ache

More correct version of prev. fix.


# 244362 17-Dec-2012 ache

Fix:
line 11: Malformed conditional
(${TARGET} == "arm" || ${TARGET_ARCH} == "powerpc64")


# 244277 15-Dec-2012 andrew

Also remove -Werror on arm with clang as there are warnings.


# 239654 24-Aug-2012 rdivacky

Dont use -Werror when building libbfd and gnu as on powerpc64 with clang
as there are warnings.

Reviewed by: nwhitehorn


# 239272 15-Aug-2012 gonzo

Merging of projects/armv6, part 3

r238211:
Support TARGET_ARCH=armv6 and TARGET_ARCH=armv6eb

This adds a new TARGET_ARCH for building on ARM
processors that support the ARMv6K multiprocessor
extensions. In particular, these processors have
better support for TLS and mutex operations.

This mostly touches a lot of Makefiles to extend
existing patterns for inferring CPUARCH from ARCH.
It also configures:
* GCC to default to arm1176jz-s
* GCC to predefine __FreeBSD_ARCH_armv6__
* gas to default to ARM_ARCH_V6K
* uname -p to return 'armv6'
* make so that MACHINE_ARCH defaults to 'armv6'
It also changes a number of headers to use
the compiler __ARM_ARCH_XXX__ macros to configure
processor-specific support routines.

Submitted by: Tim Kientzle <kientzle@freebsd.org>


# 234782 29-Apr-2012 kib

Add src.conf option WITH_SHARED_TOOLCHAIN to enable building the
toolchain binaries as dynamically linked. Option is disabled by
default.

Reviewed by: ru (previous version)
MFC after: 2 weeks


# 233388 23-Mar-2012 gonzo

Make default ABI for as(1) to be the same as target platform.
This change makes object files compiled with default flags by
gcc and as compatible.


# 218822 18-Feb-2011 dim

Merge binutils 2.17.50 to head. This brings a number of improvements to
x86 CPU support, better support for powerpc64, some new directives, and
many other things. Bump __FreeBSD_version, and add a note to UPDATING.

Thanks to the many people that have helped to test this.

Obtained from: projects/binutils-2.17


# 215352 15-Nov-2010 nwhitehorn

Garbage-collect some code made obsolete by the TBEMD import.


# 215082 10-Nov-2010 imp

Complete the integration of tbemd branch into head.

TARGET_BIG_ENDIAN is now completely dead, except where it was
originally supposed to be used (internally in the toolchain building).

TARGET_ARCH has changed in three cases:
(1) Little endian mips has changed to mipsel.
(2) Big endian mips has changed to mipseb.
(3) Big endian arm has changed to armeb.

Some additional changes are needed to make 'make universe' work on arm
and mips after this change, so those are commented out for now.

UPDATING information will be forthcoming. Any remaining rough edges
will be hammered out in -current.


# 209867 10-Jul-2010 nwhitehorn

Teach our toolchain how to generate 64-bit PowerPC binaries. This fixes
a variety of bugs in binutils related to handling of 64-bit PPC ELF,
provides a GCC configuration for 64-bit PowerPC on FreeBSD, and
associated build systems tweaks.

Obtained from: projects/ppc64


# 185922 11-Dec-2008 imp

Push mips support for as into the tree.


# 163147 09-Oct-2006 kmacy

Temporarily add newer copy of tc-sparc.c to build to
support building of sun4v. This can be removed once
the binutils import happens.

Reviewed by: kan
Approved by: rwatson (mentor)


# 162219 11-Sep-2006 obrien

Define build 'as' TARGET_BYTES_BIG_ENDIAN if "TARGET_BIG_ENDIAN" is defined.
This is needed for bi-sex architectures.


# 139112 21-Dec-2004 ru

NOSHARED -> NO_SHARED


# 136910 24-Oct-2004 ru

For variables that are only checked with defined(), don't provide
any fake value.


# 132754 28-Jul-2004 kan

Add NO_WERROR here. Binutils as does not compile cleanly with GCC 3.4.x.


# 131832 08-Jul-2004 obrien

MAJOR cleanup of the Bmake framework.
This includes removing all vestiges of the old not-really supported
ability to build cross tools targeting non-FreeBSD systems, such as
m68k Lynx and NetBSD. Move as much duplicated code from platform
Makefiles into the shared Makefiles. Add a simple mechanism for
specifying ELF 'ldscripts'. Also share as many .h files as possible
(now a single bfd.h vs. one per platform).


# 103780 22-Sep-2002 obrien

There is need to have a special BINUTIL_ARCH when we can use our more
common place TARGET_ARCH.


# 84908 13-Oct-2001 obrien

Clean up the formatting.


# 54748 17-Dec-1999 marcel

s/MACHINE_ARCH/TARGET_ARCH/g

The target machine is represented by TARGET_ARCH. MACHINE_ARCH always
represents the host machine. When TARGET_ARCH is not defined, it is
assumed to be equal to MACHINE_ARCH. This means that we're building a
native toolset by default. We're creating cross-compilation tools when
MACHINE_ARCH != TARGET_ARCH.

TARGET_ARCH is defined when building binutils as part of the bootstrap
build and is set to reflect the architecture we're currently cross-
building. With this change binutils is ready for cross-building.


# 53152 14-Nov-1999 marcel

${MACHINE} -> ${MACHINE_ARCH}

All Makefiles now use MACHINE_ARCH for the target architecture.
Unification is required for cross-building.

Tags added to:
sys/boot/Makefile
sys/boot/arc/loader/Makefile
sys/kern/Makefile
usr.bin/cpp/Makefile
usr.bin/gcore/Makefile
usr.bin/truss/Makefile

usr.bin/gcore/Makefile:
fixed typo: MACHINDE -> MACHINE_ARCH


# 52956 07-Nov-1999 jb

After a repo copy of as_{alpha,i386,mips} to {alpha,i386,mips}-freebsd,
tidy up the logic that works out which sub-directories to build.

The new directories with freebsdelf suffixes now have freebsd suffixes
after a repo move by Peter at the request of David O'Brien.


# 52930 06-Nov-1999 jb

Change CROSS_TARGETS to CROSS_FORMATS because that makes more sense.

Check if already cross-compiling and only build the cross-tools if
not cross-compiling (to save time).


# 50472 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 44360 01-Mar-1999 imp

Add TARGET_ARCH=mipsel and TARGET_ARCH=mipseb as a valid targets.
Unlike the unisex architecutres we've had so far, mips is bisexual.
These tools can produce either byte sex, and the compiler/make
determines the proper gender to use. Otherwise, we'd have to have had
mipsel and mipseb in all the places that we have just mips. And there
are other complications with doing that (binutils doesn't like to
build mips tools without both byte genders, it seems).

Introduced BINUTIL_ARCH so that other bisexual architectures can a
generic mechanism.

We cannot just define MACHINE_ARCH as mips because we need to
differentiate big and little endian types of binaries. Discussions on
freebsd-arch have hashed out this issue (and the parallel libc
issues). NetBSD is moving towards mipsel and mipseb for their two
flavors of mips ports (in time for 1.4, if this change hasn't already
been accomplished).

I've been building i386 worlds with this tree for a three months with
these files in place with no ill effects.


# 35945 11-May-1998 jb

Add CROSS_TARGETS to the list of GASES to build. We end up with a separate
gas for each target format. So for m68k targets that means several
gases. I wanted a m68k gas for VxWorks which uses aout in sun3 big
endian format, cross compiled on i386 under FreeBSD using libraries
supplied by DEC and intended by them for cross compilation on Alpha
under OSF/1. And it actually works!


# 35720 04-May-1998 jb

Add support for cross-architecture gases. Since the GNU code doesn't
support more than one architecture at a time, build as from the
default for the host and if CROSS_TOOLS defines other architectures,
build them as as_${arch}


# 34503 12-Mar-1998 jb

Add the alpha makefile.

Move tc-i386.c from Makefile to Makefile.i386 'cause alpha doesn't
like trying to swallow it. Indigestion, I think.


# 34495 12-Mar-1998 jdp

Restructure the binutils hierarchy somewhat in order to better
support building it for variant architectures. It was already
becoming clear that the former structure was too rigid and didn't
scale well.

The usual sort of makefile magic arranges to .include an architecture
specific makefile "Makefile.${MACHINE_ARCH}" in each directory
where it exists. Also, sources will be found in each subdirectory
"${MACHINE_ARCH}" that exists. This is all taken care of automatically
by the top level "Makefile.inc0".

This all seems to work right for the i386 now. I have also converted
those alpha pieces already present to the new schema as best I
could.

Also: change the BINDIR on the i386 to /usr/libexec/elf for "ar"
and "ranlib". They are not object format independent enough to
put into /usr/bin.