1246149Ssjg# $Id: HP-UX.mk,v 1.9 2003/09/30 16:42:23 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 17246149Ssjg.SUFFIXES: .out .a .ln .o .c .cc .C .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++ 134246149Ssjg.cc: 135246149Ssjg ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 136246149Ssjg.cc.o: 137246149Ssjg ${COMPILE.cc} ${.IMPSRC} 138246149Ssjg.cc.a: 139246149Ssjg ${COMPILE.cc} ${.IMPSRC} 140246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 141246149Ssjg rm -f $*.o 142246149Ssjg 143246149Ssjg.C: 144246149Ssjg ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 145246149Ssjg.C.o: 146246149Ssjg ${COMPILE.cc} ${.IMPSRC} 147246149Ssjg.C.a: 148246149Ssjg ${COMPILE.cc} ${.IMPSRC} 149246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 150246149Ssjg rm -f $*.o 151246149Ssjg 152246149Ssjg# Fortran/Ratfor 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.F: 163246149Ssjg ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 164246149Ssjg.F.o: 165246149Ssjg ${COMPILE.F} ${.IMPSRC} 166246149Ssjg.F.a: 167246149Ssjg ${COMPILE.F} ${.IMPSRC} 168246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 169246149Ssjg rm -f $*.o 170246149Ssjg 171246149Ssjg.r: 172246149Ssjg ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 173246149Ssjg.r.o: 174246149Ssjg ${COMPILE.r} ${.IMPSRC} 175246149Ssjg.r.a: 176246149Ssjg ${COMPILE.r} ${.IMPSRC} 177246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 178246149Ssjg rm -f $*.o 179246149Ssjg 180246149Ssjg# Pascal 181246149Ssjg.p: 182246149Ssjg ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 183246149Ssjg.p.o: 184246149Ssjg ${COMPILE.p} ${.IMPSRC} 185246149Ssjg.p.a: 186246149Ssjg ${COMPILE.p} ${.IMPSRC} 187246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 188246149Ssjg rm -f $*.o 189246149Ssjg 190246149Ssjg# Assembly 191246149Ssjg.s: 192246149Ssjg ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 193246149Ssjg.s.o: 194246149Ssjg ${COMPILE.s} -o ${.TARGET} ${.IMPSRC} 195246149Ssjg.s.a: 196246149Ssjg ${COMPILE.s} ${.IMPSRC} 197246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 198246149Ssjg rm -f $*.o 199246149Ssjg.S: 200246149Ssjg ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 201246149Ssjg.S.o: 202246149Ssjg ${COMPILE.S} ${.IMPSRC} 203246149Ssjg.S.a: 204246149Ssjg ${COMPILE.S} ${.IMPSRC} 205246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 206246149Ssjg rm -f $*.o 207246149Ssjg 208246149Ssjg# Lex 209246149Ssjg.l: 210246149Ssjg ${LEX.l} ${.IMPSRC} 211246149Ssjg ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 212246149Ssjg rm -f lex.yy.c 213246149Ssjg.l.c: 214246149Ssjg ${LEX.l} ${.IMPSRC} 215246149Ssjg mv lex.yy.c ${.TARGET} 216246149Ssjg.l.o: 217246149Ssjg ${LEX.l} ${.IMPSRC} 218246149Ssjg ${COMPILE.c} -o ${.TARGET} lex.yy.c 219246149Ssjg rm -f lex.yy.c 220246149Ssjg 221246149Ssjg# Yacc 222246149Ssjg.y: 223246149Ssjg ${YACC.y} ${.IMPSRC} 224246149Ssjg ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 225246149Ssjg rm -f y.tab.c 226246149Ssjg.y.c: 227246149Ssjg ${YACC.y} ${.IMPSRC} 228246149Ssjg mv y.tab.c ${.TARGET} 229246149Ssjg.y.o: 230246149Ssjg ${YACC.y} ${.IMPSRC} 231246149Ssjg ${COMPILE.c} -o ${.TARGET} y.tab.c 232246149Ssjg rm -f y.tab.c 233246149Ssjg 234246149Ssjg# Shell 235246149Ssjg.sh: 236246149Ssjg rm -f ${.TARGET} 237246149Ssjg cp ${.IMPSRC} ${.TARGET} 238