Home | History | Annotate | Line # | Download | only in mk
sys.mk revision 1.32
      1 #	$NetBSD: sys.mk,v 1.32 1997/05/27 18:09:02 cjs Exp $
      2 #	@(#)sys.mk	8.2 (Berkeley) 3/21/94
      3 
      4 unix?=		We run NetBSD.
      5 
      6 .SUFFIXES: .out .a .ln .o .s .S .c .cc .C .F .f .r .y .l .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?=	${CC} ${AFLAGS} -c
     17 LINK.s?=	${CC} ${AFLAGS} ${LDFLAGS}
     18 COMPILE.S?=	${CC} ${AFLAGS} ${CPPFLAGS} -c -traditional-cpp
     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 # Note: CPPFLAGS is passed to all programs that pass the input
     32 # through cpp (cc, pc, etc.)
     33 CPP?=		cpp
     34 CPPFLAGS?=	
     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 INSTALL?=	install
     47 
     48 LEX?=		lex
     49 LFLAGS?=
     50 LEX.l?=		${LEX} ${LFLAGS}
     51 
     52 LD?=		ld
     53 LDFLAGS?=
     54 
     55 LINT?=		lint
     56 LINTFLAGS?=	-chapbx
     57 
     58 MAKE?=		make
     59 
     60 PC?=		pc
     61 PFLAGS?=
     62 COMPILE.p?=	${PC} ${PFLAGS} ${CPPFLAGS} -c
     63 LINK.p?=	${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
     64 
     65 SHELL?=		sh
     66 
     67 YACC?=		yacc
     68 YFLAGS?=	-d
     69 YACC.y?=	${YACC} ${YFLAGS}
     70 
     71 # C
     72 .c:
     73 	${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
     74 .c.o:
     75 	${COMPILE.c} ${.IMPSRC}
     76 .if (${MACHINE_ARCH} != "alpha")
     77 .c.a:
     78 	${COMPILE.c} ${.IMPSRC}
     79 	${AR} ${ARFLAGS} $@ $*.o
     80 	rm -f $*.o
     81 .endif
     82 .c.ln:
     83 	${LINT} ${LINTFLAGS} ${CFLAGS:M-[IDU]*} -i ${.IMPSRC}
     84 
     85 # C++
     86 .cc:
     87 	${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
     88 .cc.o:
     89 	${COMPILE.cc} ${.IMPSRC}
     90 .cc.a:
     91 	${COMPILE.cc} ${.IMPSRC}
     92 	${AR} ${ARFLAGS} $@ $*.o
     93 	rm -f $*.o
     94 
     95 .C:
     96 	${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
     97 .C.o:
     98 	${COMPILE.cc} ${.IMPSRC}
     99 .C.a:
    100 	${COMPILE.cc} ${.IMPSRC}
    101 	${AR} ${ARFLAGS} $@ $*.o
    102 	rm -f $*.o
    103 
    104 # Fortran/Ratfor
    105 .f:
    106 	${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
    107 .f.o:
    108 	${COMPILE.f} ${.IMPSRC}
    109 .f.a:
    110 	${COMPILE.f} ${.IMPSRC}
    111 	${AR} ${ARFLAGS} $@ $*.o
    112 	rm -f $*.o
    113 
    114 .F:
    115 	${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
    116 .F.o:
    117 	${COMPILE.F} ${.IMPSRC}
    118 .F.a:
    119 	${COMPILE.F} ${.IMPSRC}
    120 	${AR} ${ARFLAGS} $@ $*.o
    121 	rm -f $*.o
    122 
    123 .r:
    124 	${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
    125 .r.o:
    126 	${COMPILE.r} ${.IMPSRC}
    127 .r.a:
    128 	${COMPILE.r} ${.IMPSRC}
    129 	${AR} ${ARFLAGS} $@ $*.o
    130 	rm -f $*.o
    131 
    132 # Pascal
    133 .p:
    134 	${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
    135 .p.o:
    136 	${COMPILE.p} ${.IMPSRC}
    137 .p.a:
    138 	${COMPILE.p} ${.IMPSRC}
    139 	${AR} ${ARFLAGS} $@ $*.o
    140 	rm -f $*.o
    141 
    142 # Assembly
    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 .S:
    152 	${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
    153 .S.o:
    154 	${COMPILE.S} ${.IMPSRC}
    155 .S.a:
    156 	${COMPILE.S} ${.IMPSRC}
    157 	${AR} ${ARFLAGS} $@ $*.o
    158 	rm -f $*.o
    159 
    160 # Lex
    161 .l:
    162 	${LEX.l} ${.IMPSRC}
    163 	${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
    164 	rm -f lex.yy.c
    165 .l.c:
    166 	${LEX.l} ${.IMPSRC}
    167 	mv lex.yy.c ${.TARGET}
    168 .l.o:
    169 	${LEX.l} ${.IMPSRC}
    170 	${COMPILE.c} -o ${.TARGET} lex.yy.c 
    171 	rm -f lex.yy.c
    172 
    173 # Yacc
    174 .y:
    175 	${YACC.y} ${.IMPSRC}
    176 	${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
    177 	rm -f y.tab.c
    178 .y.c:
    179 	${YACC.y} ${.IMPSRC}
    180 	mv y.tab.c ${.TARGET}
    181 .y.o:
    182 	${YACC.y} ${.IMPSRC}
    183 	${COMPILE.c} -o ${.TARGET} y.tab.c
    184 	rm -f y.tab.c
    185 
    186 # Shell
    187 .sh:
    188 	rm -f ${.TARGET}
    189 	cp ${.IMPSRC} ${.TARGET}
    190