19c4f1497SDimitry Andric.if !target(__<bsd.suffixes-extra.mk>__) 29c4f1497SDimitry Andric__<bsd.suffixes-extra.mk>__: .NOTMAIN 39c4f1497SDimitry Andric 49c4f1497SDimitry Andric# prefer .s to a .c, remove stuff not used in the BSD libraries 59c4f1497SDimitry Andric# .pico used for PIC object files 69c4f1497SDimitry Andric# .nossppico used for NOSSP PIC object files 79c4f1497SDimitry Andric# .pieo used for PIE object files 89c4f1497SDimitry Andric.SUFFIXES: .out .o .bc .ll .pico .nossppico .pieo .S .asm .s .c .cc .cpp .cxx .C .f .y .l .ln 99c4f1497SDimitry Andric 109c4f1497SDimitry AndricPICFLAG?=-fpic 119c4f1497SDimitry AndricPIEFLAG?=-fpie 129c4f1497SDimitry Andric 139c4f1497SDimitry Andric.c.pico: 1483812c4eSBrooks Davis ${CC} ${PICFLAG} -DPIC \ 1583812c4eSBrooks Davis ${SHARED_CFLAGS} ${CFLAGS} \ 1683812c4eSBrooks Davis -c ${.IMPSRC} -o ${.TARGET} 179c4f1497SDimitry Andric ${CTFCONVERT_CMD} 189c4f1497SDimitry Andric 199c4f1497SDimitry Andric.c.nossppico: 2083812c4eSBrooks Davis ${CC} ${PICFLAG} -DPIC \ 2183812c4eSBrooks Davis ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} \ 2283812c4eSBrooks Davis ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} \ 2383812c4eSBrooks Davis -c ${.IMPSRC} -o ${.TARGET} 249c4f1497SDimitry Andric ${CTFCONVERT_CMD} 259c4f1497SDimitry Andric 269c4f1497SDimitry Andric.c.pieo: 2783812c4eSBrooks Davis ${CC} ${PIEFLAG} -DPIC \ 2883812c4eSBrooks Davis ${SHARED_CFLAGS} ${CFLAGS} \ 2983812c4eSBrooks Davis -c ${.IMPSRC} -o ${.TARGET} 309c4f1497SDimitry Andric ${CTFCONVERT_CMD} 319c4f1497SDimitry Andric 329c4f1497SDimitry Andric.cc.pico .C.pico .cpp.pico .cxx.pico: 3383812c4eSBrooks Davis ${CXX} ${PICFLAG} -DPIC \ 3483812c4eSBrooks Davis ${SHARED_CXXFLAGS} ${CXXFLAGS} \ 3583812c4eSBrooks Davis -c ${.IMPSRC} -o ${.TARGET} 369c4f1497SDimitry Andric 379c4f1497SDimitry Andric.cc.nossppico .C.nossppico .cpp.nossppico .cxx.nossppico: 3883812c4eSBrooks Davis ${CXX} ${PICFLAG} -DPIC \ 3983812c4eSBrooks Davis ${SHARED_CXXFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} \ 4083812c4eSBrooks Davis ${CXXFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} \ 4183812c4eSBrooks Davis -c ${.IMPSRC} -o ${.TARGET} 429c4f1497SDimitry Andric 439c4f1497SDimitry Andric.cc.pieo .C.pieo .cpp.pieo .cxx.pieo: 4483812c4eSBrooks Davis ${CXX} ${PIEFLAG} ${SHARED_CXXFLAGS} ${CXXFLAGS} \ 4583812c4eSBrooks Davis -c ${.IMPSRC} -o ${.TARGET} 469c4f1497SDimitry Andric 479c4f1497SDimitry Andric.f.pico: 489c4f1497SDimitry Andric ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} 499c4f1497SDimitry Andric ${CTFCONVERT_CMD} 509c4f1497SDimitry Andric 519c4f1497SDimitry Andric.f.nossppico: 5283812c4eSBrooks Davis ${FC} ${PICFLAG} -DPIC \ 5383812c4eSBrooks Davis ${FFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ 5483812c4eSBrooks Davis -o ${.TARGET} -c ${.IMPSRC} 559c4f1497SDimitry Andric ${CTFCONVERT_CMD} 569c4f1497SDimitry Andric 579c4f1497SDimitry Andric.s.pico .s.nossppico .s.pieo: 589c4f1497SDimitry Andric ${CC:N${CCACHE_BIN}} -x assembler ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} 599c4f1497SDimitry Andric ${CTFCONVERT_CMD} 609c4f1497SDimitry Andric 619c4f1497SDimitry Andric.asm.pico: 629c4f1497SDimitry Andric ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ 63*9c200103SBrooks Davis ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ 6483812c4eSBrooks Davis -c ${.IMPSRC} -o ${.TARGET} 659c4f1497SDimitry Andric ${CTFCONVERT_CMD} 669c4f1497SDimitry Andric 679c4f1497SDimitry Andric.asm.nossppico: 689c4f1497SDimitry Andric ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ 69*9c200103SBrooks Davis ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ 7083812c4eSBrooks Davis ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ 7183812c4eSBrooks Davis ${ACFLAGS} \ 7283812c4eSBrooks Davis -c ${.IMPSRC} -o ${.TARGET} 739c4f1497SDimitry Andric ${CTFCONVERT_CMD} 749c4f1497SDimitry Andric 759c4f1497SDimitry Andric.asm.pieo: 769c4f1497SDimitry Andric ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PIEFLAG} -DPIC \ 77*9c200103SBrooks Davis ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ 7883812c4eSBrooks Davis -c ${.IMPSRC} -o ${.TARGET} 799c4f1497SDimitry Andric ${CTFCONVERT_CMD} 809c4f1497SDimitry Andric 819c4f1497SDimitry Andric.S.pico: 8283812c4eSBrooks Davis ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC \ 83*9c200103SBrooks Davis ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ 849c4f1497SDimitry Andric -c ${.IMPSRC} -o ${.TARGET} 859c4f1497SDimitry Andric ${CTFCONVERT_CMD} 869c4f1497SDimitry Andric 879c4f1497SDimitry Andric.S.nossppico: 8883812c4eSBrooks Davis ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC \ 89*9c200103SBrooks Davis ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ 9083812c4eSBrooks Davis ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ 9183812c4eSBrooks Davis ${ACFLAGS} \ 929c4f1497SDimitry Andric -c ${.IMPSRC} -o ${.TARGET} 939c4f1497SDimitry Andric ${CTFCONVERT_CMD} 949c4f1497SDimitry Andric 959c4f1497SDimitry Andric.S.pieo: 9683812c4eSBrooks Davis ${CC:N${CCACHE_BIN}} ${PIEFLAG} -DPIC \ 97*9c200103SBrooks Davis ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ 989c4f1497SDimitry Andric -c ${.IMPSRC} -o ${.TARGET} 999c4f1497SDimitry Andric ${CTFCONVERT_CMD} 1009c4f1497SDimitry Andric 1019c4f1497SDimitry Andric.endif # !target(__<bsd.suffixes-extra.mk>__) 102