git: 65d1b80dc114 - stable/12 - Add various CFLAGS/LDADD overrides for the output target file.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 25 Dec 2021 11:55:43 UTC
The branch stable/12 has been updated by dim:
URL: https://cgit.FreeBSD.org/src/commit/?id=65d1b80dc1140b5baf0eba803d76dbaf4c273838
commit 65d1b80dc1140b5baf0eba803d76dbaf4c273838
Author: Bryan Drewery <bdrewery@FreeBSD.org>
AuthorDate: 2019-06-15 17:08:24 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2021-12-25 11:51:17 +0000
Add various CFLAGS/LDADD overrides for the output target file.
Sponsored by: DellEMC
(cherry picked from commit 48da57b47ff1425360f396ea799e05e939d1e1ce)
---
share/mk/bsd.README | 17 +++++++++++++++++
share/mk/bsd.sys.mk | 8 ++++++++
2 files changed, 25 insertions(+)
diff --git a/share/mk/bsd.README b/share/mk/bsd.README
index c4db43ea5699..ef93c55f73fc 100644
--- a/share/mk/bsd.README
+++ b/share/mk/bsd.README
@@ -125,10 +125,16 @@ The following variables are common:
AFLAGS.${SRC}
Flags dependent on source file name.
+AFLAGS.${TARGET}
+ Flags dependent on output file name.
ACFLAGS.${SRC}
Flags dependent on source file name.
+ACFLAGS.${TARGET}
+ Flags dependent on output file name.
CFLAGS.${SRC}
Flags dependent on source file name.
+CFLAGS.${TARGET}
+ Flags dependent on output file name.
CFLAGS.${COMPILER_TYPE}
Flags dependent on compiler added to CFLAGS.
CFLAGS.${MACHINE_ARCH}
@@ -142,6 +148,8 @@ CXXFLAGS.${MACHINE_ARCH}
Architectural flags added to CXXFLAGS.
CXXFLAGS.${SRC}
Flags dependent on source file name.
+CXXFLAGS.${TARGET}
+ Flags dependent on output file name.
COMPILER_FEATURES
A list of features that the compiler supports. Zero or
more of:
@@ -336,14 +344,23 @@ LDADD Additional loader objects. Usually used for libraries.
LDADD=-lutil -lcompat
+LDADD.${TAREGT}
+ Loader objects dependent on output file name.
+
LDFLAGS Additional loader flags. Passed to the loader via CC,
since that's used to link programs as well, so loader
specific flags need to be prefixed with -Wl, to work.
+LDFLAGS.${TARGET}
+ Flags dependent on output file name.
+
LIBADD Additional libraries. This is for base system libraries
and is only valid inside of the /usr/src tree.
Use LIBADD=name instead of LDADD=-lname.
+LIBADD.${TARGET}
+ Libraries dependent on output file name.
+
LINKS The list of binary links; should be full pathnames, the
linked-to file coming first, followed by the linked
file. The files are hard-linked. For example, to link
diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
index e787d4f439df..5e9b8ed51b5a 100644
--- a/share/mk/bsd.sys.mk
+++ b/share/mk/bsd.sys.mk
@@ -253,6 +253,7 @@ DEBUG_FILES_CFLAGS?= -g
.if ${MK_WARNS} != "no"
CFLAGS+= ${CWARNFLAGS:M*} ${CWARNFLAGS.${COMPILER_TYPE}}
CFLAGS+= ${CWARNFLAGS.${.IMPSRC:T}}
+CFLAGS+= ${CWARNFLAGS.${.TARGET:T}}
CXXFLAGS+= ${CXXWARNFLAGS:M*} ${CXXWARNFLAGS.${COMPILER_TYPE}}
CXXFLAGS+= ${CXXWARNFLAGS.${.IMPSRC:T}}
.endif
@@ -261,11 +262,18 @@ CFLAGS+= ${CFLAGS.${COMPILER_TYPE}}
CXXFLAGS+= ${CXXFLAGS.${COMPILER_TYPE}}
AFLAGS+= ${AFLAGS.${.IMPSRC:T}}
+AFLAGS+= ${AFLAGS.${.TARGET:T}}
ACFLAGS+= ${ACFLAGS.${.IMPSRC:T}}
+ACFLAGS+= ${ACFLAGS.${.TARGET:T}}
CFLAGS+= ${CFLAGS.${.IMPSRC:T}}
+CFLAGS+= ${CFLAGS.${.TARGET:T}}
CXXFLAGS+= ${CXXFLAGS.${.IMPSRC:T}}
+CXXFLAGS+= ${CXXFLAGS.${.TARGET:T}}
LDFLAGS+= ${LDFLAGS.${LINKER_TYPE}}
+LDFLAGS+= ${LDFLAGS.${.TARGET:T}}
+LDADD+= ${LDADD.${.TARGET:T}}
+LIBADD+= ${LIBADD.${.TARGET:T}}
.if defined(SRCTOP)
# Prevent rebuilding during install to support read-only objdirs.