1319884Ssjg# $Id: HP-UX.mk,v 1.11 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= HP-UX 6246149SsjgROOT_GROUP= root 7246149Ssjgunix?= We run ${OS}. 8246149Ssjg 9246149Ssjg# HP-UX's cc does not provide any clues as to wether this is 9.x or 10.x 10246149Ssjg# nor does sys/param.h, so we'll use the existence of /hp-ux 11246149Ssjg.if exists("/hp-ux") 12246149SsjgOSMAJOR?=9 13246149Ssjg.endif 14246149SsjgOSMAJOR?=10 15246149Ssjg__HPUX_VERSION?=${OSMAJOR} 16246149Ssjg 17300313Ssjg.SUFFIXES: .out .a .ln .o .c ${CXX_SUFFIXES} .F .f .r .y .l .s .S .cl .p .h .sh .m4 18246149Ssjg 19246149SsjgLIBMODE= 755 20246149SsjgLIBCRT0= /lib/crt0.o 21246149Ssjg 22246149Ssjg.LIBS: .a 23246149Ssjg 24246149Ssjg# +b<path> is needed to stop the binaries from insisting on having 25246149Ssjg# the build tree available :-) 26246149Ssjg# +s tells the dynamic loader to use SHLIB_PATH if set 27246149SsjgLD_bpath?=-Wl,+b/lib:/usr/lib:/usr/local/lib 28246149SsjgLD_spath?=-Wl,+s 29246149SsjgLDADD+= ${LD_bpath} ${LD_spath} 30246149Ssjg 31246149Ssjg.if exists(/usr/lib/end.o) 32246149SsjgLDADD+= /usr/lib/end.o 33246149Ssjg.endif 34246149Ssjg 35246149SsjgAR= ar 36246149SsjgARFLAGS= rl 37246149SsjgRANLIB= : 38246149Ssjg 39246149SsjgAFLAGS= 40246149SsjgCOMPILE.s= ${AS} ${AFLAGS} 41246149SsjgLINK.s= ${CC} ${AFLAGS} ${LDFLAGS} 42246149SsjgCOMPILE.S= ${CC} ${AFLAGS} ${CPPFLAGS} -c 43246149SsjgLINK.S= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS} 44246149Ssjg.if exists(/usr/local/bin/gcc) 45246149SsjgPIPE?= -pipe 46246149SsjgCC?= gcc ${PIPE} 47246149SsjgAS= gas 48246149SsjgDBG?= -O -g 49246149SsjgSTATIC?= -static 50246149Ssjg.if defined(DESTDIR) 51246149SsjgCPPFLAGS+= -nostdinc -idirafter ${DESTDIR}/usr/include 52246149Ssjg.endif 53246149Ssjg.else 54246149Ssjg# HP's bundled compiler knows not -g or -O 55246149SsjgAS= as 56246149SsjgCC= cc 57246149Ssjg.if exists(/opt/ansic/bin/cc) 58246149SsjgCCMODE?=-Ae +ESlit 59246149SsjgPICFLAG?= +z 60246149SsjgLD_x= 61246149SsjgDBG?=-g -O 62246149Ssjg.endif 63246149SsjgDBG?= 64246149SsjgSTATIC?= -Wl,-a,archive 65246149Ssjg.endif 66246149Ssjg.if (${__HPUX_VERSION} == "10") 67246149SsjgCCSOURCE_FLAGS?= -D_HPUX_SOURCE 68246149Ssjg.else 69246149SsjgCCSOURCE_FLAGS?= -D_HPUX_SOURCE -D_INCLUDE_POSIX_SOURCE -D_INCLUDE_XOPEN_SOURCE -D_INCLUDE_XOPEN_SOURCE_EXTENDED 70246149Ssjg.endif 71246149SsjgCFLAGS= ${DBG} 72246149SsjgCFLAGS+= ${CCMODE} -D__hpux__ -D__HPUX_VERSION=${__HPUX_VERSION} ${CCSOURCE_FLAGS} 73246149SsjgCOMPILE.c= ${CC} ${CFLAGS} ${CPPFLAGS} -c 74246149SsjgLINK.c= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} 75246149Ssjg 76246149SsjgCXX= g++ 77246149SsjgCXXFLAGS= ${CFLAGS} 78246149SsjgCOMPILE.cc= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c 79246149SsjgLINK.cc= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} 80246149Ssjg 81246149SsjgCPP= cpp 82246149Ssjg 83246149SsjgMK_DEP= mkdeps.sh -N 84246149SsjgFC= f77 85246149SsjgFFLAGS= -O 86246149SsjgRFLAGS= 87246149SsjgCOMPILE.f= ${FC} ${FFLAGS} -c 88246149SsjgLINK.f= ${FC} ${FFLAGS} ${LDFLAGS} 89246149SsjgCOMPILE.F= ${FC} ${FFLAGS} ${CPPFLAGS} -c 90246149SsjgLINK.F= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS} 91246149SsjgCOMPILE.r= ${FC} ${FFLAGS} ${RFLAGS} -c 92246149SsjgLINK.r= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS} 93246149Ssjg 94246149SsjgLEX= lex 95246149SsjgLFLAGS= 96246149SsjgLEX.l= ${LEX} ${LFLAGS} 97246149Ssjg 98246149SsjgLD= ld 99246149SsjgLDFLAGS= 100246149Ssjg 101246149SsjgLINT= lint 102246149SsjgLINTFLAGS= -chapbx 103246149Ssjg 104246149SsjgPC= pc 105246149SsjgPFLAGS= 106246149SsjgCOMPILE.p= ${PC} ${PFLAGS} ${CPPFLAGS} -c 107246149SsjgLINK.p= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 108246149Ssjg 109246149Ssjg# HP's sh sucks 110246149SsjgENV= 111246149SsjgSHELL= /bin/ksh 112246149Ssjg 113246149Ssjg.if exists(/usr/local/bin/bison) 114246149SsjgYACC= bison -y 115246149Ssjg.else 116246149SsjgYACC= yacc 117246149Ssjg.endif 118246149SsjgYFLAGS= -d 119246149SsjgYACC.y= ${YACC} ${YFLAGS} 120246149Ssjg 121246149Ssjg# C 122246149Ssjg.c: 123246149Ssjg ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 124246149Ssjg.c.o: 125246149Ssjg ${COMPILE.c} ${.IMPSRC} 126246149Ssjg.c.a: 127246149Ssjg ${COMPILE.c} ${.IMPSRC} 128246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 129246149Ssjg rm -f $*.o 130246149Ssjg 131246149Ssjg# C++ 132300313Ssjg${CXX_SUFFIXES}: 133246149Ssjg ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 134300313Ssjg${CXX_SUFFIXES:%=%.o}: 135246149Ssjg ${COMPILE.cc} ${.IMPSRC} 136300313Ssjg${CXX_SUFFIXES:%=%.a}: 137246149Ssjg ${COMPILE.cc} ${.IMPSRC} 138246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 139246149Ssjg rm -f $*.o 140246149Ssjg 141246149Ssjg# Fortran/Ratfor 142246149Ssjg.f: 143246149Ssjg ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 144246149Ssjg.f.o: 145246149Ssjg ${COMPILE.f} ${.IMPSRC} 146246149Ssjg.f.a: 147246149Ssjg ${COMPILE.f} ${.IMPSRC} 148246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 149246149Ssjg rm -f $*.o 150246149Ssjg 151246149Ssjg.F: 152246149Ssjg ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 153246149Ssjg.F.o: 154246149Ssjg ${COMPILE.F} ${.IMPSRC} 155246149Ssjg.F.a: 156246149Ssjg ${COMPILE.F} ${.IMPSRC} 157246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 158246149Ssjg rm -f $*.o 159246149Ssjg 160246149Ssjg.r: 161246149Ssjg ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 162246149Ssjg.r.o: 163246149Ssjg ${COMPILE.r} ${.IMPSRC} 164246149Ssjg.r.a: 165246149Ssjg ${COMPILE.r} ${.IMPSRC} 166246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 167246149Ssjg rm -f $*.o 168246149Ssjg 169246149Ssjg# Pascal 170246149Ssjg.p: 171246149Ssjg ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 172246149Ssjg.p.o: 173246149Ssjg ${COMPILE.p} ${.IMPSRC} 174246149Ssjg.p.a: 175246149Ssjg ${COMPILE.p} ${.IMPSRC} 176246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 177246149Ssjg rm -f $*.o 178246149Ssjg 179246149Ssjg# Assembly 180246149Ssjg.s: 181246149Ssjg ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 182246149Ssjg.s.o: 183246149Ssjg ${COMPILE.s} -o ${.TARGET} ${.IMPSRC} 184246149Ssjg.s.a: 185246149Ssjg ${COMPILE.s} ${.IMPSRC} 186246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 187246149Ssjg rm -f $*.o 188246149Ssjg.S: 189246149Ssjg ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 190246149Ssjg.S.o: 191246149Ssjg ${COMPILE.S} ${.IMPSRC} 192246149Ssjg.S.a: 193246149Ssjg ${COMPILE.S} ${.IMPSRC} 194246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 195246149Ssjg rm -f $*.o 196246149Ssjg 197246149Ssjg# Lex 198246149Ssjg.l: 199246149Ssjg ${LEX.l} ${.IMPSRC} 200246149Ssjg ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 201246149Ssjg rm -f lex.yy.c 202246149Ssjg.l.c: 203246149Ssjg ${LEX.l} ${.IMPSRC} 204246149Ssjg mv lex.yy.c ${.TARGET} 205246149Ssjg.l.o: 206246149Ssjg ${LEX.l} ${.IMPSRC} 207246149Ssjg ${COMPILE.c} -o ${.TARGET} lex.yy.c 208246149Ssjg rm -f lex.yy.c 209246149Ssjg 210246149Ssjg# Yacc 211246149Ssjg.y: 212246149Ssjg ${YACC.y} ${.IMPSRC} 213246149Ssjg ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 214246149Ssjg rm -f y.tab.c 215246149Ssjg.y.c: 216246149Ssjg ${YACC.y} ${.IMPSRC} 217246149Ssjg mv y.tab.c ${.TARGET} 218246149Ssjg.y.o: 219246149Ssjg ${YACC.y} ${.IMPSRC} 220246149Ssjg ${COMPILE.c} -o ${.TARGET} y.tab.c 221246149Ssjg rm -f y.tab.c 222246149Ssjg 223246149Ssjg# Shell 224246149Ssjg.sh: 225246149Ssjg rm -f ${.TARGET} 226246149Ssjg cp ${.IMPSRC} ${.TARGET} 227