1.if !target(__<bsd.suffixes-extra.mk>__) 2__<bsd.suffixes-extra.mk>__: .NOTMAIN 3 4# prefer .s to a .c, remove stuff not used in the BSD libraries 5# .pico used for PIC object files 6# .nossppico used for NOSSP PIC object files 7# .pieo used for PIE object files 8.SUFFIXES: .out .o .bc .ll .pico .nossppico .pieo .S .asm .s .c .cc .cpp .cxx .C .f .y .l .ln 9 10PICFLAG?=-fpic 11PIEFLAG?=-fpie 12 13.c.pico: 14 ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 15 ${CTFCONVERT_CMD} 16 17.c.nossppico: 18 ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} -c ${.IMPSRC} -o ${.TARGET} 19 ${CTFCONVERT_CMD} 20 21.c.pieo: 22 ${CC} ${PIEFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} 23 ${CTFCONVERT_CMD} 24 25.cc.pico .C.pico .cpp.pico .cxx.pico: 26 ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 27 28.cc.nossppico .C.nossppico .cpp.nossppico .cxx.nossppico: 29 ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} ${CXXFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} -c ${.IMPSRC} -o ${.TARGET} 30 31.cc.pieo .C.pieo .cpp.pieo .cxx.pieo: 32 ${CXX} ${PIEFLAG} ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} 33 34.f.pico: 35 ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 36 ${CTFCONVERT_CMD} 37 38.f.nossppico: 39 ${FC} ${PICFLAG} -DPIC ${FFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} -o ${.TARGET} -c ${.IMPSRC} 40 ${CTFCONVERT_CMD} 41 42.s.pico .s.nossppico .s.pieo: 43 ${CC:N${CCACHE_BIN}} -x assembler ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} 44 ${CTFCONVERT_CMD} 45 46.asm.pico: 47 ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ 48 ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} 49 ${CTFCONVERT_CMD} 50 51.asm.nossppico: 52 ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ 53 ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} 54 ${CTFCONVERT_CMD} 55 56.asm.pieo: 57 ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PIEFLAG} -DPIC \ 58 ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} 59 ${CTFCONVERT_CMD} 60 61.S.pico: 62 ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ 63 -c ${.IMPSRC} -o ${.TARGET} 64 ${CTFCONVERT_CMD} 65 66.S.nossppico: 67 ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} ${ACFLAGS} \ 68 -c ${.IMPSRC} -o ${.TARGET} 69 ${CTFCONVERT_CMD} 70 71.S.pieo: 72 ${CC:N${CCACHE_BIN}} ${PIEFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ 73 -c ${.IMPSRC} -o ${.TARGET} 74 ${CTFCONVERT_CMD} 75 76.endif # !target(__<bsd.suffixes-extra.mk>__) 77