Added various COMPILE.? & LINK.? macros and changed suffix rules to use
them (Like Sun & GNU make).
This commit is contained in:
parent
f8e2732fe8
commit
4051de5f84
214
share/mk/sys.mk
214
share/mk/sys.mk
@ -1,9 +1,9 @@
|
||||
# from: @(#)sys.mk 5.11 (Berkeley) 3/13/91
|
||||
# $Id: sys.mk,v 1.14 1994/03/24 01:39:28 jtc Exp $
|
||||
# $Id: sys.mk,v 1.15 1994/03/24 16:01:24 jtc Exp $
|
||||
|
||||
unix= We run UNIX.
|
||||
|
||||
.SUFFIXES: .out .a .ln .o .c .cc .C .F .f .e .r .y .l .s .S .cl .p .h .sh
|
||||
.SUFFIXES: .out .a .ln .o .c .cc .C .F .f .r .y .l .s .S .cl .p .h .sh
|
||||
|
||||
.LIBS: .a
|
||||
|
||||
@ -13,21 +13,37 @@ RANLIB= ranlib
|
||||
|
||||
AS= as
|
||||
AFLAGS=
|
||||
|
||||
COMPILE.s= ${AS} ${AFLAGS}
|
||||
LINK.s= ${CC} ${AFLAGS} ${LDFLAGS}
|
||||
COMPILE.S= ${CC} ${AFLAGS} ${CPPFLAGS} -c
|
||||
LINK.S= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
|
||||
|
||||
CC= cc
|
||||
CFLAGS= -O
|
||||
COMPILE.c= ${CC} ${CFLAGS} ${CPPFLAGS} -c
|
||||
LINK.c= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
|
||||
|
||||
CXX= g++
|
||||
CXXFLAGS= ${CFLAGS}
|
||||
COMPILE.cc= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
|
||||
LINK.cc= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
|
||||
|
||||
CPP= cpp
|
||||
CPPFLAGS=
|
||||
|
||||
FC= f77
|
||||
FFLAGS= -O
|
||||
EFLAGS=
|
||||
RFLAGS=
|
||||
COMPILE.f= ${FC} ${FFLAGS} -c
|
||||
LINK.f= ${FC} ${FFLAGS} ${LDFLAGS}
|
||||
COMPILE.F= ${FC} ${FFLAGS} ${CPPFLAGS} -c
|
||||
LINK.F= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
|
||||
COMPILE.r= ${FC} ${FFLAGS} ${RFLAGS} -c
|
||||
LINK.r= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
|
||||
|
||||
LEX= lex
|
||||
LFLAGS=
|
||||
LEX.l= ${LEX} ${LFLAGS}
|
||||
|
||||
LD= ld
|
||||
LDFLAGS=
|
||||
@ -39,107 +55,127 @@ MAKE= make
|
||||
|
||||
PC= pc
|
||||
PFLAGS=
|
||||
|
||||
RC= f77
|
||||
RFLAGS=
|
||||
COMPILE.p= ${PC} ${PFLAGS} ${CPPFLAGS} -c
|
||||
LINK.p= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
|
||||
|
||||
SHELL= sh
|
||||
|
||||
YACC= yacc
|
||||
YFLAGS= -d
|
||||
YACC.y= ${YACC} ${YFLAGS}
|
||||
|
||||
# single suffix rules
|
||||
# C
|
||||
.c:
|
||||
${CC} ${CFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
|
||||
${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
|
||||
.c.o:
|
||||
${COMPILE.c} ${.IMPSRC}
|
||||
.c.a:
|
||||
${COMPILE.c} ${.IMPSRC}
|
||||
${AR} ${ARFLAGS} $@ $*.o
|
||||
rm -f $*.o
|
||||
|
||||
.cc .C:
|
||||
${CXX} ${CXXFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
|
||||
# C++
|
||||
.cc:
|
||||
${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
|
||||
.cc.o:
|
||||
${COMPILE.cc} ${.IMPSRC}
|
||||
.cc.a:
|
||||
${COMPILE.cc} ${.IMPSRC}
|
||||
${AR} ${ARFLAGS} $@ $*.o
|
||||
rm -f $*.o
|
||||
|
||||
.e .r .F .f:
|
||||
${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
|
||||
.C:
|
||||
${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
|
||||
.C.o:
|
||||
${COMPILE.cc} ${.IMPSRC}
|
||||
.C.a:
|
||||
${COMPILE.cc} ${.IMPSRC}
|
||||
${AR} ${ARFLAGS} $@ $*.o
|
||||
rm -f $*.o
|
||||
|
||||
# Fortran/Ratfor
|
||||
.f:
|
||||
${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
|
||||
.f.o:
|
||||
${COMPILE.f} ${.IMPSRC}
|
||||
.f.a:
|
||||
${COMPILE.f} ${.IMPSRC}
|
||||
${AR} ${ARFLAGS} $@ $*.o
|
||||
rm -f $*.o
|
||||
|
||||
.F:
|
||||
${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
|
||||
.F.o:
|
||||
${COMPILE.F} ${.IMPSRC}
|
||||
.F.a:
|
||||
${COMPILE.F} ${.IMPSRC}
|
||||
${AR} ${ARFLAGS} $@ $*.o
|
||||
rm -f $*.o
|
||||
|
||||
.r:
|
||||
${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
|
||||
.r.o:
|
||||
${COMPILE.r} ${.IMPSRC}
|
||||
.r.a:
|
||||
${COMPILE.r} ${.IMPSRC}
|
||||
${AR} ${ARFLAGS} $@ $*.o
|
||||
rm -f $*.o
|
||||
|
||||
# Pascal
|
||||
.p:
|
||||
${PC} ${PFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
|
||||
${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
|
||||
.p.o:
|
||||
${COMPILE.p} ${.IMPSRC}
|
||||
.p.a:
|
||||
${COMPILE.p} ${.IMPSRC}
|
||||
${AR} ${ARFLAGS} $@ $*.o
|
||||
rm -f $*.o
|
||||
|
||||
.y:
|
||||
${YACC} ${YFLAGS} ${.IMPSRC}
|
||||
${CC} ${CFLAGS} y.tab.c ${LDLIBS} -ly -o ${.TARGET}
|
||||
rm -f y.tab.c
|
||||
# Assembly
|
||||
.s:
|
||||
${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
|
||||
.s.o:
|
||||
${COMPILE.s} ${.IMPSRC}
|
||||
.s.a:
|
||||
${COMPILE.s} ${.IMPSRC}
|
||||
${AR} ${ARFLAGS} $@ $*.o
|
||||
rm -f $*.o
|
||||
.S:
|
||||
${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
|
||||
.S.o:
|
||||
${COMPILE.S} ${.IMPSRC}
|
||||
.S.a:
|
||||
${COMPILE.S} ${.IMPSRC}
|
||||
${AR} ${ARFLAGS} $@ $*.o
|
||||
rm -f $*.o
|
||||
|
||||
# Lex
|
||||
.l:
|
||||
${LEX} ${LFLAGS} ${.IMPSRC}
|
||||
${CC} ${CFLAGS} lex.yy.c ${LDLIBS} -ll -o ${.TARGET}
|
||||
${LEX.l} ${.IMPSRC}
|
||||
${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
|
||||
rm -f lex.yy.c
|
||||
.l.c:
|
||||
${LEX.l} ${.IMPSRC}
|
||||
mv lex.yy.c ${.TARGET}
|
||||
.l.o:
|
||||
${LEX.l} ${.IMPSRC}
|
||||
${COMPILE.c} -o ${.TARGET} lex.yy.c
|
||||
rm -f lex.yy.c
|
||||
|
||||
# Yacc
|
||||
.y:
|
||||
${YACC.y} ${.IMPSRC}
|
||||
${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
|
||||
rm -f y.tab.c
|
||||
.y.c:
|
||||
${YACC.y} ${.IMPSRC}
|
||||
mv y.tab.c ${.TARGET}
|
||||
.y.o:
|
||||
${YACC.y} ${.IMPSRC}
|
||||
${COMPILE.c} -o ${.TARGET} y.tab.c
|
||||
rm -f y.tab.c
|
||||
|
||||
# Shell
|
||||
.sh:
|
||||
rm -f ${.TARGET}
|
||||
cp ${.IMPSRC} ${.TARGET}
|
||||
|
||||
|
||||
# double suffix rules
|
||||
.c.o:
|
||||
${CC} ${CFLAGS} -c ${.IMPSRC}
|
||||
|
||||
.cc.o .C.o:
|
||||
${CXX} ${CXXFLAGS} -c ${.IMPSRC}
|
||||
|
||||
.e.o .r.o .F.o .f.o:
|
||||
${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} -c ${.IMPSRC}
|
||||
|
||||
.p.o:
|
||||
${PC} ${PFLAGS} -c ${.IMPSRC}
|
||||
|
||||
.s.o:
|
||||
${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC}
|
||||
|
||||
.S.o:
|
||||
${CC} -E ${CFLAGS} ${AFLAGS} ${.IMPSRC} | as -o ${.TARGET}
|
||||
|
||||
.y.o:
|
||||
${YACC} ${YFLAGS} ${.IMPSRC}
|
||||
${CC} ${CFLAGS} -c y.tab.c -o ${.TARGET}
|
||||
rm -f y.tab.c
|
||||
|
||||
.l.o:
|
||||
${LEX} ${LFLAGS} ${.IMPSRC}
|
||||
${CC} ${CFLAGS} -c lex.yy.c -o ${.TARGET}
|
||||
rm -f lex.yy.c
|
||||
|
||||
.y.c:
|
||||
${YACC} ${YFLAGS} ${.IMPSRC}
|
||||
mv y.tab.c ${.TARGET}
|
||||
|
||||
.l.c:
|
||||
${LEX} ${LFLAGS} ${.IMPSRC}
|
||||
mv lex.yy.c ${.TARGET}
|
||||
|
||||
.c.a:
|
||||
${CC} -c ${CFLAGS} $<
|
||||
${AR} ${ARFLAGS} $@ $*.o
|
||||
rm -f $*.o
|
||||
|
||||
.f.a:
|
||||
${CC} -c ${FFLAGS} $<
|
||||
${AR} ${ARFLAGS} $@ $*.o
|
||||
rm -f $*.o
|
||||
|
||||
|
||||
.s.out .c.out .o.out:
|
||||
${CC} ${CFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
|
||||
|
||||
.f.out .F.out .r.out .e.out:
|
||||
${FC} ${EFLAGS} ${RFLAGS} ${FFLAGS} ${.IMPSRC} \
|
||||
${LDLIBS} -o ${.TARGET}
|
||||
rm -f ${.PREFIX}.o
|
||||
|
||||
.y.out:
|
||||
${YACC} ${YFLAGS} ${.IMPSRC}
|
||||
${CC} ${CFLAGS} y.tab.c ${LDLIBS} -ly -o ${.TARGET}
|
||||
rm -f y.tab.c
|
||||
|
||||
.l.out:
|
||||
${LEX} ${LFLAGS} ${.IMPSRC}
|
||||
${CC} ${CFLAGS} lex.yy.c ${LDLIBS} -ll -o ${.TARGET}
|
||||
rm -f lex.yy.c
|
||||
|
||||
.include <bsd.own.mk>
|
||||
|
Loading…
Reference in New Issue
Block a user