History log of /freebsd-current/share/mk/bsd.suffixes.mk
Revision Date Author Comments
# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


# b2dcde7e 19-Jul-2022 Ed Maste <emaste@FreeBSD.org>

Assemble .s to .o using cc, not as

As of commit fd71da37d478 we no longer have an `as` in the default
toolchain. Although we do not make use of this rule in the base system
some ports or downstream projects might. Use `cc -x assembler` instead
of as.

Reviewed by: arichardson
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D35859


# 05f8fb1f 15-Jun-2019 Bryan Drewery <bdrewery@FreeBSD.org>

Similar to r335710 avoid ccache when linking a .cc file directly.

Sponsored by: DellEMC


# 90eb413a 27-Jun-2018 Bryan Drewery <bdrewery@FreeBSD.org>

CCACHE_BUILD: Don't try using ccache for compile-linking .c files.

Without -c ccache just executes the real compiler.

MFC after: 2 weeks
Sponsored by: Dell EMC


# 1cbb5888 17-Nov-2017 Warner Losh <imp@FreeBSD.org>

Remove build system support for lint.

Differential Revision: https://reviews.freebsd.org/D13124


# c4e24caf 27-Oct-2016 Dimitry Andric <dim@FreeBSD.org>

Revert r307823 (Use upstream suffixes for LLVM IR) for now. It causes a
number of ports to fail, which use bmake, and use .ll file extensions
(usually for for C++-based lex input).

Reported by: antoine


# ce1e4668 23-Oct-2016 Dimitry Andric <dim@FreeBSD.org>

Use upstream suffixes for LLVM IR

In r307676, several make rules were added for LLVM IR files, both in
text and binary format. Unfortunately these use different suffixes from
what upstream uses:
* Text IR has upstream suffix ".ll", while r307676 uses ".llo"
* Binary IR has upstream suffix ".bc", while r307676 uses ".bco"

Change these to what upstream uses instead.

Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D8326


# c867306e 20-Oct-2016 Jonathan Anderson <jonathan@FreeBSD.org>

Add make rules to build LLVM IR from C/C++ sources.

As a foundation for future work with LLVM's Intermediate Representation (IR),
add new suffix rules that can be used to build .llo (text) or .bco (bitcode)
files from C or C++ sources. This compilation step uses the same CFLAGS, etc.,
as are used for building .o files, with the exception of optimization flags.
Many of the things we would like to do with IR (e.g., instrumentation) work
better with unoptimized code, so our approach is to build .c->.bco without
optimization and then apply the optimization in post-analysis,
post-instrumentation linking.

The overall result of these changes is:

* one can "make foo.llo" or "make foo.bco" wherever "make foo.o" was supported
* new make variables IR_CFLAGS and IR_CXXFLAGS are available to inspect the
flags that are used by Clang to generate the IR

These new rules are added unconditionally to our non-POSIX suffix rule set,
since we cannot inspect COMPILER_TYPE in sys.mk. Future changes that depend
on these rules (e.g., building IR versions of binaries from bsd.prog.mk)
should use COMPILER_TYPE to determine when we can expect IR rules to succeed.

Reviewed by: emaste, imp
Approved by: rwatson (mentor)
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D4339


# 808b18e4 11-Oct-2016 Jonathan Anderson <jonathan@FreeBSD.org>

Extract suffix rules into bsd.suffixes[-posix].mk.

Refactor make suffix rules into separate files (one for POSIX and one not),
and rationalise the rules so that bsd.lib.mk can contain only those rules
that are library-specific (.c.po and .c.pico).

This can be accomplished by adding ${STATIC_CFLAGS} to the .c.o rule
unconditionally. STATIC_CFLAGS are only defined for use by sys.mk rules in
lib/libpam/Makefile.inc (see r227797), so it should be safe to include
them unconditionally in sys.mk's .c.o rule (tested by make universe and a
ports exp-run).

Reviewed by: bdrewery, sjg
Approved by: rwatson (mentor)
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D6805