1321964Ssjg# $Id: Linux.mk,v 1.9 2017/05/05 18:02:16 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 15321964Ssjg.SUFFIXES: .out .a .ln .o .c ${CXX_SUFFIXES} .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 73246149SsjgPC= pc 74246149SsjgPFLAGS= 75246149SsjgCOMPILE.p= ${PC} ${PFLAGS} ${CPPFLAGS} -c 76246149SsjgLINK.p= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 77246149Ssjg 78246149SsjgSHELL= sh 79246149Ssjg 80246149SsjgYACC= yacc 81246149SsjgYFLAGS= -d 82246149SsjgYACC.y= ${YACC} ${YFLAGS} 83246149Ssjg 84246149Ssjg# C 85246149Ssjg.c: 86246149Ssjg ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 87246149Ssjg.c.o: 88246149Ssjg ${COMPILE.c} ${.IMPSRC} 89246149Ssjg.c.a: 90246149Ssjg ${COMPILE.c} ${.IMPSRC} 91246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 92246149Ssjg rm -f $*.o 93246149Ssjg 94246149Ssjg# C++ 95321964Ssjg${CXX_SUFFIXES}: 96246149Ssjg ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 97321964Ssjg${CXX_SUFFIXES:%=%.o}: 98246149Ssjg ${COMPILE.cc} ${.IMPSRC} 99321964Ssjg${CXX_SUFFIXES:%=%.a}: 100246149Ssjg ${COMPILE.cc} ${.IMPSRC} 101246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 102246149Ssjg rm -f $*.o 103246149Ssjg 104246149Ssjg# Fortran/Ratfor 105246149Ssjg.f: 106246149Ssjg ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 107246149Ssjg.f.o: 108246149Ssjg ${COMPILE.f} ${.IMPSRC} 109246149Ssjg.f.a: 110246149Ssjg ${COMPILE.f} ${.IMPSRC} 111246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 112246149Ssjg rm -f $*.o 113246149Ssjg 114246149Ssjg.F: 115246149Ssjg ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 116246149Ssjg.F.o: 117246149Ssjg ${COMPILE.F} ${.IMPSRC} 118246149Ssjg.F.a: 119246149Ssjg ${COMPILE.F} ${.IMPSRC} 120246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 121246149Ssjg rm -f $*.o 122246149Ssjg 123246149Ssjg.r: 124246149Ssjg ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 125246149Ssjg.r.o: 126246149Ssjg ${COMPILE.r} ${.IMPSRC} 127246149Ssjg.r.a: 128246149Ssjg ${COMPILE.r} ${.IMPSRC} 129246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 130246149Ssjg rm -f $*.o 131246149Ssjg 132246149Ssjg# Pascal 133246149Ssjg.p: 134246149Ssjg ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 135246149Ssjg.p.o: 136246149Ssjg ${COMPILE.p} ${.IMPSRC} 137246149Ssjg.p.a: 138246149Ssjg ${COMPILE.p} ${.IMPSRC} 139246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 140246149Ssjg rm -f $*.o 141246149Ssjg 142246149Ssjg# Assembly 143246149Ssjg.s: 144246149Ssjg ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 145246149Ssjg.s.o: 146246149Ssjg ${COMPILE.s} -o ${.TARGET} ${.IMPSRC} 147246149Ssjg.s.a: 148246149Ssjg ${COMPILE.s} ${.IMPSRC} 149246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 150246149Ssjg rm -f $*.o 151246149Ssjg.S: 152246149Ssjg ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 153246149Ssjg.S.o: 154246149Ssjg ${COMPILE.S} ${.IMPSRC} 155246149Ssjg.S.a: 156246149Ssjg ${COMPILE.S} ${.IMPSRC} 157246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 158246149Ssjg rm -f $*.o 159246149Ssjg 160246149Ssjg# Lex 161246149Ssjg.l: 162246149Ssjg ${LEX.l} ${.IMPSRC} 163246149Ssjg ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 164246149Ssjg rm -f lex.yy.c 165246149Ssjg.l.c: 166246149Ssjg ${LEX.l} ${.IMPSRC} 167246149Ssjg mv lex.yy.c ${.TARGET} 168246149Ssjg.l.o: 169246149Ssjg ${LEX.l} ${.IMPSRC} 170246149Ssjg ${COMPILE.c} -o ${.TARGET} lex.yy.c 171246149Ssjg rm -f lex.yy.c 172246149Ssjg 173246149Ssjg# Yacc 174246149Ssjg.y: 175246149Ssjg ${YACC.y} ${.IMPSRC} 176246149Ssjg ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 177246149Ssjg rm -f y.tab.c 178246149Ssjg.y.c: 179246149Ssjg ${YACC.y} ${.IMPSRC} 180246149Ssjg mv y.tab.c ${.TARGET} 181246149Ssjg.y.o: 182246149Ssjg ${YACC.y} ${.IMPSRC} 183246149Ssjg ${COMPILE.c} -o ${.TARGET} y.tab.c 184246149Ssjg rm -f y.tab.c 185246149Ssjg 186246149Ssjg# Shell 187246149Ssjg.sh: 188246149Ssjg rm -f ${.TARGET} 189246149Ssjg cp ${.IMPSRC} ${.TARGET} 190