xref: /freebsd/share/mk/bsd.suffixes.mk (revision d01498defbe804f66435b44f22da9278acddf082)
1# $FreeBSD$
2
3.sh:
4	cp -f ${.IMPSRC} ${.TARGET}
5	chmod a+x ${.TARGET}
6
7.c.ln:
8	${LINT} ${LINTOBJFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC} || \
9	    touch ${.TARGET}
10
11.cc.ln .C.ln .cpp.ln .cxx.ln:
12	${LINT} ${LINTOBJFLAGS} ${CXXFLAGS:M-[DIU]*} ${.IMPSRC} || \
13	    touch ${.TARGET}
14
15.c:
16	${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
17	${CTFCONVERT_CMD}
18
19.c.o:
20	${CC} ${STATIC_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
21	${CTFCONVERT_CMD}
22
23.cc .cpp .cxx .C:
24	${CXX} ${CXXFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
25
26.cc.o .cpp.o .cxx.o .C.o:
27	${CXX} ${STATIC_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
28
29.m.o:
30	${OBJC} ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET}
31	${CTFCONVERT_CMD}
32
33.p.o:
34	${PC} ${PFLAGS} -c ${.IMPSRC} -o ${.TARGET}
35	${CTFCONVERT_CMD}
36
37.e .r .F .f:
38	${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} \
39	    -o ${.TARGET}
40
41.e.o .r.o .F.o .f.o:
42	${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} -c ${.IMPSRC} -o ${.TARGET}
43
44.S.o:
45	${CC:N${CCACHE_BIN}} ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET}
46	${CTFCONVERT_CMD}
47
48.asm.o:
49	${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} \
50	    -o ${.TARGET}
51	${CTFCONVERT_CMD}
52
53.s.o:
54	${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC}
55	${CTFCONVERT_CMD}
56
57# XXX not -j safe
58.y.o:
59	${YACC} ${YFLAGS} ${.IMPSRC}
60	${CC} ${CFLAGS} -c y.tab.c -o ${.TARGET}
61	rm -f y.tab.c
62	${CTFCONVERT_CMD}
63
64.l.o:
65	${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.PREFIX}.tmp.c
66	${CC} ${CFLAGS} -c ${.PREFIX}.tmp.c -o ${.TARGET}
67	rm -f ${.PREFIX}.tmp.c
68	${CTFCONVERT_CMD}
69
70# XXX not -j safe
71.y.c:
72	${YACC} ${YFLAGS} ${.IMPSRC}
73	mv y.tab.c ${.TARGET}
74
75.l.c:
76	${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.TARGET}
77
78.s.out .c.out .o.out:
79	${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
80	${CTFCONVERT_CMD}
81
82.f.out .F.out .r.out .e.out:
83	${FC} ${EFLAGS} ${RFLAGS} ${FFLAGS} ${LDFLAGS} ${.IMPSRC} \
84	    ${LDLIBS} -o ${.TARGET}
85	rm -f ${.PREFIX}.o
86	${CTFCONVERT_CMD}
87
88# XXX not -j safe
89.y.out:
90	${YACC} ${YFLAGS} ${.IMPSRC}
91	${CC} ${CFLAGS} ${LDFLAGS} y.tab.c ${LDLIBS} -ly -o ${.TARGET}
92	rm -f y.tab.c
93	${CTFCONVERT_CMD}
94
95.l.out:
96	${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.PREFIX}.tmp.c
97	${CC} ${CFLAGS} ${LDFLAGS} ${.PREFIX}.tmp.c ${LDLIBS} -ll -o ${.TARGET}
98	rm -f ${.PREFIX}.tmp.c
99	${CTFCONVERT_CMD}
100