1246149Ssjg# $Id: SunOS.mk,v 1.5 2010/01/11 23:02:05 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 15246149Ssjg# supress 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 44246149Ssjg.SUFFIXES: .out .a .ln .o .c .cc .C .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 101246149SsjgMAKE= bmake 102246149Ssjg 103246149SsjgPC= pc 104246149SsjgPFLAGS= 105246149SsjgCOMPILE.p= ${PC} ${PFLAGS} ${CPPFLAGS} -c 106246149SsjgLINK.p= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 107246149Ssjg 108246149SsjgSHELL= sh 109246149Ssjg 110246149Ssjg.if exists(/usr/local/bin/bison) || exists(/opt/gnu/bin/bison) 111246149SsjgYACC= bison -y 112246149Ssjg.else 113246149SsjgYACC= yacc 114246149Ssjg.endif 115246149SsjgYFLAGS= -d 116246149SsjgYACC.y= ${YACC} ${YFLAGS} 117246149Ssjg 118246149Ssjg# C 119246149Ssjg.c: 120246149Ssjg ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 121246149Ssjg.c.o: 122246149Ssjg ${COMPILE.c} ${.IMPSRC} 123246149Ssjg.c.a: 124246149Ssjg ${COMPILE.c} ${.IMPSRC} 125246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 126246149Ssjg rm -f $*.o 127246149Ssjg 128246149Ssjg# C++ 129246149Ssjg.cc: 130246149Ssjg ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 131246149Ssjg.cc.o: 132246149Ssjg ${COMPILE.cc} ${.IMPSRC} 133246149Ssjg.cc.a: 134246149Ssjg ${COMPILE.cc} ${.IMPSRC} 135246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 136246149Ssjg rm -f $*.o 137246149Ssjg 138246149Ssjg.C: 139246149Ssjg ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 140246149Ssjg.C.o: 141246149Ssjg ${COMPILE.cc} ${.IMPSRC} 142246149Ssjg.C.a: 143246149Ssjg ${COMPILE.cc} ${.IMPSRC} 144246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 145246149Ssjg rm -f $*.o 146246149Ssjg 147246149Ssjg# Fortran/Ratfor 148246149Ssjg.f: 149246149Ssjg ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 150246149Ssjg.f.o: 151246149Ssjg ${COMPILE.f} ${.IMPSRC} 152246149Ssjg.f.a: 153246149Ssjg ${COMPILE.f} ${.IMPSRC} 154246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 155246149Ssjg rm -f $*.o 156246149Ssjg 157246149Ssjg.F: 158246149Ssjg ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 159246149Ssjg.F.o: 160246149Ssjg ${COMPILE.F} ${.IMPSRC} 161246149Ssjg.F.a: 162246149Ssjg ${COMPILE.F} ${.IMPSRC} 163246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 164246149Ssjg rm -f $*.o 165246149Ssjg 166246149Ssjg.r: 167246149Ssjg ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 168246149Ssjg.r.o: 169246149Ssjg ${COMPILE.r} ${.IMPSRC} 170246149Ssjg.r.a: 171246149Ssjg ${COMPILE.r} ${.IMPSRC} 172246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 173246149Ssjg rm -f $*.o 174246149Ssjg 175246149Ssjg# Pascal 176246149Ssjg.p: 177246149Ssjg ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 178246149Ssjg.p.o: 179246149Ssjg ${COMPILE.p} ${.IMPSRC} 180246149Ssjg.p.a: 181246149Ssjg ${COMPILE.p} ${.IMPSRC} 182246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 183246149Ssjg rm -f $*.o 184246149Ssjg 185246149Ssjg# Assembly 186246149Ssjg.s: 187246149Ssjg ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 188246149Ssjg.s.o: 189246149Ssjg ${COMPILE.s} ${.IMPSRC} 190246149Ssjg.s.a: 191246149Ssjg ${COMPILE.s} ${.IMPSRC} 192246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 193246149Ssjg rm -f $*.o 194246149Ssjg.S: 195246149Ssjg ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 196246149Ssjg.S.o: 197246149Ssjg ${COMPILE.S} ${.IMPSRC} 198246149Ssjg.S.a: 199246149Ssjg ${COMPILE.S} ${.IMPSRC} 200246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 201246149Ssjg rm -f $*.o 202246149Ssjg 203246149Ssjg# Lex 204246149Ssjg.l: 205246149Ssjg ${LEX.l} ${.IMPSRC} 206246149Ssjg ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 207246149Ssjg rm -f lex.yy.c 208246149Ssjg.l.c: 209246149Ssjg ${LEX.l} ${.IMPSRC} 210246149Ssjg mv lex.yy.c ${.TARGET} 211246149Ssjg.l.o: 212246149Ssjg ${LEX.l} ${.IMPSRC} 213246149Ssjg ${COMPILE.c} -o ${.TARGET} lex.yy.c 214246149Ssjg rm -f lex.yy.c 215246149Ssjg 216246149Ssjg# Yacc 217246149Ssjg.y: 218246149Ssjg ${YACC.y} ${.IMPSRC} 219246149Ssjg ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 220246149Ssjg rm -f y.tab.c 221246149Ssjg.y.c: 222246149Ssjg ${YACC.y} ${.IMPSRC} 223246149Ssjg mv y.tab.c ${.TARGET} 224246149Ssjg.y.o: 225246149Ssjg ${YACC.y} ${.IMPSRC} 226246149Ssjg ${COMPILE.c} -o ${.TARGET} y.tab.c 227246149Ssjg rm -f y.tab.c 228246149Ssjg 229246149Ssjg# Shell 230246149Ssjg.sh: 231246149Ssjg rm -f ${.TARGET} 232246149Ssjg cp ${.IMPSRC} ${.TARGET} 233