]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/mk/bsd.suffixes.mk
Extract suffix rules into bsd.suffixes[-posix].mk.
[FreeBSD/FreeBSD.git] / share / mk / bsd.suffixes.mk
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}