1*1d3f2ddcSSimon J. Gerraty# $Id: SunOS.mk,v 1.14 2022/03/25 23:43:06 sjg Exp $ 23cbdda60SSimon J. Gerraty 33cbdda60SSimon J. Gerraty.if ${.PARSEFILE} == "sys.mk" 43cbdda60SSimon J. Gerraty.include <host-target.mk> 53cbdda60SSimon J. Gerraty 63cbdda60SSimon J. GerratyOS ?= SunOS.${HOST_OSMAJOR} 73cbdda60SSimon J. Gerratyunix ?= We run ${OS}. 83cbdda60SSimon J. Gerraty.endif 93cbdda60SSimon J. Gerraty 103cbdda60SSimon J. Gerraty.if ${HOST_OSMAJOR} > 4 113841c287SSimon J. GerratyROOT_GROUP ?= root 123cbdda60SSimon J. Gerraty 133841c287SSimon J. GerratySHLIB_FULLVERSION ?= ${SHLIB_MAJOR} 143cbdda60SSimon J. Gerraty 155bcb7424SSimon J. Gerraty# suppress the dependency 163841c287SSimon J. GerratyLIBCRT0 ?= /dev/null 173cbdda60SSimon J. Gerraty 183cbdda60SSimon J. Gerraty.ifndef CC 193cbdda60SSimon J. Gerraty# the PATH below may find an ancient gcc 203cbdda60SSimon J. GerratyCC := ${gcc:L:${M_whence}} 213cbdda60SSimon J. Gerraty.export CC 223cbdda60SSimon J. Gerraty.endif 233cbdda60SSimon J. Gerraty 243cbdda60SSimon J. Gerraty# the stuff in /usr/xpg4/bin is usually more sane. 253841c287SSimon J. GerratyPATH ?=/usr/xpg4/bin:/usr/sbin:/usr/bin:/usr/ucb:/usr/sfw/bin:/opt/gnu/bin:/usr/ccs/bin:/usr/local/bin 263cbdda60SSimon J. Gerraty.export PATH 273cbdda60SSimon J. Gerraty 283841c287SSimon J. GerratyDSHLIBEXT ?= .so 293841c287SSimon J. GerratyHOST_LIBDIRS ?= /usr/lib /lib /usr/sfw/lib 303cbdda60SSimon J. Gerraty 313cbdda60SSimon J. Gerraty# no -X 323cbdda60SSimon J. GerratyLD_X= 333cbdda60SSimon J. GerratyLD_x= 343841c287SSimon J. GerratyRANLIB ?= : 353841c287SSimon J. GerratyCPP ?= /usr/ccs/lib/cpp 363cbdda60SSimon J. Gerraty.else 373841c287SSimon J. GerratyROOT_GROUP ?= wheel 383841c287SSimon J. GerratyRANLIB ?= ranlib 393841c287SSimon J. GerratyCPP ?= cpp 403cbdda60SSimon J. Gerraty.endif 413cbdda60SSimon J. Gerraty 423cbdda60SSimon J. Gerraty# the rest is common 433cbdda60SSimon J. Gerraty 44e48f47ddSSimon J. Gerraty.SUFFIXES: .out .a .ln .o .c ${CXX_SUFFIXES} .F .f .r .y .l .s .S .cl .p .h .sh .m4 453cbdda60SSimon J. Gerraty 463cbdda60SSimon J. Gerraty.LIBS: .a 473cbdda60SSimon J. Gerraty 483841c287SSimon J. GerratyAR ?= ar 49*1d3f2ddcSSimon J. GerratyARFLAGS ?= r 503cbdda60SSimon J. Gerraty 513841c287SSimon J. GerratyAS ?= as 523841c287SSimon J. GerratyAS_STDIN ?= - 533cbdda60SSimon J. GerratyAFLAGS= 543841c287SSimon J. GerratyCOMPILE.s ?= ${AS} ${AFLAGS} 553841c287SSimon J. GerratyLINK.s ?= ${CC} ${AFLAGS} ${LDFLAGS} 563841c287SSimon J. GerratyCOMPILE.S ?= ${CC} ${AFLAGS} ${CPPFLAGS} -c 573841c287SSimon J. GerratyLINK.S ?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS} 583cbdda60SSimon J. Gerraty.if exists(/opt/gnu/bin/gcc) || exists(/usr/local/bin/gcc) 593cbdda60SSimon J. GerratyCC ?= gcc -pipe 603841c287SSimon J. GerratyDBG ?= -O -g 613841c287SSimon J. GerratySTATIC ?= -static 623cbdda60SSimon J. Gerraty.else 633cbdda60SSimon J. GerratyCC ?= cc 643841c287SSimon J. GerratyDBG ?= -g 653841c287SSimon J. GerratySTATIC ?= -Bstatic 663cbdda60SSimon J. Gerraty.endif 673841c287SSimon J. GerratyCFLAGS ?= ${DBG} 683841c287SSimon J. GerratyCOMPILE.c ?= ${CC} ${CFLAGS} ${CPPFLAGS} -c 693841c287SSimon J. GerratyLINK.c ?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} 703cbdda60SSimon J. Gerraty 713841c287SSimon J. GerratyCXX ?= g++ 723841c287SSimon J. GerratyCXXFLAGS ?= ${CFLAGS} 733841c287SSimon J. GerratyCOMPILE.cc ?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c 743841c287SSimon J. GerratyLINK.cc ?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} 753cbdda60SSimon J. Gerraty 763cbdda60SSimon J. Gerraty.if defined(DESTDIR) 773cbdda60SSimon J. GerratyCPPFLAGS+= -nostdinc -idirafter ${DESTDIR}/usr/include 783cbdda60SSimon J. Gerraty.endif 793cbdda60SSimon J. Gerraty 803841c287SSimon J. GerratyMK_DEP ?= mkdeps.sh -N 813841c287SSimon J. GerratyFC ?= f77 823841c287SSimon J. GerratyFFLAGS ?= -O 833cbdda60SSimon J. GerratyRFLAGS= 843841c287SSimon J. GerratyCOMPILE.f ?= ${FC} ${FFLAGS} -c 853841c287SSimon J. GerratyLINK.f ?= ${FC} ${FFLAGS} ${LDFLAGS} 863841c287SSimon J. GerratyCOMPILE.F ?= ${FC} ${FFLAGS} ${CPPFLAGS} -c 873841c287SSimon J. GerratyLINK.F ?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS} 883841c287SSimon J. GerratyCOMPILE.r ?= ${FC} ${FFLAGS} ${RFLAGS} -c 893841c287SSimon J. GerratyLINK.r ?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS} 903cbdda60SSimon J. Gerraty 913841c287SSimon J. GerratyLEX ?= lex 923cbdda60SSimon J. GerratyLFLAGS= 933841c287SSimon J. GerratyLEX.l ?= ${LEX} ${LFLAGS} 943cbdda60SSimon J. Gerraty 953841c287SSimon J. GerratyLD ?= ld 963cbdda60SSimon J. GerratyLDFLAGS= 973cbdda60SSimon J. Gerraty 983841c287SSimon J. GerratyLINT ?= lint 993841c287SSimon J. GerratyLINTFLAGS ?= -chapbx 1003cbdda60SSimon J. Gerraty 1013841c287SSimon J. GerratyPC ?= pc 1023cbdda60SSimon J. GerratyPFLAGS= 1033841c287SSimon J. GerratyCOMPILE.p ?= ${PC} ${PFLAGS} ${CPPFLAGS} -c 1043841c287SSimon J. GerratyLINK.p ?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 1053cbdda60SSimon J. Gerraty 1063cbdda60SSimon J. Gerraty.if exists(/usr/local/bin/bison) || exists(/opt/gnu/bin/bison) 1073841c287SSimon J. GerratyYACC ?= bison -y 1083cbdda60SSimon J. Gerraty.else 1093841c287SSimon J. GerratyYACC ?= yacc 1103cbdda60SSimon J. Gerraty.endif 1113841c287SSimon J. GerratyYFLAGS ?= -d 1123841c287SSimon J. GerratyYACC.y ?= ${YACC} ${YFLAGS} 1133cbdda60SSimon J. Gerraty 1143cbdda60SSimon J. Gerraty# C 1153cbdda60SSimon J. Gerraty.c: 1163cbdda60SSimon J. Gerraty ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 1173cbdda60SSimon J. Gerraty.c.o: 1183cbdda60SSimon J. Gerraty ${COMPILE.c} ${.IMPSRC} 1193cbdda60SSimon J. Gerraty.c.a: 1203cbdda60SSimon J. Gerraty ${COMPILE.c} ${.IMPSRC} 1213cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1223cbdda60SSimon J. Gerraty rm -f $*.o 1233cbdda60SSimon J. Gerraty 1243cbdda60SSimon J. Gerraty# C++ 125e48f47ddSSimon J. Gerraty${CXX_SUFFIXES}: 1263cbdda60SSimon J. Gerraty ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 127e48f47ddSSimon J. Gerraty${CXX_SUFFIXES:%=%.o}: 1283cbdda60SSimon J. Gerraty ${COMPILE.cc} ${.IMPSRC} 129e48f47ddSSimon J. Gerraty${CXX_SUFFIXES:%=%.a}: 1303cbdda60SSimon J. Gerraty ${COMPILE.cc} ${.IMPSRC} 1313cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1323cbdda60SSimon J. Gerraty rm -f $*.o 1333cbdda60SSimon J. Gerraty 1343cbdda60SSimon J. Gerraty# Fortran/Ratfor 1353cbdda60SSimon J. Gerraty.f: 1363cbdda60SSimon J. Gerraty ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 1373cbdda60SSimon J. Gerraty.f.o: 1383cbdda60SSimon J. Gerraty ${COMPILE.f} ${.IMPSRC} 1393cbdda60SSimon J. Gerraty.f.a: 1403cbdda60SSimon J. Gerraty ${COMPILE.f} ${.IMPSRC} 1413cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1423cbdda60SSimon J. Gerraty rm -f $*.o 1433cbdda60SSimon J. Gerraty 1443cbdda60SSimon J. Gerraty.F: 1453cbdda60SSimon J. Gerraty ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 1463cbdda60SSimon J. Gerraty.F.o: 1473cbdda60SSimon J. Gerraty ${COMPILE.F} ${.IMPSRC} 1483cbdda60SSimon J. Gerraty.F.a: 1493cbdda60SSimon J. Gerraty ${COMPILE.F} ${.IMPSRC} 1503cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1513cbdda60SSimon J. Gerraty rm -f $*.o 1523cbdda60SSimon J. Gerraty 1533cbdda60SSimon J. Gerraty.r: 1543cbdda60SSimon J. Gerraty ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 1553cbdda60SSimon J. Gerraty.r.o: 1563cbdda60SSimon J. Gerraty ${COMPILE.r} ${.IMPSRC} 1573cbdda60SSimon J. Gerraty.r.a: 1583cbdda60SSimon J. Gerraty ${COMPILE.r} ${.IMPSRC} 1593cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1603cbdda60SSimon J. Gerraty rm -f $*.o 1613cbdda60SSimon J. Gerraty 1623cbdda60SSimon J. Gerraty# Pascal 1633cbdda60SSimon J. Gerraty.p: 1643cbdda60SSimon J. Gerraty ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 1653cbdda60SSimon J. Gerraty.p.o: 1663cbdda60SSimon J. Gerraty ${COMPILE.p} ${.IMPSRC} 1673cbdda60SSimon J. Gerraty.p.a: 1683cbdda60SSimon J. Gerraty ${COMPILE.p} ${.IMPSRC} 1693cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1703cbdda60SSimon J. Gerraty rm -f $*.o 1713cbdda60SSimon J. Gerraty 1723cbdda60SSimon J. Gerraty# Assembly 1733cbdda60SSimon J. Gerraty.s: 1743cbdda60SSimon J. Gerraty ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 1753cbdda60SSimon J. Gerraty.s.o: 1763cbdda60SSimon J. Gerraty ${COMPILE.s} ${.IMPSRC} 1773cbdda60SSimon J. Gerraty.s.a: 1783cbdda60SSimon J. Gerraty ${COMPILE.s} ${.IMPSRC} 1793cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1803cbdda60SSimon J. Gerraty rm -f $*.o 1813cbdda60SSimon J. Gerraty.S: 1823cbdda60SSimon J. Gerraty ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 1833cbdda60SSimon J. Gerraty.S.o: 1843cbdda60SSimon J. Gerraty ${COMPILE.S} ${.IMPSRC} 1853cbdda60SSimon J. Gerraty.S.a: 1863cbdda60SSimon J. Gerraty ${COMPILE.S} ${.IMPSRC} 1873cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1883cbdda60SSimon J. Gerraty rm -f $*.o 1893cbdda60SSimon J. Gerraty 1903cbdda60SSimon J. Gerraty# Lex 1913cbdda60SSimon J. Gerraty.l: 1923cbdda60SSimon J. Gerraty ${LEX.l} ${.IMPSRC} 1933cbdda60SSimon J. Gerraty ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 1943cbdda60SSimon J. Gerraty rm -f lex.yy.c 1953cbdda60SSimon J. Gerraty.l.c: 1963cbdda60SSimon J. Gerraty ${LEX.l} ${.IMPSRC} 1973cbdda60SSimon J. Gerraty mv lex.yy.c ${.TARGET} 1983cbdda60SSimon J. Gerraty.l.o: 1993cbdda60SSimon J. Gerraty ${LEX.l} ${.IMPSRC} 2003cbdda60SSimon J. Gerraty ${COMPILE.c} -o ${.TARGET} lex.yy.c 2013cbdda60SSimon J. Gerraty rm -f lex.yy.c 2023cbdda60SSimon J. Gerraty 2033cbdda60SSimon J. Gerraty# Yacc 2043cbdda60SSimon J. Gerraty.y: 2053cbdda60SSimon J. Gerraty ${YACC.y} ${.IMPSRC} 2063cbdda60SSimon J. Gerraty ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 2073cbdda60SSimon J. Gerraty rm -f y.tab.c 2083cbdda60SSimon J. Gerraty.y.c: 2093cbdda60SSimon J. Gerraty ${YACC.y} ${.IMPSRC} 2103cbdda60SSimon J. Gerraty mv y.tab.c ${.TARGET} 2113cbdda60SSimon J. Gerraty.y.o: 2123cbdda60SSimon J. Gerraty ${YACC.y} ${.IMPSRC} 2133cbdda60SSimon J. Gerraty ${COMPILE.c} -o ${.TARGET} y.tab.c 2143cbdda60SSimon J. Gerraty rm -f y.tab.c 2153cbdda60SSimon J. Gerraty 2163cbdda60SSimon J. Gerraty# Shell 2173cbdda60SSimon J. Gerraty.sh: 2183cbdda60SSimon J. Gerraty rm -f ${.TARGET} 2193cbdda60SSimon J. Gerraty cp ${.IMPSRC} ${.TARGET} 220*1d3f2ddcSSimon J. Gerraty chmod a+x ${.TARGET} 221