1# $NetBSD: Darwin.sys.mk,v 1.3 2003/02/16 09:44:41 grant Exp $ 2# @(#)sys.mk 8.2 (Berkeley) 3/21/94 3 4OS= Darwin 5unix?= We run ${OS}. 6 7.SUFFIXES: .out .a .ln .o .s .S .c .cc .cpp .cxx .C .F .f .r .y .l .cl .p .h 8.SUFFIXES: .sh .m4 .dylib 9 10.LIBS: .a .dylib 11 12SHLIBEXT = .dylib 13HOST_LIBEXT = .dylib 14DSHLIBEXT = .dylib 15 16AR?= ar 17ARFLAGS?= rl 18RANLIB = 19 20AS?= as 21AFLAGS?= 22COMPILE.s?= ${AS} ${AFLAGS} 23LINK.s?= ${CC} ${AFLAGS} ${LDFLAGS} 24COMPILE.S?= ${CC} ${AFLAGS} ${CPPFLAGS} -c 25LINK.S?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS} 26 27.if exists(/usr/bin/gcc) 28CC?= gcc -pipe 29.else 30CC?= cc -pipe 31.endif 32DBG?= -O2 33CFLAGS?= ${DBG} 34COMPILE.c?= ${CC} ${CFLAGS} ${CPPFLAGS} -c 35LINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} 36 37.if exists(/usr/bin/g++) 38CXX?= g++ 39.else 40CXX?= c++ 41.endif 42CXXFLAGS?= ${CFLAGS} 43COMPILE.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c 44LINK.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} 45 46OBJC?= ${CC} 47OBJCFLAGS?= ${CFLAGS} 48COMPILE.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c 49LINK.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS} 50 51CPP?= cpp 52NOLINT= 1 53CPPFLAGS?= 54 55MK_DEP?= mkdeps.sh -N 56 57FC?= f77 58FFLAGS?= -O 59RFLAGS?= 60COMPILE.f?= ${FC} ${FFLAGS} -c 61LINK.f?= ${FC} ${FFLAGS} ${LDFLAGS} 62COMPILE.F?= ${FC} ${FFLAGS} ${CPPFLAGS} -c 63LINK.F?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS} 64COMPILE.r?= ${FC} ${FFLAGS} ${RFLAGS} -c 65LINK.r?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS} 66 67INSTALL?= install 68 69LEX?= lex 70LFLAGS?= 71LEX.l?= ${LEX} ${LFLAGS} 72 73LD?= ld 74LDFLAGS?= 75 76SHLIB_TEENY = 0 77SHLIB_MINOR = 0 78 79MKPICLIB = no 80LIBEXT = .dylib 81 82LINT?= lint 83LINTFLAGS?= -chapbx 84 85LORDER?= lorder 86 87MAKE?= bmake 88 89NM?= nm 90 91PC?= pc 92PFLAGS?= 93COMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c 94LINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 95 96SHELL?= sh 97 98SIZE?= size 99 100TSORT?= tsort -q 101 102YACC?= bison -y 103YFLAGS?= -d 104YACC.y?= ${YACC} ${YFLAGS} 105 106# C 107.c: 108 ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 109.c.o: 110 ${COMPILE.c} ${.IMPSRC} 111.c.a: 112 ${COMPILE.c} ${.IMPSRC} 113 ${AR} ${ARFLAGS} $@ $*.o 114 rm -f $*.o 115 116# C++ 117.cc: 118 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 119.cc.o: 120 ${COMPILE.cc} ${.IMPSRC} 121.cc.a: 122 ${COMPILE.cc} ${.IMPSRC} 123 ${AR} ${ARFLAGS} $@ $*.o 124 rm -f $*.o 125 126.C: 127 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 128.C.o: 129 ${COMPILE.cc} ${.IMPSRC} 130.C.a: 131 ${COMPILE.cc} ${.IMPSRC} 132 ${AR} ${ARFLAGS} $@ $*.o 133 rm -f $*.o 134 135# Fortran/Ratfor 136.f: 137 ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 138.f.o: 139 ${COMPILE.f} ${.IMPSRC} 140.f.a: 141 ${COMPILE.f} ${.IMPSRC} 142 ${AR} ${ARFLAGS} $@ $*.o 143 rm -f $*.o 144 145.F: 146 ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 147.F.o: 148 ${COMPILE.F} ${.IMPSRC} 149.F.a: 150 ${COMPILE.F} ${.IMPSRC} 151 ${AR} ${ARFLAGS} $@ $*.o 152 rm -f $*.o 153 154.r: 155 ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 156.r.o: 157 ${COMPILE.r} ${.IMPSRC} 158.r.a: 159 ${COMPILE.r} ${.IMPSRC} 160 ${AR} ${ARFLAGS} $@ $*.o 161 rm -f $*.o 162 163# Pascal 164.p: 165 ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 166.p.o: 167 ${COMPILE.p} ${.IMPSRC} 168.p.a: 169 ${COMPILE.p} ${.IMPSRC} 170 ${AR} ${ARFLAGS} $@ $*.o 171 rm -f $*.o 172 173# Assembly 174.s: 175 ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 176.s.o: 177 ${COMPILE.s} -o ${.TARGET} ${.IMPSRC} 178.s.a: 179 ${COMPILE.s} ${.IMPSRC} 180 ${AR} ${ARFLAGS} $@ $*.o 181 rm -f $*.o 182.S: 183 ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 184.S.o: 185 ${COMPILE.S} ${.IMPSRC} 186.S.a: 187 ${COMPILE.S} ${.IMPSRC} 188 ${AR} ${ARFLAGS} $@ $*.o 189 rm -f $*.o 190 191# Lex 192.l: 193 ${LEX.l} ${.IMPSRC} 194 ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 195 rm -f lex.yy.c 196.l.c: 197 ${LEX.l} ${.IMPSRC} 198 mv lex.yy.c ${.TARGET} 199.l.o: 200 ${LEX.l} ${.IMPSRC} 201 ${COMPILE.c} -o ${.TARGET} lex.yy.c 202 rm -f lex.yy.c 203 204# Yacc 205.y: 206 ${YACC.y} ${.IMPSRC} 207 ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 208 rm -f y.tab.c 209.y.c: 210 ${YACC.y} ${.IMPSRC} 211 mv y.tab.c ${.TARGET} 212.y.o: 213 ${YACC.y} ${.IMPSRC} 214 ${COMPILE.c} -o ${.TARGET} y.tab.c 215 rm -f y.tab.c 216 217# Shell 218.sh: 219 rm -f ${.TARGET} 220 cp ${.IMPSRC} ${.TARGET} 221