xref: /freebsd/share/mk/bsd.suffixes.mk (revision 076ad2f8)
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.c.bco:
24	${CC} -emit-llvm ${IR_CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
25
26.c.llo:
27	${CC} -emit-llvm ${IR_CFLAGS} -S ${.IMPSRC} -o ${.TARGET}
28
29.cc .cpp .cxx .C:
30	${CXX} ${CXXFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
31
32.cc.o .cpp.o .cxx.o .C.o:
33	${CXX} ${STATIC_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
34
35.cc.bco .cpp.bco .cxx.bco .C.bco:
36	${CXX} -emit-llvm ${IR_CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
37
38.cc.llo .cpp.llo .cxx.llo .C.llo:
39	${CXX} -emit-llvm ${IR_CXXFLAGS} -S ${.IMPSRC} -o ${.TARGET}
40
41.m.o:
42	${OBJC} ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET}
43	${CTFCONVERT_CMD}
44
45.p.o:
46	${PC} ${PFLAGS} -c ${.IMPSRC} -o ${.TARGET}
47	${CTFCONVERT_CMD}
48
49.e .r .F .f:
50	${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} \
51	    -o ${.TARGET}
52
53.e.o .r.o .F.o .f.o:
54	${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} -c ${.IMPSRC} -o ${.TARGET}
55
56.S.o:
57	${CC:N${CCACHE_BIN}} ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET}
58	${CTFCONVERT_CMD}
59
60.asm.o:
61	${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} \
62	    -o ${.TARGET}
63	${CTFCONVERT_CMD}
64
65.s.o:
66	${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC}
67	${CTFCONVERT_CMD}
68
69# XXX not -j safe
70.y.o:
71	${YACC} ${YFLAGS} ${.IMPSRC}
72	${CC} ${CFLAGS} -c y.tab.c -o ${.TARGET}
73	rm -f y.tab.c
74	${CTFCONVERT_CMD}
75
76.l.o:
77	${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.PREFIX}.tmp.c
78	${CC} ${CFLAGS} -c ${.PREFIX}.tmp.c -o ${.TARGET}
79	rm -f ${.PREFIX}.tmp.c
80	${CTFCONVERT_CMD}
81
82# XXX not -j safe
83.y.c:
84	${YACC} ${YFLAGS} ${.IMPSRC}
85	mv y.tab.c ${.TARGET}
86
87.l.c:
88	${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.TARGET}
89
90.s.out .c.out .o.out:
91	${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
92	${CTFCONVERT_CMD}
93
94.f.out .F.out .r.out .e.out:
95	${FC} ${EFLAGS} ${RFLAGS} ${FFLAGS} ${LDFLAGS} ${.IMPSRC} \
96	    ${LDLIBS} -o ${.TARGET}
97	rm -f ${.PREFIX}.o
98	${CTFCONVERT_CMD}
99
100# XXX not -j safe
101.y.out:
102	${YACC} ${YFLAGS} ${.IMPSRC}
103	${CC} ${CFLAGS} ${LDFLAGS} y.tab.c ${LDLIBS} -ly -o ${.TARGET}
104	rm -f y.tab.c
105	${CTFCONVERT_CMD}
106
107.l.out:
108	${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.PREFIX}.tmp.c
109	${CC} ${CFLAGS} ${LDFLAGS} ${.PREFIX}.tmp.c ${LDLIBS} -ll -o ${.TARGET}
110	rm -f ${.PREFIX}.tmp.c
111	${CTFCONVERT_CMD}
112