]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/bmake/mk/sys/OpenBSD.mk
Update to bmake-20200704
[FreeBSD/FreeBSD.git] / contrib / bmake / mk / sys / OpenBSD.mk
1 #       $NetBSD: OpenBSD.sys.mk,v 1.1 2002/11/17 09:18:00 cjep Exp $
2 #       @(#)sys.mk      8.2 (Berkeley) 3/21/94
3
4 OS ?=           OpenBSD
5 unix ?=         We run ${OS}.
6
7 .SUFFIXES: .out .a .ln .o .s .S .c ${CXX_SUFFIXES} .F .f .r .y .l .cl .p .h
8 .SUFFIXES: .sh .m4
9
10 .LIBS:          .a
11
12 # need to make sure this is set
13 MACHINE_ARCH.${MACHINE} ?= ${MACHINE}
14 .if empty(MACHINE_ARCH)
15 MACHINE_ARCH  ?= ${MACHINE_ARCH.${MACHINE}}
16 .endif
17
18 AR ?=           ar
19 ARFLAGS ?=      rl
20 RANLIB ?=       ranlib
21
22 AS ?=           as
23 AFLAGS ?=
24 .if ${MACHINE_ARCH} == "sparc64" 
25 AFLAGS+= -Wa,-Av9a
26 .endif
27 COMPILE.s ?=    ${CC} ${AFLAGS} -c
28 LINK.s ?=       ${CC} ${AFLAGS} ${LDFLAGS}
29 COMPILE.S ?=    ${CC} ${AFLAGS} ${CPPFLAGS} -c -traditional-cpp
30 LINK.S ?=       ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
31
32 CC ?=           cc
33 .if ${MACHINE_ARCH} == "alpha" || \
34     ${MACHINE_ARCH} == "i386" || \
35     ${MACHINE_ARCH} == "m68k" || \
36     ${MACHINE_ARCH} == "sparc" || \
37     ${MACHINE_ARCH} == "vax"
38 DBG ?=  -O2
39 .else
40 DBG ?=  -O
41 .endif
42 CFLAGS ?=       ${DBG}
43 COMPILE.c ?=    ${CC} ${CFLAGS} ${CPPFLAGS} -c
44 LINK.c ?=       ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
45
46 CXX ?=          c++
47 CXXFLAGS ?=     ${CFLAGS}
48 COMPILE.cc ?=   ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
49 LINK.cc ?=      ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
50
51 OBJC ?=         ${CC}
52 OBJCFLAGS ?=    ${CFLAGS}
53 COMPILE.m ?=    ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c
54 LINK.m ?=       ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS}
55
56 CPP ?=          cpp
57 CPPFLAGS ?=     
58
59 FC ?=           f77
60 FFLAGS ?=       -O
61 RFLAGS ?=
62 COMPILE.f ?=    ${FC} ${FFLAGS} -c
63 LINK.f ?=       ${FC} ${FFLAGS} ${LDFLAGS}
64 COMPILE.F ?=    ${FC} ${FFLAGS} ${CPPFLAGS} -c
65 LINK.F ?=       ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
66 COMPILE.r ?=    ${FC} ${FFLAGS} ${RFLAGS} -c
67 LINK.r ?=       ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
68
69 INSTALL ?=      install
70
71 LEX ?=          lex
72 LFLAGS ?=
73 LEX.l ?=                ${LEX} ${LFLAGS}
74
75 LD ?=           ld
76 LDFLAGS ?=
77
78 LINT ?=         lint
79 LINTFLAGS ?=    -chapbxzF
80
81 LORDER ?=       lorder
82
83 NM ?=           nm
84
85 PC ?=           pc
86 PFLAGS ?=
87 COMPILE.p ?=    ${PC} ${PFLAGS} ${CPPFLAGS} -c
88 LINK.p ?=       ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
89
90 SIZE ?=         size
91
92 TSORT ?=        tsort -q
93
94 YACC ?=         yacc
95 YFLAGS ?=
96 YACC.y ?=       ${YACC} ${YFLAGS}
97
98 # C
99 .c:
100         ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
101 .c.o:
102         ${COMPILE.c} ${.IMPSRC}
103 .c.a:
104         ${COMPILE.c} ${.IMPSRC}
105         ${AR} ${ARFLAGS} $@ $*.o
106         rm -f $*.o
107 .c.ln:
108         ${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC}
109
110 # C++
111 ${CXX_SUFFIXES}:
112         ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
113 ${CXX_SUFFIXES:%=%.o}:
114         ${COMPILE.cc} ${.IMPSRC}
115 ${CXX_SUFFIXES:%=%.a}:
116         ${COMPILE.cc} ${.IMPSRC}
117         ${AR} ${ARFLAGS} $@ $*.o
118         rm -f $*.o
119
120 # Fortran/Ratfor
121 .f:
122         ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
123 .f.o:
124         ${COMPILE.f} ${.IMPSRC}
125 .f.a:
126         ${COMPILE.f} ${.IMPSRC}
127         ${AR} ${ARFLAGS} $@ $*.o
128         rm -f $*.o
129
130 .F:
131         ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
132 .F.o:
133         ${COMPILE.F} ${.IMPSRC}
134 .F.a:
135         ${COMPILE.F} ${.IMPSRC}
136         ${AR} ${ARFLAGS} $@ $*.o
137         rm -f $*.o
138
139 .r:
140         ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
141 .r.o:
142         ${COMPILE.r} ${.IMPSRC}
143 .r.a:
144         ${COMPILE.r} ${.IMPSRC}
145         ${AR} ${ARFLAGS} $@ $*.o
146         rm -f $*.o
147
148 # Pascal
149 .p:
150         ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
151 .p.o:
152         ${COMPILE.p} ${.IMPSRC}
153 .p.a:
154         ${COMPILE.p} ${.IMPSRC}
155         ${AR} ${ARFLAGS} $@ $*.o
156         rm -f $*.o
157
158 # Assembly
159 .s:
160         ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
161 .s.o:
162         ${COMPILE.s} ${.IMPSRC}
163 .s.a:
164         ${COMPILE.s} ${.IMPSRC}
165         ${AR} ${ARFLAGS} $@ $*.o
166         rm -f $*.o
167 .S:
168         ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
169 .S.o:
170         ${COMPILE.S} ${.IMPSRC}
171 .S.a:
172         ${COMPILE.S} ${.IMPSRC}
173         ${AR} ${ARFLAGS} $@ $*.o
174         rm -f $*.o
175
176 # Lex
177 .l:
178         ${LEX.l} ${.IMPSRC}
179         ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
180         rm -f lex.yy.c
181 .l.c:
182         ${LEX.l} ${.IMPSRC}
183         mv lex.yy.c ${.TARGET}
184 .l.o:
185         ${LEX.l} ${.IMPSRC}
186         ${COMPILE.c} -o ${.TARGET} lex.yy.c 
187         rm -f lex.yy.c
188
189 # Yacc
190 .y:
191         ${YACC.y} ${.IMPSRC}
192         ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
193         rm -f y.tab.c
194 .y.c:
195         ${YACC.y} ${.IMPSRC}
196         mv y.tab.c ${.TARGET}
197 .y.o:
198         ${YACC.y} ${.IMPSRC}
199         ${COMPILE.c} -o ${.TARGET} y.tab.c
200         rm -f y.tab.c
201
202 # Shell
203 .sh:
204         rm -f ${.TARGET}
205         cp ${.IMPSRC} ${.TARGET}