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
7246149Ssjg.SUFFIXES: .out .a .ln .o .s .S .c .cc .cpp .cxx .C .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
83246149SsjgMAKE?=		make
84246149Ssjg
85246149SsjgNM?=		nm
86246149Ssjg
87246149SsjgPC?=		pc
88246149SsjgPFLAGS?=
89246149SsjgCOMPILE.p?=	${PC} ${PFLAGS} ${CPPFLAGS} -c
90246149SsjgLINK.p?=	${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
91246149Ssjg
92246149SsjgSHELL?=		sh
93246149Ssjg
94246149SsjgSIZE?=		size
95246149Ssjg
96246149SsjgTSORT?= 	tsort -q
97246149Ssjg
98246149SsjgYACC?=		yacc
99246149SsjgYFLAGS?=
100246149SsjgYACC.y?=	${YACC} ${YFLAGS}
101246149Ssjg
102246149Ssjg# C
103246149Ssjg.c:
104246149Ssjg	${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
105246149Ssjg.c.o:
106246149Ssjg	${COMPILE.c} ${.IMPSRC}
107246149Ssjg.c.a:
108246149Ssjg	${COMPILE.c} ${.IMPSRC}
109246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
110246149Ssjg	rm -f $*.o
111246149Ssjg.c.ln:
112246149Ssjg	${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC}
113246149Ssjg
114246149Ssjg# C++
115246149Ssjg.cc .cpp .cxx .C:
116246149Ssjg	${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
117246149Ssjg.cc.o .cpp.o .cxx.o .C.o:
118246149Ssjg	${COMPILE.cc} ${.IMPSRC}
119246149Ssjg.cc.a .cpp.a .cxx.a .C.a:
120246149Ssjg	${COMPILE.cc} ${.IMPSRC}
121246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
122246149Ssjg	rm -f $*.o
123246149Ssjg
124246149Ssjg# Fortran/Ratfor
125246149Ssjg.f:
126246149Ssjg	${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
127246149Ssjg.f.o:
128246149Ssjg	${COMPILE.f} ${.IMPSRC}
129246149Ssjg.f.a:
130246149Ssjg	${COMPILE.f} ${.IMPSRC}
131246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
132246149Ssjg	rm -f $*.o
133246149Ssjg
134246149Ssjg.F:
135246149Ssjg	${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
136246149Ssjg.F.o:
137246149Ssjg	${COMPILE.F} ${.IMPSRC}
138246149Ssjg.F.a:
139246149Ssjg	${COMPILE.F} ${.IMPSRC}
140246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
141246149Ssjg	rm -f $*.o
142246149Ssjg
143246149Ssjg.r:
144246149Ssjg	${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
145246149Ssjg.r.o:
146246149Ssjg	${COMPILE.r} ${.IMPSRC}
147246149Ssjg.r.a:
148246149Ssjg	${COMPILE.r} ${.IMPSRC}
149246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
150246149Ssjg	rm -f $*.o
151246149Ssjg
152246149Ssjg# Pascal
153246149Ssjg.p:
154246149Ssjg	${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
155246149Ssjg.p.o:
156246149Ssjg	${COMPILE.p} ${.IMPSRC}
157246149Ssjg.p.a:
158246149Ssjg	${COMPILE.p} ${.IMPSRC}
159246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
160246149Ssjg	rm -f $*.o
161246149Ssjg
162246149Ssjg# Assembly
163246149Ssjg.s:
164246149Ssjg	${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
165246149Ssjg.s.o:
166246149Ssjg	${COMPILE.s} ${.IMPSRC}
167246149Ssjg.s.a:
168246149Ssjg	${COMPILE.s} ${.IMPSRC}
169246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
170246149Ssjg	rm -f $*.o
171246149Ssjg.S:
172246149Ssjg	${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
173246149Ssjg.S.o:
174246149Ssjg	${COMPILE.S} ${.IMPSRC}
175246149Ssjg.S.a:
176246149Ssjg	${COMPILE.S} ${.IMPSRC}
177246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
178246149Ssjg	rm -f $*.o
179246149Ssjg
180246149Ssjg# Lex
181246149Ssjg.l:
182246149Ssjg	${LEX.l} ${.IMPSRC}
183246149Ssjg	${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
184246149Ssjg	rm -f lex.yy.c
185246149Ssjg.l.c:
186246149Ssjg	${LEX.l} ${.IMPSRC}
187246149Ssjg	mv lex.yy.c ${.TARGET}
188246149Ssjg.l.o:
189246149Ssjg	${LEX.l} ${.IMPSRC}
190246149Ssjg	${COMPILE.c} -o ${.TARGET} lex.yy.c 
191246149Ssjg	rm -f lex.yy.c
192246149Ssjg
193246149Ssjg# Yacc
194246149Ssjg.y:
195246149Ssjg	${YACC.y} ${.IMPSRC}
196246149Ssjg	${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
197246149Ssjg	rm -f y.tab.c
198246149Ssjg.y.c:
199246149Ssjg	${YACC.y} ${.IMPSRC}
200246149Ssjg	mv y.tab.c ${.TARGET}
201246149Ssjg.y.o:
202246149Ssjg	${YACC.y} ${.IMPSRC}
203246149Ssjg	${COMPILE.c} -o ${.TARGET} y.tab.c
204246149Ssjg	rm -f y.tab.c
205246149Ssjg
206246149Ssjg# Shell
207246149Ssjg.sh:
208246149Ssjg	rm -f ${.TARGET}
209246149Ssjg	cp ${.IMPSRC} ${.TARGET}
210