Home | History | Annotate | Line # | Download | only in mk
sys.mk revision 1.14
      1 #	from: @(#)sys.mk	5.11 (Berkeley) 3/13/91
      2 #	$Id: sys.mk,v 1.14 1994/03/24 01:39:28 jtc Exp $
      3 
      4 unix=		We run UNIX.
      5 
      6 .SUFFIXES: .out .a .ln .o .c .cc .C .F .f .e .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 
     17 CC=		cc
     18 CFLAGS=		-O
     19 
     20 CXX=		g++
     21 CXXFLAGS=	${CFLAGS}
     22 
     23 CPP=		cpp
     24 
     25 FC=		f77
     26 FFLAGS=		-O
     27 EFLAGS=
     28 
     29 LEX=		lex
     30 LFLAGS=
     31 
     32 LD=		ld
     33 LDFLAGS=
     34 
     35 LINT=		lint
     36 LINTFLAGS=	-chapbx
     37 
     38 MAKE=		make
     39 
     40 PC=		pc
     41 PFLAGS=
     42 
     43 RC=		f77
     44 RFLAGS=
     45 
     46 SHELL=		sh
     47 
     48 YACC=		yacc
     49 YFLAGS=		-d
     50 
     51 # single suffix rules
     52 .c:
     53 	${CC} ${CFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
     54 
     55 .cc .C:
     56 	${CXX} ${CXXFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
     57 
     58 .e .r .F .f:
     59 	${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
     60 
     61 .p:
     62 	${PC} ${PFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
     63 
     64 .y:
     65 	${YACC} ${YFLAGS} ${.IMPSRC}
     66 	${CC} ${CFLAGS} y.tab.c ${LDLIBS} -ly -o ${.TARGET}
     67 	rm -f y.tab.c
     68 
     69 .l:
     70 	${LEX} ${LFLAGS} ${.IMPSRC}
     71 	${CC} ${CFLAGS} lex.yy.c ${LDLIBS} -ll -o ${.TARGET}
     72 	rm -f lex.yy.c
     73 
     74 .sh:
     75 	rm -f ${.TARGET}
     76 	cp ${.IMPSRC} ${.TARGET}
     77 
     78 
     79 # double suffix rules
     80 .c.o:
     81 	${CC} ${CFLAGS} -c ${.IMPSRC}
     82 
     83 .cc.o .C.o:
     84 	${CXX} ${CXXFLAGS} -c ${.IMPSRC}
     85 
     86 .e.o .r.o .F.o .f.o:
     87 	${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} -c ${.IMPSRC}
     88 
     89 .p.o:
     90 	${PC} ${PFLAGS} -c ${.IMPSRC}
     91 
     92 .s.o:
     93 	${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC}
     94 
     95 .S.o:
     96 	${CC} -E ${CFLAGS} ${AFLAGS} ${.IMPSRC} | as -o ${.TARGET}
     97 
     98 .y.o:
     99 	${YACC} ${YFLAGS} ${.IMPSRC}
    100 	${CC} ${CFLAGS} -c y.tab.c -o ${.TARGET}
    101 	rm -f y.tab.c
    102 
    103 .l.o:
    104 	${LEX} ${LFLAGS} ${.IMPSRC}
    105 	${CC} ${CFLAGS} -c lex.yy.c -o ${.TARGET}
    106 	rm -f lex.yy.c
    107 
    108 .y.c:
    109 	${YACC} ${YFLAGS} ${.IMPSRC}
    110 	mv y.tab.c ${.TARGET}
    111 
    112 .l.c:
    113 	${LEX} ${LFLAGS} ${.IMPSRC}
    114 	mv lex.yy.c ${.TARGET}
    115 
    116 .c.a:
    117 	${CC} -c ${CFLAGS} $<
    118 	${AR} ${ARFLAGS} $@ $*.o
    119 	rm -f $*.o
    120 
    121 .f.a:
    122 	${CC} -c ${FFLAGS} $<
    123 	${AR} ${ARFLAGS} $@ $*.o
    124 	rm -f $*.o
    125 	
    126 
    127 .s.out .c.out .o.out:
    128 	${CC} ${CFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
    129 
    130 .f.out .F.out .r.out .e.out:
    131 	${FC} ${EFLAGS} ${RFLAGS} ${FFLAGS} ${.IMPSRC} \
    132 	    ${LDLIBS} -o ${.TARGET}
    133 	rm -f ${.PREFIX}.o
    134 
    135 .y.out:
    136 	${YACC} ${YFLAGS} ${.IMPSRC}
    137 	${CC} ${CFLAGS} y.tab.c ${LDLIBS} -ly -o ${.TARGET}
    138 	rm -f y.tab.c
    139 
    140 .l.out:
    141 	${LEX} ${LFLAGS} ${.IMPSRC}
    142 	${CC} ${CFLAGS} lex.yy.c ${LDLIBS} -ll -o ${.TARGET}
    143 	rm -f lex.yy.c
    144 
    145 .include <bsd.own.mk>
    146