1 # $NetBSD: sys.mk,v 1.17 1994/06/30 05:31:24 cgd Exp $ 2 # @(#)sys.mk 5.11 (Berkeley) 3/13/91 3 4 unix= We run NetBSD. 5 6 .SUFFIXES: .out .a .ln .o .c .cc .C .F .f .r .y .l .s .S .cl .p .h .sh 7 8 .LIBS: .a 9 10 AR= ar 11 ARFLAGS= rl 12 RANLIB= ranlib 13 14 AS= as 15 AFLAGS= 16 COMPILE.s= ${AS} ${AFLAGS} 17 LINK.s= ${CC} ${AFLAGS} ${LDFLAGS} 18 COMPILE.S= ${CC} ${AFLAGS} ${CPPFLAGS} -c 19 LINK.S= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS} 20 21 CC= cc 22 CFLAGS= -O 23 COMPILE.c= ${CC} ${CFLAGS} ${CPPFLAGS} -c 24 LINK.c= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} 25 26 CXX= g++ 27 CXXFLAGS= ${CFLAGS} 28 COMPILE.cc= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c 29 LINK.cc= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} 30 31 CPP= cpp 32 CPPFLAGS= 33 34 FC= f77 35 FFLAGS= -O 36 RFLAGS= 37 COMPILE.f= ${FC} ${FFLAGS} -c 38 LINK.f= ${FC} ${FFLAGS} ${LDFLAGS} 39 COMPILE.F= ${FC} ${FFLAGS} ${CPPFLAGS} -c 40 LINK.F= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS} 41 COMPILE.r= ${FC} ${FFLAGS} ${RFLAGS} -c 42 LINK.r= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS} 43 44 LEX= lex 45 LFLAGS= 46 LEX.l= ${LEX} ${LFLAGS} 47 48 LD= ld 49 LDFLAGS= 50 51 LINT= lint 52 LINTFLAGS= -chapbx 53 54 MAKE= make 55 56 PC= pc 57 PFLAGS= 58 COMPILE.p= ${PC} ${PFLAGS} ${CPPFLAGS} -c 59 LINK.p= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 60 61 SHELL= sh 62 63 YACC= yacc 64 YFLAGS= -d 65 YACC.y= ${YACC} ${YFLAGS} 66 67 # C 68 .c: 69 ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 70 .c.o: 71 ${COMPILE.c} ${.IMPSRC} 72 .c.a: 73 ${COMPILE.c} ${.IMPSRC} 74 ${AR} ${ARFLAGS} $@ $*.o 75 rm -f $*.o 76 77 # C++ 78 .cc: 79 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 80 .cc.o: 81 ${COMPILE.cc} ${.IMPSRC} 82 .cc.a: 83 ${COMPILE.cc} ${.IMPSRC} 84 ${AR} ${ARFLAGS} $@ $*.o 85 rm -f $*.o 86 87 .C: 88 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 89 .C.o: 90 ${COMPILE.cc} ${.IMPSRC} 91 .C.a: 92 ${COMPILE.cc} ${.IMPSRC} 93 ${AR} ${ARFLAGS} $@ $*.o 94 rm -f $*.o 95 96 # Fortran/Ratfor 97 .f: 98 ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 99 .f.o: 100 ${COMPILE.f} ${.IMPSRC} 101 .f.a: 102 ${COMPILE.f} ${.IMPSRC} 103 ${AR} ${ARFLAGS} $@ $*.o 104 rm -f $*.o 105 106 .F: 107 ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 108 .F.o: 109 ${COMPILE.F} ${.IMPSRC} 110 .F.a: 111 ${COMPILE.F} ${.IMPSRC} 112 ${AR} ${ARFLAGS} $@ $*.o 113 rm -f $*.o 114 115 .r: 116 ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 117 .r.o: 118 ${COMPILE.r} ${.IMPSRC} 119 .r.a: 120 ${COMPILE.r} ${.IMPSRC} 121 ${AR} ${ARFLAGS} $@ $*.o 122 rm -f $*.o 123 124 # Pascal 125 .p: 126 ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 127 .p.o: 128 ${COMPILE.p} ${.IMPSRC} 129 .p.a: 130 ${COMPILE.p} ${.IMPSRC} 131 ${AR} ${ARFLAGS} $@ $*.o 132 rm -f $*.o 133 134 # Assembly 135 .s: 136 ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 137 .s.o: 138 ${COMPILE.s} ${.IMPSRC} 139 .s.a: 140 ${COMPILE.s} ${.IMPSRC} 141 ${AR} ${ARFLAGS} $@ $*.o 142 rm -f $*.o 143 .S: 144 ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 145 .S.o: 146 ${COMPILE.S} ${.IMPSRC} 147 .S.a: 148 ${COMPILE.S} ${.IMPSRC} 149 ${AR} ${ARFLAGS} $@ $*.o 150 rm -f $*.o 151 152 # Lex 153 .l: 154 ${LEX.l} ${.IMPSRC} 155 ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 156 rm -f lex.yy.c 157 .l.c: 158 ${LEX.l} ${.IMPSRC} 159 mv lex.yy.c ${.TARGET} 160 .l.o: 161 ${LEX.l} ${.IMPSRC} 162 ${COMPILE.c} -o ${.TARGET} lex.yy.c 163 rm -f lex.yy.c 164 165 # Yacc 166 .y: 167 ${YACC.y} ${.IMPSRC} 168 ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 169 rm -f y.tab.c 170 .y.c: 171 ${YACC.y} ${.IMPSRC} 172 mv y.tab.c ${.TARGET} 173 .y.o: 174 ${YACC.y} ${.IMPSRC} 175 ${COMPILE.c} -o ${.TARGET} y.tab.c 176 rm -f y.tab.c 177 178 # Shell 179 .sh: 180 rm -f ${.TARGET} 181 cp ${.IMPSRC} ${.TARGET} 182 183 # should only be done in 'bsd make' environments, i.e. where using bsd.xxx.mk 184 # file, but that's somewhat more difficult... 185 .include <bsd.own.mk> 186