1246149Ssjg#	$NetBSD: OpenBSD.sys.mk,v 1.1 2002/11/17 09:18:00 cjep Exp $
2246149Ssjg#	@(#)sys.mk	8.2 (Berkeley) 3/21/94
3246149Ssjg
4246149SsjgOS=		OpenBSD
5246149Ssjgunix?=		We run ${OS}.
6246149Ssjg
7300313Ssjg.SUFFIXES: .out .a .ln .o .s .S .c ${CXX_SUFFIXES} .F .f .r .y .l .cl .p .h
8246149Ssjg.SUFFIXES: .sh .m4
9246149Ssjg
10246149Ssjg.LIBS:		.a
11246149Ssjg
12246149Ssjg# need to make sure this is set
13246149SsjgMACHINE_ARCH.${MACHINE} ?= ${MACHINE}
14246149Ssjg.if empty(MACHINE_ARCH)
15246149SsjgMACHINE_ARCH = ${MACHINE_ARCH.${MACHINE}}
16246149Ssjg.endif
17246149Ssjg
18246149SsjgAR?=		ar
19246149SsjgARFLAGS?=	rl
20246149SsjgRANLIB?=	ranlib
21246149Ssjg
22246149SsjgAS?=		as
23246149SsjgAFLAGS?=
24246149Ssjg.if ${MACHINE_ARCH} == "sparc64" 
25246149SsjgAFLAGS+= -Wa,-Av9a
26246149Ssjg.endif
27246149SsjgCOMPILE.s?=	${CC} ${AFLAGS} -c
28246149SsjgLINK.s?=	${CC} ${AFLAGS} ${LDFLAGS}
29246149SsjgCOMPILE.S?=	${CC} ${AFLAGS} ${CPPFLAGS} -c -traditional-cpp
30246149SsjgLINK.S?=	${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
31246149Ssjg
32246149SsjgCC?=		cc
33246149Ssjg.if ${MACHINE_ARCH} == "alpha" || \
34246149Ssjg    ${MACHINE_ARCH} == "i386" || \
35246149Ssjg    ${MACHINE_ARCH} == "m68k" || \
36246149Ssjg    ${MACHINE_ARCH} == "sparc" || \
37246149Ssjg    ${MACHINE_ARCH} == "vax"
38246149SsjgDBG?=	-O2
39246149Ssjg.else
40246149SsjgDBG?=	-O
41246149Ssjg.endif
42246149SsjgCFLAGS?=	${DBG}
43246149SsjgCOMPILE.c?=	${CC} ${CFLAGS} ${CPPFLAGS} -c
44246149SsjgLINK.c?=	${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
45246149Ssjg
46246149SsjgCXX?=		c++
47246149SsjgCXXFLAGS?=	${CFLAGS}
48246149SsjgCOMPILE.cc?=	${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
49246149SsjgLINK.cc?=	${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
50246149Ssjg
51246149SsjgOBJC?=		${CC}
52246149SsjgOBJCFLAGS?=	${CFLAGS}
53246149SsjgCOMPILE.m?=	${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c
54246149SsjgLINK.m?=	${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS}
55246149Ssjg
56246149SsjgCPP?=		cpp
57246149SsjgCPPFLAGS?=	
58246149Ssjg
59246149SsjgFC?=		f77
60246149SsjgFFLAGS?=	-O
61246149SsjgRFLAGS?=
62246149SsjgCOMPILE.f?=	${FC} ${FFLAGS} -c
63246149SsjgLINK.f?=	${FC} ${FFLAGS} ${LDFLAGS}
64246149SsjgCOMPILE.F?=	${FC} ${FFLAGS} ${CPPFLAGS} -c
65246149SsjgLINK.F?=	${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
66246149SsjgCOMPILE.r?=	${FC} ${FFLAGS} ${RFLAGS} -c
67246149SsjgLINK.r?=	${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
68246149Ssjg
69246149SsjgINSTALL?=	install
70246149Ssjg
71246149SsjgLEX?=		lex
72246149SsjgLFLAGS?=
73246149SsjgLEX.l?=		${LEX} ${LFLAGS}
74246149Ssjg
75246149SsjgLD?=		ld
76246149SsjgLDFLAGS?=
77246149Ssjg
78246149SsjgLINT?=		lint
79246149SsjgLINTFLAGS?=	-chapbxzF
80246149Ssjg
81246149SsjgLORDER?=	lorder
82246149Ssjg
83246149SsjgNM?=		nm
84246149Ssjg
85246149SsjgPC?=		pc
86246149SsjgPFLAGS?=
87246149SsjgCOMPILE.p?=	${PC} ${PFLAGS} ${CPPFLAGS} -c
88246149SsjgLINK.p?=	${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
89246149Ssjg
90246149SsjgSHELL?=		sh
91246149Ssjg
92246149SsjgSIZE?=		size
93246149Ssjg
94246149SsjgTSORT?= 	tsort -q
95246149Ssjg
96246149SsjgYACC?=		yacc
97246149SsjgYFLAGS?=
98246149SsjgYACC.y?=	${YACC} ${YFLAGS}
99246149Ssjg
100246149Ssjg# C
101246149Ssjg.c:
102246149Ssjg	${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
103246149Ssjg.c.o:
104246149Ssjg	${COMPILE.c} ${.IMPSRC}
105246149Ssjg.c.a:
106246149Ssjg	${COMPILE.c} ${.IMPSRC}
107246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
108246149Ssjg	rm -f $*.o
109246149Ssjg.c.ln:
110246149Ssjg	${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC}
111246149Ssjg
112246149Ssjg# C++
113300313Ssjg${CXX_SUFFIXES}:
114246149Ssjg	${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
115300313Ssjg${CXX_SUFFIXES:%=%.o}:
116246149Ssjg	${COMPILE.cc} ${.IMPSRC}
117300313Ssjg${CXX_SUFFIXES:%=%.a}:
118246149Ssjg	${COMPILE.cc} ${.IMPSRC}
119246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
120246149Ssjg	rm -f $*.o
121246149Ssjg
122246149Ssjg# Fortran/Ratfor
123246149Ssjg.f:
124246149Ssjg	${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
125246149Ssjg.f.o:
126246149Ssjg	${COMPILE.f} ${.IMPSRC}
127246149Ssjg.f.a:
128246149Ssjg	${COMPILE.f} ${.IMPSRC}
129246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
130246149Ssjg	rm -f $*.o
131246149Ssjg
132246149Ssjg.F:
133246149Ssjg	${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
134246149Ssjg.F.o:
135246149Ssjg	${COMPILE.F} ${.IMPSRC}
136246149Ssjg.F.a:
137246149Ssjg	${COMPILE.F} ${.IMPSRC}
138246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
139246149Ssjg	rm -f $*.o
140246149Ssjg
141246149Ssjg.r:
142246149Ssjg	${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
143246149Ssjg.r.o:
144246149Ssjg	${COMPILE.r} ${.IMPSRC}
145246149Ssjg.r.a:
146246149Ssjg	${COMPILE.r} ${.IMPSRC}
147246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
148246149Ssjg	rm -f $*.o
149246149Ssjg
150246149Ssjg# Pascal
151246149Ssjg.p:
152246149Ssjg	${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
153246149Ssjg.p.o:
154246149Ssjg	${COMPILE.p} ${.IMPSRC}
155246149Ssjg.p.a:
156246149Ssjg	${COMPILE.p} ${.IMPSRC}
157246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
158246149Ssjg	rm -f $*.o
159246149Ssjg
160246149Ssjg# Assembly
161246149Ssjg.s:
162246149Ssjg	${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
163246149Ssjg.s.o:
164246149Ssjg	${COMPILE.s} ${.IMPSRC}
165246149Ssjg.s.a:
166246149Ssjg	${COMPILE.s} ${.IMPSRC}
167246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
168246149Ssjg	rm -f $*.o
169246149Ssjg.S:
170246149Ssjg	${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
171246149Ssjg.S.o:
172246149Ssjg	${COMPILE.S} ${.IMPSRC}
173246149Ssjg.S.a:
174246149Ssjg	${COMPILE.S} ${.IMPSRC}
175246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
176246149Ssjg	rm -f $*.o
177246149Ssjg
178246149Ssjg# Lex
179246149Ssjg.l:
180246149Ssjg	${LEX.l} ${.IMPSRC}
181246149Ssjg	${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
182246149Ssjg	rm -f lex.yy.c
183246149Ssjg.l.c:
184246149Ssjg	${LEX.l} ${.IMPSRC}
185246149Ssjg	mv lex.yy.c ${.TARGET}
186246149Ssjg.l.o:
187246149Ssjg	${LEX.l} ${.IMPSRC}
188246149Ssjg	${COMPILE.c} -o ${.TARGET} lex.yy.c 
189246149Ssjg	rm -f lex.yy.c
190246149Ssjg
191246149Ssjg# Yacc
192246149Ssjg.y:
193246149Ssjg	${YACC.y} ${.IMPSRC}
194246149Ssjg	${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
195246149Ssjg	rm -f y.tab.c
196246149Ssjg.y.c:
197246149Ssjg	${YACC.y} ${.IMPSRC}
198246149Ssjg	mv y.tab.c ${.TARGET}
199246149Ssjg.y.o:
200246149Ssjg	${YACC.y} ${.IMPSRC}
201246149Ssjg	${COMPILE.c} -o ${.TARGET} y.tab.c
202246149Ssjg	rm -f y.tab.c
203246149Ssjg
204246149Ssjg# Shell
205246149Ssjg.sh:
206246149Ssjg	rm -f ${.TARGET}
207246149Ssjg	cp ${.IMPSRC} ${.TARGET}
208