Changeset View
Changeset View
Standalone View
Standalone View
share/mk/bsd.lib.mk
Show First 20 Lines • Show All 75 Lines • ▼ Show 20 Lines | |||||
CTFFLAGS+= -g | CTFFLAGS+= -g | ||||
.endif | .endif | ||||
.include <bsd.libnames.mk> | .include <bsd.libnames.mk> | ||||
# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries | # prefer .s to a .c, add .po, remove stuff not used in the BSD libraries | ||||
# .pico used for PIC object files | # .pico used for PIC object files | ||||
# .nossppico used for NOSSP PIC object files | # .nossppico used for NOSSP PIC object files | ||||
.SUFFIXES: .out .o .bc .ll .po .pico .nossppico .S .asm .s .c .cc .cpp .cxx .C .f .y .l .ln | .SUFFIXES: .out .o .bc .ll .po .pico .spico .nossppico .S .asm .s .c .cc .cpp .cxx .C .f .y .l .ln | ||||
.if !defined(PICFLAG) | .if !defined(PICFLAG) | ||||
.if ${MACHINE_CPUARCH} == "sparc64" | .if ${MACHINE_CPUARCH} == "sparc64" | ||||
PICFLAG=-fPIC | PICFLAG=-fPIC | ||||
.else | .else | ||||
PICFLAG=-fpic | PICFLAG=-fpic | ||||
.endif | .endif | ||||
.endif | .endif | ||||
PO_FLAG=-pg | PO_FLAG=-pg | ||||
.c.po: | .c.po: | ||||
${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -c ${.IMPSRC} -o ${.TARGET} | ${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -c ${.IMPSRC} -o ${.TARGET} | ||||
${CTFCONVERT_CMD} | ${CTFCONVERT_CMD} | ||||
.c.pico: | .c.pico: | ||||
${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} | ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} | ||||
${CTFCONVERT_CMD} | ${CTFCONVERT_CMD} | ||||
.c.spico: | |||||
${CC} ${PICFLAG} -DSTATIC -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} | |||||
${CTFCONVERT_CMD} | |||||
.c.nossppico: | .c.nossppico: | ||||
${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS:C/^-fstack-protector.*$//} ${CFLAGS:C/^-fstack-protector.*$//} -c ${.IMPSRC} -o ${.TARGET} | ${CC} ${PICFLAG} -DSTATIC -DPIC ${SHARED_CFLAGS:C/^-fstack-protector.*$//} ${CFLAGS:C/^-fstack-protector.*$//} -c ${.IMPSRC} -o ${.TARGET} | ||||
${CTFCONVERT_CMD} | ${CTFCONVERT_CMD} | ||||
.cc.po .C.po .cpp.po .cxx.po: | .cc.po .C.po .cpp.po .cxx.po: | ||||
${CXX} ${PO_FLAG} ${STATIC_CXXFLAGS} ${PO_CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} | ${CXX} ${PO_FLAG} ${STATIC_CXXFLAGS} ${PO_CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} | ||||
.cc.pico .C.pico .cpp.pico .cxx.pico: | .cc.pico .C.pico .cpp.pico .cxx.pico: | ||||
${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} | ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} | ||||
.cc.spico .C.spico .cpp.spico .cxx.spico: | |||||
${CXX} ${PICFLAG} -DSTATIC -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} | |||||
.cc.nossppico .C.nossppico .cpp.nossppico .cxx.nossppico: | .cc.nossppico .C.nossppico .cpp.nossppico .cxx.nossppico: | ||||
${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS:C/^-fstack-protector.*$//} ${CXXFLAGS:C/^-fstack-protector.*$//} -c ${.IMPSRC} -o ${.TARGET} | ${CXX} ${PICFLAG} -DSTATIC -DPIC ${SHARED_CXXFLAGS:C/^-fstack-protector.*$//} ${CXXFLAGS:C/^-fstack-protector.*$//} -c ${.IMPSRC} -o ${.TARGET} | ||||
.f.po: | .f.po: | ||||
${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} | ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} | ||||
${CTFCONVERT_CMD} | ${CTFCONVERT_CMD} | ||||
.f.pico: | .f.pico: | ||||
${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} | ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} | ||||
${CTFCONVERT_CMD} | ${CTFCONVERT_CMD} | ||||
.f.spico: | |||||
${FC} ${PICFLAG} -DSTATIC -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} | |||||
${CTFCONVERT_CMD} | |||||
.f.nossppico: | .f.nossppico: | ||||
${FC} ${PICFLAG} -DPIC ${FFLAGS:C/^-fstack-protector.*$//} -o ${.TARGET} -c ${.IMPSRC} | ${FC} ${PICFLAG} -DSTATIC -DPIC ${FFLAGS:C/^-fstack-protector.*$//} -o ${.TARGET} -c ${.IMPSRC} | ||||
${CTFCONVERT_CMD} | ${CTFCONVERT_CMD} | ||||
.s.po .s.pico .s.nossppico: | .s.po .s.pico .s.spico .s.nossppico: | ||||
${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC} | ${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC} | ||||
${CTFCONVERT_CMD} | ${CTFCONVERT_CMD} | ||||
.asm.po: | .asm.po: | ||||
${CC:N${CCACHE_BIN}} -x assembler-with-cpp -DPROF ${PO_CFLAGS} \ | ${CC:N${CCACHE_BIN}} -x assembler-with-cpp -DPROF ${PO_CFLAGS} \ | ||||
${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} | ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} | ||||
${CTFCONVERT_CMD} | ${CTFCONVERT_CMD} | ||||
.asm.pico: | .asm.pico: | ||||
${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ | ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ | ||||
${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} | ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} | ||||
${CTFCONVERT_CMD} | ${CTFCONVERT_CMD} | ||||
.asm.spico: | |||||
${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DSTATIC -DPIC \ | |||||
${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} | |||||
${CTFCONVERT_CMD} | |||||
.asm.nossppico: | .asm.nossppico: | ||||
${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ | ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DSTATIC -DPIC \ | ||||
${CFLAGS:C/^-fstack-protector.*$//} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} | ${CFLAGS:C/^-fstack-protector.*$//} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} | ||||
${CTFCONVERT_CMD} | ${CTFCONVERT_CMD} | ||||
.S.po: | .S.po: | ||||
${CC:N${CCACHE_BIN}} -DPROF ${PO_CFLAGS} ${ACFLAGS} -c ${.IMPSRC} \ | ${CC:N${CCACHE_BIN}} -DPROF ${PO_CFLAGS} ${ACFLAGS} -c ${.IMPSRC} \ | ||||
-o ${.TARGET} | -o ${.TARGET} | ||||
${CTFCONVERT_CMD} | ${CTFCONVERT_CMD} | ||||
.S.pico: | .S.pico: | ||||
${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ | ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ | ||||
-c ${.IMPSRC} -o ${.TARGET} | -c ${.IMPSRC} -o ${.TARGET} | ||||
${CTFCONVERT_CMD} | ${CTFCONVERT_CMD} | ||||
.S.spico: | |||||
${CC:N${CCACHE_BIN}} ${PICFLAG} -DSTATIC -DPIC ${CFLAGS} ${ACFLAGS} \ | |||||
-c ${.IMPSRC} -o ${.TARGET} | |||||
${CTFCONVERT_CMD} | |||||
.S.nossppico: | .S.nossppico: | ||||
${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS:C/^-fstack-protector.*$//} ${ACFLAGS} \ | ${CC:N${CCACHE_BIN}} ${PICFLAG} -DSTATIC -DPIC ${CFLAGS:C/^-fstack-protector.*$//} ${ACFLAGS} \ | ||||
-c ${.IMPSRC} -o ${.TARGET} | -c ${.IMPSRC} -o ${.TARGET} | ||||
${CTFCONVERT_CMD} | ${CTFCONVERT_CMD} | ||||
_LIBDIR:=${LIBDIR} | _LIBDIR:=${LIBDIR} | ||||
_SHLIBDIR:=${SHLIBDIR} | _SHLIBDIR:=${SHLIBDIR} | ||||
.if defined(SHLIB_NAME) | .if defined(SHLIB_NAME) | ||||
.if ${MK_DEBUG_FILES} != "no" | .if ${MK_DEBUG_FILES} != "no" | ||||
▲ Show 20 Lines • Show All 62 Lines • ▼ Show 20 Lines | lib${LIB_PRIVATE}${LIB}.bc: ${BCOBJS} | ||||
${LLVM_LINK} -o ${.TARGET} ${BCOBJS} | ${LLVM_LINK} -o ${.TARGET} ${BCOBJS} | ||||
lib${LIB_PRIVATE}${LIB}.ll: ${LLOBJS} | lib${LIB_PRIVATE}${LIB}.ll: ${LLOBJS} | ||||
${LLVM_LINK} -S -o ${.TARGET} ${LLOBJS} | ${LLVM_LINK} -S -o ${.TARGET} ${LLOBJS} | ||||
CLEANFILES+= lib${LIB_PRIVATE}${LIB}.bc lib${LIB_PRIVATE}${LIB}.ll | CLEANFILES+= lib${LIB_PRIVATE}${LIB}.bc lib${LIB_PRIVATE}${LIB}.ll | ||||
.endif | .endif | ||||
.if defined(SHLIB_NAME) || \ | .if defined(SHLIB_NAME) | ||||
defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) | |||||
SOBJS+= ${OBJS:.o=.pico} | SOBJS+= ${OBJS:.o=.pico} | ||||
DEPENDOBJS+= ${SOBJS} | DEPENDOBJS+= ${SOBJS} | ||||
CLEANFILES+= ${SOBJS} | CLEANFILES+= ${SOBJS} | ||||
.endif | .endif | ||||
.if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) | |||||
SPICOBJS+= ${OBJS:.o=.spico} | |||||
DEPENDOBJS+= ${SPICOBJS} | |||||
CLEANFILES+= ${SPICOBJS} | |||||
.endif | |||||
.if defined(SHLIB_NAME) | .if defined(SHLIB_NAME) | ||||
_LIBS+= ${SHLIB_NAME} | _LIBS+= ${SHLIB_NAME} | ||||
SOLINKOPTS+= -shared -Wl,-x | SOLINKOPTS+= -shared -Wl,-x | ||||
.if defined(LD_FATAL_WARNINGS) && ${LD_FATAL_WARNINGS} == "no" | .if defined(LD_FATAL_WARNINGS) && ${LD_FATAL_WARNINGS} == "no" | ||||
SOLINKOPTS+= -Wl,--no-fatal-warnings | SOLINKOPTS+= -Wl,--no-fatal-warnings | ||||
.else | .else | ||||
▲ Show 20 Lines • Show All 45 Lines • ▼ Show 20 Lines | |||||
${SHLIB_NAME}.debug: ${SHLIB_NAME_FULL} | ${SHLIB_NAME}.debug: ${SHLIB_NAME_FULL} | ||||
${OBJCOPY} --only-keep-debug ${SHLIB_NAME_FULL} ${.TARGET} | ${OBJCOPY} --only-keep-debug ${SHLIB_NAME_FULL} ${.TARGET} | ||||
.endif | .endif | ||||
.endif #defined(SHLIB_NAME) | .endif #defined(SHLIB_NAME) | ||||
.if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no" | .if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no" | ||||
_LIBS+= lib${LIB_PRIVATE}${LIB}_pic.a | _LIBS+= lib${LIB_PRIVATE}${LIB}_pic.a | ||||
lib${LIB_PRIVATE}${LIB}_pic.a: ${SOBJS} | lib${LIB_PRIVATE}${LIB}_pic.a: ${SPICOBJS} | ||||
@${ECHO} building special pic ${LIB} library | @${ECHO} building special pic ${LIB} library | ||||
@rm -f ${.TARGET} | @rm -f ${.TARGET} | ||||
${AR} ${ARFLAGS} ${.TARGET} ${SOBJS} ${ARADD} | ${AR} ${ARFLAGS} ${.TARGET} ${SPICOBJS} ${ARADD} | ||||
${RANLIB} ${RANLIBFLAGS} ${.TARGET} | ${RANLIB} ${RANLIBFLAGS} ${.TARGET} | ||||
.endif | .endif | ||||
.if defined(BUILD_NOSSP_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) | .if defined(BUILD_NOSSP_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) | ||||
NOSSPSOBJS+= ${OBJS:.o=.nossppico} | NOSSPSOBJS+= ${OBJS:.o=.nossppico} | ||||
DEPENDOBJS+= ${NOSSPSOBJS} | DEPENDOBJS+= ${NOSSPSOBJS} | ||||
CLEANFILES+= ${NOSSPSOBJS} | CLEANFILES+= ${NOSSPSOBJS} | ||||
_LIBS+= lib${LIB_PRIVATE}${LIB}_nossp_pic.a | _LIBS+= lib${LIB_PRIVATE}${LIB}_nossp_pic.a | ||||
▲ Show 20 Lines • Show All 139 Lines • ▼ Show 20 Lines | |||||
.endif | .endif | ||||
.if defined(LIB) && !empty(LIB) | .if defined(LIB) && !empty(LIB) | ||||
OBJS_DEPEND_GUESS+= ${SRCS:M*.h} | OBJS_DEPEND_GUESS+= ${SRCS:M*.h} | ||||
.for _S in ${SRCS:N*.[hly]} | .for _S in ${SRCS:N*.[hly]} | ||||
OBJS_DEPEND_GUESS.${_S:${OBJS_SRCS_FILTER:ts:}}.po+= ${_S} | OBJS_DEPEND_GUESS.${_S:${OBJS_SRCS_FILTER:ts:}}.po+= ${_S} | ||||
.endfor | .endfor | ||||
.endif | .endif | ||||
.if defined(SHLIB_NAME) || \ | .if defined(SHLIB_NAME) | ||||
defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) | |||||
.for _S in ${SRCS:N*.[hly]} | .for _S in ${SRCS:N*.[hly]} | ||||
OBJS_DEPEND_GUESS.${_S:${OBJS_SRCS_FILTER:ts:}}.pico+= ${_S} | OBJS_DEPEND_GUESS.${_S:${OBJS_SRCS_FILTER:ts:}}.pico+= ${_S} | ||||
.endfor | |||||
.endif | |||||
.if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) | |||||
.for _S in ${SRCS:N*.[hly]} | |||||
OBJS_DEPEND_GUESS.${_S:${OBJS_SRCS_FILTER:ts:}}.spico+= ${_S} | |||||
.endfor | .endfor | ||||
.endif | .endif | ||||
.if defined(BUILD_NOSSP_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) | .if defined(BUILD_NOSSP_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) | ||||
.for _S in ${SRCS:N*.[hly]} | .for _S in ${SRCS:N*.[hly]} | ||||
OBJS_DEPEND_GUESS.${_S:${OBJS_SRCS_FILTER:ts:}}.nossppico+= ${_S} | OBJS_DEPEND_GUESS.${_S:${OBJS_SRCS_FILTER:ts:}}.nossppico+= ${_S} | ||||
.endfor | .endfor | ||||
.endif | .endif | ||||
Show All 10 Lines |