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