1 # $Id: UnixWare.mk,v 1.10 2022/03/25 23:43:06 sjg Exp $ 2 # based on "Id: SunOS.5.sys.mk,v 1.6 2003/09/30 16:42:23 sjg Exp " 3 # $NetBSD: sys.mk,v 1.19.2.1 1994/07/26 19:58:31 cgd Exp $ 4 # @(#)sys.mk 5.11 (Berkeley) 3/13/91 5 6 OS ?= UnixWare 7 OS_DEF_FLAG ?= -DUNIXWARE 8 unix ?= We run ${OS}. 9 ROOT_GROUP ?= root 10 DEV_TOOLS_PREFIX ?= /usr/local 11 12 # can't find one anywhere, so just stop the dependency 13 LIBCRT0 ?= /dev/null 14 15 PATH ?= /usr/sbin:/usr/bin:/usr/ccs/bin:/usr/ccs/lib:/usr/ucb:${DEV_TOOLS_PREFIX}/bin 16 17 .SUFFIXES: .out .a .ln .o .c ${CXX_SUFFIXES} .F .f .r .y .l .s .S .cl .p .h .sh .m4 18 19 .LIBS: .a 20 21 # no -X 22 LD_X= 23 LD_x= 24 AR ?= ar 25 ARFLAGS ?= r 26 RANLIB ?= : 27 28 AS ?= as 29 AS_STDIN ?= - 30 AFLAGS ?= 31 COMPILE.s ?= ${AS} ${AFLAGS} 32 LINK.s ?= ${CC} ${AFLAGS} ${LDFLAGS} 33 COMPILE.S ?= ${CC} ${AFLAGS} ${CPPFLAGS} -c 34 LINK.S ?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS} 35 36 # at least gcc 2.95 on UnixWare has no internal macro to identify the system 37 .if exists(${DEV_TOOLS_PREFIX}/bin/gcc) 38 CC ?= gcc -pipe ${OS_DEF_FLAG} 39 DBG ?= -O -g 40 STATIC ?= -static 41 .else 42 CC ?= cc 43 DBG ?= -g 44 STATIC ?= -Bstatic # XXX: don't know about UDK compilers 45 .endif 46 CFLAGS ?= ${DBG} 47 COMPILE.c ?= ${CC} ${CFLAGS} ${CPPFLAGS} -c 48 LINK.c ?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} 49 50 .if exists(${DEV_TOOLS_PREFIX}/bin/g++) 51 CXX ?= g++ ${OS_DEF_FLAG} 52 .else 53 CXX ?= c++ # XXX: don't know about UDK compilers 54 .endif 55 CXXFLAGS ?= ${CFLAGS} 56 COMPILE.cc ?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c 57 LINK.cc ?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} 58 59 .if exists(${DEV_TOOLS_PREFIX}/bin/cpp) 60 CPP ?= cpp 61 .else 62 CPP ?= /usr/ccs/lib/cpp 63 .endif 64 .if defined(DESTDIR) 65 CPPFLAGS+= -nostdinc -idirafter ${DESTDIR}/usr/include 66 .endif 67 68 MK_DEP ?= mkdeps.sh -N 69 .if exists(${DEV_TOOLS_PREFIX}/bin/g77) 70 FC ?= g77 71 .else 72 FC ?= f77 # XXX: don't know about UDK compilers 73 .endif 74 FFLAGS ?= -O 75 RFLAGS ?= 76 COMPILE.f ?= ${FC} ${FFLAGS} -c 77 LINK.f ?= ${FC} ${FFLAGS} ${LDFLAGS} 78 COMPILE.F ?= ${FC} ${FFLAGS} ${CPPFLAGS} -c 79 LINK.F ?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS} 80 COMPILE.r ?= ${FC} ${FFLAGS} ${RFLAGS} -c 81 LINK.r ?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS} 82 83 INSTALL ?= /usr/ucb/install # BSD install 84 85 LEX ?= lex 86 LFLAGS ?= 87 LEX.l ?= ${LEX} ${LFLAGS} 88 89 LD ?= ld 90 LDFLAGS ?= 91 92 LIBC ?= ${DESTDIR}/usr/ccs/lib/libc.a 93 LIBCOMPAT ?= 94 LIBCRYPT ?= ${DESTDIR}/usr/lib/libcrypt.a 95 LIBCURSES ?= ${DESTDIR}/usr/ccs/lib/libcurses.a 96 LIBDBM ?= 97 LIBDES ?= 98 LIBEDIT ?= 99 LIBGCC ?= 100 LIBKDB ?= 101 LIBKRB ?= 102 LIBKVM ?= 103 LIBL ?= ${DESTDIR}/usr/ccs/lib/libl.a 104 LIBM ?= ${DESTDIR}/usr/ccs/lib/libm.a 105 LIBMP ?= 106 LIBPC ?= 107 LIBPCAP ?= 108 LIBPLOT ?= 109 LIBRESOLV ?= 110 LIBRPCSVC ?= ${DESTDIR}/usr/lib/librpcsvc.a 111 LIBSKEY ?= ${DESTDIR}/usr/lib/libskey.a 112 LIBTERMCAP ?= ${DESTDIR}/usr/ccs/lib/libtermcap.a 113 LIBUTIL ?= 114 LIBWRAP ?= 115 LIBY ?= ${DESTDIR}/usr/ccs/lib/liby.a 116 LIBZ ?= 117 118 LINT ?= lint 119 LINTFLAGS ?= -pF 120 121 LORDER ?= lorder 122 123 NM ?= nm 124 125 PC ?= pc # XXX: UDK probably does not have pc 126 PFLAGS ?= 127 COMPILE.p ?= ${PC} ${PFLAGS} ${CPPFLAGS} -c 128 LINK.p ?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 129 130 SIZE ?= size 131 132 TSORT ?= tsort 133 134 .if exists(${DEV_TOOLS_PREFIX}/bin/bison) 135 YACC ?= bison -y 136 .else 137 YACC ?= yacc 138 .endif 139 YFLAGS ?= -d 140 YACC.y ?= ${YACC} ${YFLAGS} 141 142 # C 143 .c: 144 ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 145 .c.o: 146 ${COMPILE.c} ${.IMPSRC} 147 .c.a: 148 ${COMPILE.c} ${.IMPSRC} 149 ${AR} ${ARFLAGS} $@ $*.o 150 rm -f $*.o 151 152 # C++ 153 ${CXX_SUFFIXES}: 154 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 155 ${CXX_SUFFIXES:%=%.o}: 156 ${COMPILE.cc} ${.IMPSRC} 157 ${CXX_SUFFIXES:%=%.a}: 158 ${COMPILE.cc} ${.IMPSRC} 159 ${AR} ${ARFLAGS} $@ $*.o 160 rm -f $*.o 161 162 # Fortran/Ratfor 163 .f: 164 ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 165 .f.o: 166 ${COMPILE.f} ${.IMPSRC} 167 .f.a: 168 ${COMPILE.f} ${.IMPSRC} 169 ${AR} ${ARFLAGS} $@ $*.o 170 rm -f $*.o 171 172 .F: 173 ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 174 .F.o: 175 ${COMPILE.F} ${.IMPSRC} 176 .F.a: 177 ${COMPILE.F} ${.IMPSRC} 178 ${AR} ${ARFLAGS} $@ $*.o 179 rm -f $*.o 180 181 .r: 182 ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 183 .r.o: 184 ${COMPILE.r} ${.IMPSRC} 185 .r.a: 186 ${COMPILE.r} ${.IMPSRC} 187 ${AR} ${ARFLAGS} $@ $*.o 188 rm -f $*.o 189 190 # Pascal 191 .p: 192 ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 193 .p.o: 194 ${COMPILE.p} ${.IMPSRC} 195 .p.a: 196 ${COMPILE.p} ${.IMPSRC} 197 ${AR} ${ARFLAGS} $@ $*.o 198 rm -f $*.o 199 200 # Assembly 201 .s: 202 ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 203 .s.o: 204 ${COMPILE.s} ${.IMPSRC} 205 .s.a: 206 ${COMPILE.s} ${.IMPSRC} 207 ${AR} ${ARFLAGS} $@ $*.o 208 rm -f $*.o 209 .S: 210 ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 211 .S.o: 212 ${COMPILE.S} ${.IMPSRC} 213 .S.a: 214 ${COMPILE.S} ${.IMPSRC} 215 ${AR} ${ARFLAGS} $@ $*.o 216 rm -f $*.o 217 218 # Lex 219 .l: 220 ${LEX.l} ${.IMPSRC} 221 ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 222 rm -f lex.yy.c 223 .l.c: 224 ${LEX.l} ${.IMPSRC} 225 mv lex.yy.c ${.TARGET} 226 .l.o: 227 ${LEX.l} ${.IMPSRC} 228 ${COMPILE.c} -o ${.TARGET} lex.yy.c 229 rm -f lex.yy.c 230 231 # Yacc 232 .y: 233 ${YACC.y} ${.IMPSRC} 234 ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 235 rm -f y.tab.c 236 .y.c: 237 ${YACC.y} ${.IMPSRC} 238 mv y.tab.c ${.TARGET} 239 .y.o: 240 ${YACC.y} ${.IMPSRC} 241 ${COMPILE.c} -o ${.TARGET} y.tab.c 242 rm -f y.tab.c 243 244 # Shell 245 .sh: 246 rm -f ${.TARGET} 247 cp ${.IMPSRC} ${.TARGET} 248 chmod a+x ${.TARGET} 249