1246149Ssjg#	$Id: Linux.mk,v 1.7 2011/03/02 05:05:21 sjg Exp $
2246149Ssjg#	$NetBSD: sys.mk,v 1.19.2.1 1994/07/26 19:58:31 cgd Exp $
3246149Ssjg#	@(#)sys.mk	5.11 (Berkeley) 3/13/91
4246149Ssjg
5246149SsjgOS?=		Linux
6246149Ssjgunix?=		We run ${OS}.
7246149Ssjg
8246149SsjgROOT_GROUP=	root
9246149Ssjg
10246149Ssjg# would be better to work out where it is...
11246149SsjgLIBCRT0= /dev/null
12246149Ssjg
13246149SsjgNEED_SOLINKS=yes
14246149Ssjg
15246149Ssjg.SUFFIXES: .out .a .ln .o .c .cc .C .F .f .r .y .l .s .S .cl .p .h .sh .m4
16246149Ssjg
17246149Ssjg.LIBS:		.a
18246149Ssjg
19246149SsjgAR=		ar
20246149SsjgARFLAGS=	rl
21246149SsjgRANLIB=		ranlib
22246149Ssjg
23246149SsjgAS=		as
24246149SsjgAFLAGS=
25246149SsjgCOMPILE.s=	${AS} ${AFLAGS}
26246149SsjgLINK.s=		${CC} ${AFLAGS} ${LDFLAGS}
27246149SsjgCOMPILE.S=	${CC} ${AFLAGS} ${CPPFLAGS} -c
28246149SsjgLINK.S=		${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
29246149Ssjg.if exists(/usr/local/bin/gcc)
30246149SsjgCC=		gcc -pipe
31246149SsjgDBG=		-O -g
32246149SsjgSTATIC?=		-static
33246149Ssjg.else
34246149SsjgCC=             cc -pipe
35246149SsjgDBG=         -g
36246149SsjgSTATIC=         -Bstatic
37246149Ssjg.endif
38246149SsjgCFLAGS=		${DBG}
39246149SsjgCOMPILE.c=	${CC} ${CFLAGS} ${CPPFLAGS} -c
40246149SsjgLINK.c=		${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
41246149Ssjg
42246149SsjgCXX=		g++
43246149SsjgCXXFLAGS=	${CFLAGS}
44246149SsjgCOMPILE.cc=	${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
45246149SsjgLINK.cc=	${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
46246149Ssjg
47246149SsjgCPP=		cpp
48246149Ssjg.if defined(DESTDIR)
49246149SsjgCPPFLAGS+=	-nostdinc -idirafter ${DESTDIR}/usr/include
50246149Ssjg.endif
51246149Ssjg
52246149SsjgMK_DEP=	mkdeps.sh -N
53246149SsjgFC=		f77
54246149SsjgFFLAGS=		-O
55246149SsjgRFLAGS=
56246149SsjgCOMPILE.f=	${FC} ${FFLAGS} -c
57246149SsjgLINK.f=		${FC} ${FFLAGS} ${LDFLAGS}
58246149SsjgCOMPILE.F=	${FC} ${FFLAGS} ${CPPFLAGS} -c
59246149SsjgLINK.F=		${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
60246149SsjgCOMPILE.r=	${FC} ${FFLAGS} ${RFLAGS} -c
61246149SsjgLINK.r=		${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
62246149Ssjg
63246149SsjgLEX=		lex
64246149SsjgLFLAGS=
65246149SsjgLEX.l=		${LEX} ${LFLAGS}
66246149Ssjg
67246149SsjgLD=		ld
68246149SsjgLDFLAGS=
69246149Ssjg
70246149SsjgLINT=		lint
71246149SsjgLINTFLAGS=	-chapbx
72246149Ssjg
73246149SsjgMAKE=		bmake
74246149Ssjg
75246149SsjgPC=		pc
76246149SsjgPFLAGS=
77246149SsjgCOMPILE.p=	${PC} ${PFLAGS} ${CPPFLAGS} -c
78246149SsjgLINK.p=		${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
79246149Ssjg
80246149SsjgSHELL=		sh
81246149Ssjg
82246149SsjgYACC=		yacc
83246149SsjgYFLAGS=		-d
84246149SsjgYACC.y=		${YACC} ${YFLAGS}
85246149Ssjg
86246149Ssjg# C
87246149Ssjg.c:
88246149Ssjg	${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
89246149Ssjg.c.o:
90246149Ssjg	${COMPILE.c} ${.IMPSRC}
91246149Ssjg.c.a:
92246149Ssjg	${COMPILE.c} ${.IMPSRC}
93246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
94246149Ssjg	rm -f $*.o
95246149Ssjg
96246149Ssjg# C++
97246149Ssjg.cc:
98246149Ssjg	${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
99246149Ssjg.cc.o:
100246149Ssjg	${COMPILE.cc} ${.IMPSRC}
101246149Ssjg.cc.a:
102246149Ssjg	${COMPILE.cc} ${.IMPSRC}
103246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
104246149Ssjg	rm -f $*.o
105246149Ssjg
106246149Ssjg.C:
107246149Ssjg	${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
108246149Ssjg.C.o:
109246149Ssjg	${COMPILE.cc} ${.IMPSRC}
110246149Ssjg.C.a:
111246149Ssjg	${COMPILE.cc} ${.IMPSRC}
112246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
113246149Ssjg	rm -f $*.o
114246149Ssjg
115246149Ssjg# Fortran/Ratfor
116246149Ssjg.f:
117246149Ssjg	${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
118246149Ssjg.f.o:
119246149Ssjg	${COMPILE.f} ${.IMPSRC}
120246149Ssjg.f.a:
121246149Ssjg	${COMPILE.f} ${.IMPSRC}
122246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
123246149Ssjg	rm -f $*.o
124246149Ssjg
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.r:
135246149Ssjg	${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
136246149Ssjg.r.o:
137246149Ssjg	${COMPILE.r} ${.IMPSRC}
138246149Ssjg.r.a:
139246149Ssjg	${COMPILE.r} ${.IMPSRC}
140246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
141246149Ssjg	rm -f $*.o
142246149Ssjg
143246149Ssjg# Pascal
144246149Ssjg.p:
145246149Ssjg	${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
146246149Ssjg.p.o:
147246149Ssjg	${COMPILE.p} ${.IMPSRC}
148246149Ssjg.p.a:
149246149Ssjg	${COMPILE.p} ${.IMPSRC}
150246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
151246149Ssjg	rm -f $*.o
152246149Ssjg
153246149Ssjg# Assembly
154246149Ssjg.s:
155246149Ssjg	${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
156246149Ssjg.s.o:
157246149Ssjg	${COMPILE.s} -o ${.TARGET} ${.IMPSRC} 
158246149Ssjg.s.a:
159246149Ssjg	${COMPILE.s} ${.IMPSRC}
160246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
161246149Ssjg	rm -f $*.o
162246149Ssjg.S:
163246149Ssjg	${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
164246149Ssjg.S.o:
165246149Ssjg	${COMPILE.S} ${.IMPSRC}
166246149Ssjg.S.a:
167246149Ssjg	${COMPILE.S} ${.IMPSRC}
168246149Ssjg	${AR} ${ARFLAGS} $@ $*.o
169246149Ssjg	rm -f $*.o
170246149Ssjg
171246149Ssjg# Lex
172246149Ssjg.l:
173246149Ssjg	${LEX.l} ${.IMPSRC}
174246149Ssjg	${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
175246149Ssjg	rm -f lex.yy.c
176246149Ssjg.l.c:
177246149Ssjg	${LEX.l} ${.IMPSRC}
178246149Ssjg	mv lex.yy.c ${.TARGET}
179246149Ssjg.l.o:
180246149Ssjg	${LEX.l} ${.IMPSRC}
181246149Ssjg	${COMPILE.c} -o ${.TARGET} lex.yy.c 
182246149Ssjg	rm -f lex.yy.c
183246149Ssjg
184246149Ssjg# Yacc
185246149Ssjg.y:
186246149Ssjg	${YACC.y} ${.IMPSRC}
187246149Ssjg	${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
188246149Ssjg	rm -f y.tab.c
189246149Ssjg.y.c:
190246149Ssjg	${YACC.y} ${.IMPSRC}
191246149Ssjg	mv y.tab.c ${.TARGET}
192246149Ssjg.y.o:
193246149Ssjg	${YACC.y} ${.IMPSRC}
194246149Ssjg	${COMPILE.c} -o ${.TARGET} y.tab.c
195246149Ssjg	rm -f y.tab.c
196246149Ssjg
197246149Ssjg# Shell
198246149Ssjg.sh:
199246149Ssjg	rm -f ${.TARGET}
200246149Ssjg	cp ${.IMPSRC} ${.TARGET}
201