Add various CFLAGS/LDADD overrides for the output target file.

Sponsored by:	DellEMC
This commit is contained in:
Bryan Drewery 2019-06-15 17:08:24 +00:00
parent 3d04f5a9c4
commit 48da57b47f
2 changed files with 25 additions and 0 deletions

View File

@ -125,10 +125,16 @@ The following variables are common:
AFLAGS.${SRC} AFLAGS.${SRC}
Flags dependent on source file name. Flags dependent on source file name.
AFLAGS.${TARGET}
Flags dependent on output file name.
ACFLAGS.${SRC} ACFLAGS.${SRC}
Flags dependent on source file name. Flags dependent on source file name.
ACFLAGS.${TARGET}
Flags dependent on output file name.
CFLAGS.${SRC} CFLAGS.${SRC}
Flags dependent on source file name. Flags dependent on source file name.
CFLAGS.${TARGET}
Flags dependent on output file name.
CFLAGS.${COMPILER_TYPE} CFLAGS.${COMPILER_TYPE}
Flags dependent on compiler added to CFLAGS. Flags dependent on compiler added to CFLAGS.
CFLAGS.${MACHINE_ARCH} CFLAGS.${MACHINE_ARCH}
@ -142,6 +148,8 @@ CXXFLAGS.${MACHINE_ARCH}
Architectural flags added to CXXFLAGS. Architectural flags added to CXXFLAGS.
CXXFLAGS.${SRC} CXXFLAGS.${SRC}
Flags dependent on source file name. Flags dependent on source file name.
CXXFLAGS.${TARGET}
Flags dependent on output file name.
COMPILER_FEATURES COMPILER_FEATURES
A list of features that the compiler supports. Zero or A list of features that the compiler supports. Zero or
more of: more of:
@ -336,14 +344,23 @@ LDADD Additional loader objects. Usually used for libraries.
LDADD=-lutil -lcompat LDADD=-lutil -lcompat
LDADD.${TAREGT}
Loader objects dependent on output file name.
LDFLAGS Additional loader flags. Passed to the loader via CC, LDFLAGS Additional loader flags. Passed to the loader via CC,
since that's used to link programs as well, so loader since that's used to link programs as well, so loader
specific flags need to be prefixed with -Wl, to work. 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 LIBADD Additional libraries. This is for base system libraries
and is only valid inside of the /usr/src tree. and is only valid inside of the /usr/src tree.
Use LIBADD=name instead of LDADD=-lname. 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 LINKS The list of binary links; should be full pathnames, the
linked-to file coming first, followed by the linked linked-to file coming first, followed by the linked
file. The files are hard-linked. For example, to link file. The files are hard-linked. For example, to link

View File

@ -234,17 +234,25 @@ DEBUG_FILES_CFLAGS?= -g
.if ${MK_WARNS} != "no" .if ${MK_WARNS} != "no"
CFLAGS+= ${CWARNFLAGS:M*} ${CWARNFLAGS.${COMPILER_TYPE}} CFLAGS+= ${CWARNFLAGS:M*} ${CWARNFLAGS.${COMPILER_TYPE}}
CFLAGS+= ${CWARNFLAGS.${.IMPSRC:T}} CFLAGS+= ${CWARNFLAGS.${.IMPSRC:T}}
CFLAGS+= ${CWARNFLAGS.${.TARGET:T}}
.endif .endif
CFLAGS+= ${CFLAGS.${COMPILER_TYPE}} CFLAGS+= ${CFLAGS.${COMPILER_TYPE}}
CXXFLAGS+= ${CXXFLAGS.${COMPILER_TYPE}} CXXFLAGS+= ${CXXFLAGS.${COMPILER_TYPE}}
AFLAGS+= ${AFLAGS.${.IMPSRC:T}} AFLAGS+= ${AFLAGS.${.IMPSRC:T}}
AFLAGS+= ${AFLAGS.${.TARGET:T}}
ACFLAGS+= ${ACFLAGS.${.IMPSRC:T}} ACFLAGS+= ${ACFLAGS.${.IMPSRC:T}}
ACFLAGS+= ${ACFLAGS.${.TARGET:T}}
CFLAGS+= ${CFLAGS.${.IMPSRC:T}} CFLAGS+= ${CFLAGS.${.IMPSRC:T}}
CFLAGS+= ${CFLAGS.${.TARGET:T}}
CXXFLAGS+= ${CXXFLAGS.${.IMPSRC:T}} CXXFLAGS+= ${CXXFLAGS.${.IMPSRC:T}}
CXXFLAGS+= ${CXXFLAGS.${.TARGET:T}}
LDFLAGS+= ${LDFLAGS.${LINKER_TYPE}} LDFLAGS+= ${LDFLAGS.${LINKER_TYPE}}
LDFLAGS+= ${LDFLAGS.${.TARGET:T}}
LDADD+= ${LDADD.${.TARGET:T}}
LIBADD+= ${LIBADD.${.TARGET:T}}
.if defined(SRCTOP) .if defined(SRCTOP)
# Prevent rebuilding during install to support read-only objdirs. # Prevent rebuilding during install to support read-only objdirs.