1 # $NetBSD: sys.mk,v 1.19 1994/07/06 04:12:24 mycroft 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 .m4 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 .if defined(DESTDIR) 33 CPPFLAGS+= -nostdinc -idirafter ${DESTDIR}/usr/include 34 .endif 35 36 FC= f77 37 FFLAGS= -O 38 RFLAGS= 39 COMPILE.f= ${FC} ${FFLAGS} -c 40 LINK.f= ${FC} ${FFLAGS} ${LDFLAGS} 41 COMPILE.F= ${FC} ${FFLAGS} ${CPPFLAGS} -c 42 LINK.F= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS} 43 COMPILE.r= ${FC} ${FFLAGS} ${RFLAGS} -c 44 LINK.r= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS} 45 46 LEX= lex 47 LFLAGS= 48 LEX.l= ${LEX} ${LFLAGS} 49 50 LD= ld 51 LDFLAGS= 52 53 LINT= lint 54 LINTFLAGS= -chapbx 55 56 MAKE= make 57 58 PC= pc 59 PFLAGS= 60 COMPILE.p= ${PC} ${PFLAGS} ${CPPFLAGS} -c 61 LINK.p= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 62 63 SHELL= sh 64 65 YACC= yacc 66 YFLAGS= -d 67 YACC.y= ${YACC} ${YFLAGS} 68 69 # C 70 .c: 71 ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 72 .c.o: 73 ${COMPILE.c} ${.IMPSRC} 74 .c.a: 75 ${COMPILE.c} ${.IMPSRC} 76 ${AR} ${ARFLAGS} $@ $*.o 77 rm -f $*.o 78 79 # C++ 80 .cc: 81 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 82 .cc.o: 83 ${COMPILE.cc} ${.IMPSRC} 84 .cc.a: 85 ${COMPILE.cc} ${.IMPSRC} 86 ${AR} ${ARFLAGS} $@ $*.o 87 rm -f $*.o 88 89 .C: 90 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 91 .C.o: 92 ${COMPILE.cc} ${.IMPSRC} 93 .C.a: 94 ${COMPILE.cc} ${.IMPSRC} 95 ${AR} ${ARFLAGS} $@ $*.o 96 rm -f $*.o 97 98 # Fortran/Ratfor 99 .f: 100 ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 101 .f.o: 102 ${COMPILE.f} ${.IMPSRC} 103 .f.a: 104 ${COMPILE.f} ${.IMPSRC} 105 ${AR} ${ARFLAGS} $@ $*.o 106 rm -f $*.o 107 108 .F: 109 ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 110 .F.o: 111 ${COMPILE.F} ${.IMPSRC} 112 .F.a: 113 ${COMPILE.F} ${.IMPSRC} 114 ${AR} ${ARFLAGS} $@ $*.o 115 rm -f $*.o 116 117 .r: 118 ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 119 .r.o: 120 ${COMPILE.r} ${.IMPSRC} 121 .r.a: 122 ${COMPILE.r} ${.IMPSRC} 123 ${AR} ${ARFLAGS} $@ $*.o 124 rm -f $*.o 125 126 # Pascal 127 .p: 128 ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 129 .p.o: 130 ${COMPILE.p} ${.IMPSRC} 131 .p.a: 132 ${COMPILE.p} ${.IMPSRC} 133 ${AR} ${ARFLAGS} $@ $*.o 134 rm -f $*.o 135 136 # Assembly 137 .s: 138 ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 139 .s.o: 140 ${COMPILE.s} ${.IMPSRC} 141 .s.a: 142 ${COMPILE.s} ${.IMPSRC} 143 ${AR} ${ARFLAGS} $@ $*.o 144 rm -f $*.o 145 .S: 146 ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 147 .S.o: 148 ${COMPILE.S} ${.IMPSRC} 149 .S.a: 150 ${COMPILE.S} ${.IMPSRC} 151 ${AR} ${ARFLAGS} $@ $*.o 152 rm -f $*.o 153 154 # Lex 155 .l: 156 ${LEX.l} ${.IMPSRC} 157 ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 158 rm -f lex.yy.c 159 .l.c: 160 ${LEX.l} ${.IMPSRC} 161 mv lex.yy.c ${.TARGET} 162 .l.o: 163 ${LEX.l} ${.IMPSRC} 164 ${COMPILE.c} -o ${.TARGET} lex.yy.c 165 rm -f lex.yy.c 166 167 # Yacc 168 .y: 169 ${YACC.y} ${.IMPSRC} 170 ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 171 rm -f y.tab.c 172 .y.c: 173 ${YACC.y} ${.IMPSRC} 174 mv y.tab.c ${.TARGET} 175 .y.o: 176 ${YACC.y} ${.IMPSRC} 177 ${COMPILE.c} -o ${.TARGET} y.tab.c 178 rm -f y.tab.c 179 180 # Shell 181 .sh: 182 rm -f ${.TARGET} 183 cp ${.IMPSRC} ${.TARGET} 184 185 # should only be done in 'bsd make' environments, i.e. where using bsd.xxx.mk 186 # file, but that's somewhat more difficult... 187 .include <bsd.own.mk> 188