1321964Ssjg# $Id: SunOS.mk,v 1.8 2017/05/05 18:02:17 sjg Exp $ 2246149Ssjg 3246149Ssjg.if ${.PARSEFILE} == "sys.mk" 4246149Ssjg.include <host-target.mk> 5246149Ssjg 6246149SsjgOS?= SunOS.${HOST_OSMAJOR} 7246149Ssjgunix?= We run ${OS}. 8246149Ssjg.endif 9246149Ssjg 10246149Ssjg.if ${HOST_OSMAJOR} > 4 11246149SsjgROOT_GROUP= root 12246149Ssjg 13246149SsjgSHLIB_FULLVERSION = ${SHLIB_MAJOR} 14246149Ssjg 15276305Sngie# suppress the dependency 16246149SsjgLIBCRT0= /dev/null 17246149Ssjg 18246149Ssjg.ifndef CC 19246149Ssjg# the PATH below may find an ancient gcc 20246149SsjgCC := ${gcc:L:${M_whence}} 21246149Ssjg.export CC 22246149Ssjg.endif 23246149Ssjg 24246149Ssjg# the stuff in /usr/xpg4/bin is usually more sane. 25246149SsjgPATH=/usr/xpg4/bin:/usr/sbin:/usr/bin:/usr/ucb:/usr/sfw/bin:/opt/gnu/bin:/usr/ccs/bin:/usr/local/bin 26246149Ssjg.export PATH 27246149Ssjg 28246149SsjgDSHLIBEXT = .so 29246149SsjgHOST_LIBDIRS = /usr/lib /lib /usr/sfw/lib 30246149Ssjg 31246149Ssjg# no -X 32246149SsjgLD_X= 33246149SsjgLD_x= 34246149SsjgRANLIB= : 35246149SsjgCPP= /usr/ccs/lib/cpp 36246149Ssjg.else 37246149SsjgROOT_GROUP= wheel 38246149SsjgRANLIB= ranlib 39246149SsjgCPP= cpp 40246149Ssjg.endif 41246149Ssjg 42246149Ssjg# the rest is common 43246149Ssjg 44321964Ssjg.SUFFIXES: .out .a .ln .o .c ${CXX_SUFFIXES} .F .f .r .y .l .s .S .cl .p .h .sh .m4 45246149Ssjg 46246149Ssjg.LIBS: .a 47246149Ssjg 48246149SsjgAR= ar 49246149SsjgARFLAGS= rl 50246149Ssjg 51246149SsjgAS= as 52246149SsjgAS_STDIN= - 53246149SsjgAFLAGS= 54246149SsjgCOMPILE.s= ${AS} ${AFLAGS} 55246149SsjgLINK.s= ${CC} ${AFLAGS} ${LDFLAGS} 56246149SsjgCOMPILE.S= ${CC} ${AFLAGS} ${CPPFLAGS} -c 57246149SsjgLINK.S= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS} 58246149Ssjg.if exists(/opt/gnu/bin/gcc) || exists(/usr/local/bin/gcc) 59246149SsjgCC ?= gcc -pipe 60246149SsjgDBG= -O -g 61246149SsjgSTATIC= -static 62246149Ssjg.else 63246149SsjgCC ?= cc 64246149SsjgDBG= -g 65246149SsjgSTATIC= -Bstatic 66246149Ssjg.endif 67246149SsjgCFLAGS= ${DBG} 68246149SsjgCOMPILE.c= ${CC} ${CFLAGS} ${CPPFLAGS} -c 69246149SsjgLINK.c= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} 70246149Ssjg 71246149SsjgCXX= g++ 72246149SsjgCXXFLAGS= ${CFLAGS} 73246149SsjgCOMPILE.cc= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c 74246149SsjgLINK.cc= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} 75246149Ssjg 76246149Ssjg.if defined(DESTDIR) 77246149SsjgCPPFLAGS+= -nostdinc -idirafter ${DESTDIR}/usr/include 78246149Ssjg.endif 79246149Ssjg 80246149SsjgMK_DEP= mkdeps.sh -N 81246149SsjgFC= f77 82246149SsjgFFLAGS= -O 83246149SsjgRFLAGS= 84246149SsjgCOMPILE.f= ${FC} ${FFLAGS} -c 85246149SsjgLINK.f= ${FC} ${FFLAGS} ${LDFLAGS} 86246149SsjgCOMPILE.F= ${FC} ${FFLAGS} ${CPPFLAGS} -c 87246149SsjgLINK.F= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS} 88246149SsjgCOMPILE.r= ${FC} ${FFLAGS} ${RFLAGS} -c 89246149SsjgLINK.r= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS} 90246149Ssjg 91246149SsjgLEX= lex 92246149SsjgLFLAGS= 93246149SsjgLEX.l= ${LEX} ${LFLAGS} 94246149Ssjg 95246149SsjgLD= ld 96246149SsjgLDFLAGS= 97246149Ssjg 98246149SsjgLINT= lint 99246149SsjgLINTFLAGS= -chapbx 100246149Ssjg 101246149SsjgPC= pc 102246149SsjgPFLAGS= 103246149SsjgCOMPILE.p= ${PC} ${PFLAGS} ${CPPFLAGS} -c 104246149SsjgLINK.p= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 105246149Ssjg 106246149SsjgSHELL= sh 107246149Ssjg 108246149Ssjg.if exists(/usr/local/bin/bison) || exists(/opt/gnu/bin/bison) 109246149SsjgYACC= bison -y 110246149Ssjg.else 111246149SsjgYACC= yacc 112246149Ssjg.endif 113246149SsjgYFLAGS= -d 114246149SsjgYACC.y= ${YACC} ${YFLAGS} 115246149Ssjg 116246149Ssjg# C 117246149Ssjg.c: 118246149Ssjg ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 119246149Ssjg.c.o: 120246149Ssjg ${COMPILE.c} ${.IMPSRC} 121246149Ssjg.c.a: 122246149Ssjg ${COMPILE.c} ${.IMPSRC} 123246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 124246149Ssjg rm -f $*.o 125246149Ssjg 126246149Ssjg# C++ 127321964Ssjg${CXX_SUFFIXES}: 128246149Ssjg ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 129321964Ssjg${CXX_SUFFIXES:%=%.o}: 130246149Ssjg ${COMPILE.cc} ${.IMPSRC} 131321964Ssjg${CXX_SUFFIXES:%=%.a}: 132246149Ssjg ${COMPILE.cc} ${.IMPSRC} 133246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 134246149Ssjg rm -f $*.o 135246149Ssjg 136246149Ssjg# Fortran/Ratfor 137246149Ssjg.f: 138246149Ssjg ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 139246149Ssjg.f.o: 140246149Ssjg ${COMPILE.f} ${.IMPSRC} 141246149Ssjg.f.a: 142246149Ssjg ${COMPILE.f} ${.IMPSRC} 143246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 144246149Ssjg rm -f $*.o 145246149Ssjg 146246149Ssjg.F: 147246149Ssjg ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 148246149Ssjg.F.o: 149246149Ssjg ${COMPILE.F} ${.IMPSRC} 150246149Ssjg.F.a: 151246149Ssjg ${COMPILE.F} ${.IMPSRC} 152246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 153246149Ssjg rm -f $*.o 154246149Ssjg 155246149Ssjg.r: 156246149Ssjg ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 157246149Ssjg.r.o: 158246149Ssjg ${COMPILE.r} ${.IMPSRC} 159246149Ssjg.r.a: 160246149Ssjg ${COMPILE.r} ${.IMPSRC} 161246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 162246149Ssjg rm -f $*.o 163246149Ssjg 164246149Ssjg# Pascal 165246149Ssjg.p: 166246149Ssjg ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 167246149Ssjg.p.o: 168246149Ssjg ${COMPILE.p} ${.IMPSRC} 169246149Ssjg.p.a: 170246149Ssjg ${COMPILE.p} ${.IMPSRC} 171246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 172246149Ssjg rm -f $*.o 173246149Ssjg 174246149Ssjg# Assembly 175246149Ssjg.s: 176246149Ssjg ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 177246149Ssjg.s.o: 178246149Ssjg ${COMPILE.s} ${.IMPSRC} 179246149Ssjg.s.a: 180246149Ssjg ${COMPILE.s} ${.IMPSRC} 181246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 182246149Ssjg rm -f $*.o 183246149Ssjg.S: 184246149Ssjg ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 185246149Ssjg.S.o: 186246149Ssjg ${COMPILE.S} ${.IMPSRC} 187246149Ssjg.S.a: 188246149Ssjg ${COMPILE.S} ${.IMPSRC} 189246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 190246149Ssjg rm -f $*.o 191246149Ssjg 192246149Ssjg# Lex 193246149Ssjg.l: 194246149Ssjg ${LEX.l} ${.IMPSRC} 195246149Ssjg ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 196246149Ssjg rm -f lex.yy.c 197246149Ssjg.l.c: 198246149Ssjg ${LEX.l} ${.IMPSRC} 199246149Ssjg mv lex.yy.c ${.TARGET} 200246149Ssjg.l.o: 201246149Ssjg ${LEX.l} ${.IMPSRC} 202246149Ssjg ${COMPILE.c} -o ${.TARGET} lex.yy.c 203246149Ssjg rm -f lex.yy.c 204246149Ssjg 205246149Ssjg# Yacc 206246149Ssjg.y: 207246149Ssjg ${YACC.y} ${.IMPSRC} 208246149Ssjg ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 209246149Ssjg rm -f y.tab.c 210246149Ssjg.y.c: 211246149Ssjg ${YACC.y} ${.IMPSRC} 212246149Ssjg mv y.tab.c ${.TARGET} 213246149Ssjg.y.o: 214246149Ssjg ${YACC.y} ${.IMPSRC} 215246149Ssjg ${COMPILE.c} -o ${.TARGET} y.tab.c 216246149Ssjg rm -f y.tab.c 217246149Ssjg 218246149Ssjg# Shell 219246149Ssjg.sh: 220246149Ssjg rm -f ${.TARGET} 221246149Ssjg cp ${.IMPSRC} ${.TARGET} 222