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