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 \ 15 ${SHARED_CFLAGS} ${CFLAGS} \ 16 -c ${.IMPSRC} -o ${.TARGET} 17 ${CTFCONVERT_CMD} 18 19.c.nossppico: 20 ${CC} ${PICFLAG} -DPIC \ 21 ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} \ 22 ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} \ 23 -c ${.IMPSRC} -o ${.TARGET} 24 ${CTFCONVERT_CMD} 25 26.c.pieo: 27 ${CC} ${PIEFLAG} -DPIC \ 28 ${SHARED_CFLAGS} ${CFLAGS} \ 29 -c ${.IMPSRC} -o ${.TARGET} 30 ${CTFCONVERT_CMD} 31 32.cc.pico .C.pico .cpp.pico .cxx.pico: 33 ${CXX} ${PICFLAG} -DPIC \ 34 ${SHARED_CXXFLAGS} ${CXXFLAGS} \ 35 -c ${.IMPSRC} -o ${.TARGET} 36 37.cc.nossppico .C.nossppico .cpp.nossppico .cxx.nossppico: 38 ${CXX} ${PICFLAG} -DPIC \ 39 ${SHARED_CXXFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} \ 40 ${CXXFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} \ 41 -c ${.IMPSRC} -o ${.TARGET} 42 43.cc.pieo .C.pieo .cpp.pieo .cxx.pieo: 44 ${CXX} ${PIEFLAG} ${SHARED_CXXFLAGS} ${CXXFLAGS} \ 45 -c ${.IMPSRC} -o ${.TARGET} 46 47.f.pico: 48 ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 49 ${CTFCONVERT_CMD} 50 51.f.nossppico: 52 ${FC} ${PICFLAG} -DPIC \ 53 ${FFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ 54 -o ${.TARGET} -c ${.IMPSRC} 55 ${CTFCONVERT_CMD} 56 57.s.pico .s.nossppico .s.pieo: 58 ${CC:N${CCACHE_BIN}} -x assembler ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} 59 ${CTFCONVERT_CMD} 60 61.asm.pico: 62 ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ 63 ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ 64 -c ${.IMPSRC} -o ${.TARGET} 65 ${CTFCONVERT_CMD} 66 67.asm.nossppico: 68 ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ 69 ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ 70 ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ 71 ${ACFLAGS} \ 72 -c ${.IMPSRC} -o ${.TARGET} 73 ${CTFCONVERT_CMD} 74 75.asm.pieo: 76 ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PIEFLAG} -DPIC \ 77 ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ 78 -c ${.IMPSRC} -o ${.TARGET} 79 ${CTFCONVERT_CMD} 80 81.S.pico: 82 ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC \ 83 ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ 84 -c ${.IMPSRC} -o ${.TARGET} 85 ${CTFCONVERT_CMD} 86 87.S.nossppico: 88 ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC \ 89 ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ 90 ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ 91 ${ACFLAGS} \ 92 -c ${.IMPSRC} -o ${.TARGET} 93 ${CTFCONVERT_CMD} 94 95.S.pieo: 96 ${CC:N${CCACHE_BIN}} ${PIEFLAG} -DPIC \ 97 ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ 98 -c ${.IMPSRC} -o ${.TARGET} 99 ${CTFCONVERT_CMD} 100 101.endif # !target(__<bsd.suffixes-extra.mk>__) 102