Update to bmake-20160818 on the vendor branch
[dragonfly.git] / contrib / bmake / mk / sys / OSF1.mk
1 #       $Id: OSF1.mk,v 1.7 2016/03/22 20:45:15 sjg Exp $
2 #       $NetBSD: sys.mk,v 1.19.2.1 1994/07/26 19:58:31 cgd Exp $
3 #       @(#)sys.mk      5.11 (Berkeley) 3/13/91
4
5 OS?=            OSF1
6 unix?=          We run ${OS}.
7 ROOT_GROUP=     system
8
9 # can't fine one anywhere, so just stop the dependency
10 LIBCRT0= /dev/null
11
12 PATH=/usr/sbin:/usr/bin:/usr/ucb:/opt/gnu/bin:/usr/ccs/bin
13
14 .SUFFIXES: .out .a .ln .o .c ${CXX_SUFFIXES} .F .f .r .y .l .s .S .cl .p .h .sh .m4
15
16 .LIBS:          .a
17
18 # no -X
19 LD_X=
20 LD_x=           -x
21 LD_r=           -r
22 AR=             ar
23 ARFLAGS=        rl
24 RANLIB=         ranlib
25
26 AS=             as
27 AS_STDIN=       -
28 AFLAGS=
29 COMPILE.s=      ${AS} ${AFLAGS}
30 LINK.s=         ${CC} ${AFLAGS} ${LDFLAGS}
31 COMPILE.S=      ${CC} ${AFLAGS} ${CPPFLAGS} -c
32 LINK.S=         ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
33 .if exists(/opt/gnu/bin/gcc) || exists(/usr/local/bin/gcc)
34 CC?=            gcc 
35 .else
36 CC?=             cc -std
37 .endif
38 .if (${CC:T} == "gcc")
39 DBG=            -O -g
40 STATIC=         -static
41 DBG=         -g
42 STATIC=         -non_shared
43 .endif
44
45 CFLAGS=         ${DBG}
46 COMPILE.c=      ${CC} ${CFLAGS} ${CPPFLAGS} -c
47 LINK.c=         ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
48
49 CXX=            g++
50 CXXFLAGS=       ${CFLAGS}
51 COMPILE.cc=     ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
52 LINK.cc=        ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
53
54 CPP=            /usr/ccs/lib/cpp
55 .if defined(DESTDIR)
56 CPPFLAGS+=      -nostdinc -idirafter ${DESTDIR}/usr/include
57 .endif
58
59 MK_DEP= mkdeps.sh -N
60 FC=             f77
61 FFLAGS=         -O
62 RFLAGS=
63 COMPILE.f=      ${FC} ${FFLAGS} -c
64 LINK.f=         ${FC} ${FFLAGS} ${LDFLAGS}
65 COMPILE.F=      ${FC} ${FFLAGS} ${CPPFLAGS} -c
66 LINK.F=         ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
67 COMPILE.r=      ${FC} ${FFLAGS} ${RFLAGS} -c
68 LINK.r=         ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
69
70 LEX=            lex
71 LFLAGS=
72 LEX.l=          ${LEX} ${LFLAGS}
73
74 LD=             ld
75 LDFLAGS=
76
77 LINT=           lint
78 LINTFLAGS=      -chapbx
79
80 MAKE=           bmake
81
82 PC=             pc
83 PFLAGS=
84 COMPILE.p=      ${PC} ${PFLAGS} ${CPPFLAGS} -c
85 LINK.p=         ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
86
87 SHELL=          sh
88
89 .if exists(/usr/local/bin/bison) || exists(/opt/gnu/bin/bison)
90 YACC=           bison -y
91 .else
92 YACC=           yacc
93 .endif
94 YFLAGS=         -d
95 YACC.y=         ${YACC} ${YFLAGS}
96
97 # C
98 .c:
99         ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
100 .c.o:
101         ${COMPILE.c} ${.IMPSRC}
102 .c.a:
103         ${COMPILE.c} ${.IMPSRC}
104         ${AR} ${ARFLAGS} $@ $*.o
105         rm -f $*.o
106
107 # C++
108 ${CXX_SUFFIXES}:
109         ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
110 ${CXX_SUFFIXES:%=%.o}:
111         ${COMPILE.cc} ${.IMPSRC}
112 ${CXX_SUFFIXES:%=%.a}:
113         ${COMPILE.cc} ${.IMPSRC}
114         ${AR} ${ARFLAGS} $@ $*.o
115         rm -f $*.o
116
117 # Fortran/Ratfor
118 .f:
119         ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
120 .f.o:
121         ${COMPILE.f} ${.IMPSRC}
122 .f.a:
123         ${COMPILE.f} ${.IMPSRC}
124         ${AR} ${ARFLAGS} $@ $*.o
125         rm -f $*.o
126
127 .F:
128         ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
129 .F.o:
130         ${COMPILE.F} ${.IMPSRC}
131 .F.a:
132         ${COMPILE.F} ${.IMPSRC}
133         ${AR} ${ARFLAGS} $@ $*.o
134         rm -f $*.o
135
136 .r:
137         ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
138 .r.o:
139         ${COMPILE.r} ${.IMPSRC}
140 .r.a:
141         ${COMPILE.r} ${.IMPSRC}
142         ${AR} ${ARFLAGS} $@ $*.o
143         rm -f $*.o
144
145 # Pascal
146 .p:
147         ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
148 .p.o:
149         ${COMPILE.p} ${.IMPSRC}
150 .p.a:
151         ${COMPILE.p} ${.IMPSRC}
152         ${AR} ${ARFLAGS} $@ $*.o
153         rm -f $*.o
154
155 # Assembly
156 .s:
157         ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
158 .s.o:
159         ${COMPILE.s} ${.IMPSRC}
160 .s.a:
161         ${COMPILE.s} ${.IMPSRC}
162         ${AR} ${ARFLAGS} $@ $*.o
163         rm -f $*.o
164 .S:
165         ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
166 .S.o:
167         ${COMPILE.S} ${.IMPSRC}
168 .S.a:
169         ${COMPILE.S} ${.IMPSRC}
170         ${AR} ${ARFLAGS} $@ $*.o
171         rm -f $*.o
172
173 # Lex
174 .l:
175         ${LEX.l} ${.IMPSRC}
176         ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
177         rm -f lex.yy.c
178 .l.c:
179         ${LEX.l} ${.IMPSRC}
180         mv lex.yy.c ${.TARGET}
181 .l.o:
182         ${LEX.l} ${.IMPSRC}
183         ${COMPILE.c} -o ${.TARGET} lex.yy.c 
184         rm -f lex.yy.c
185
186 # Yacc
187 .y:
188         ${YACC.y} ${.IMPSRC}
189         ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
190         rm -f y.tab.c
191 .y.c:
192         ${YACC.y} ${.IMPSRC}
193         mv y.tab.c ${.TARGET}
194 .y.o:
195         ${YACC.y} ${.IMPSRC}
196         ${COMPILE.c} -o ${.TARGET} y.tab.c
197         rm -f y.tab.c
198
199 # Shell
200 .sh:
201         rm -f ${.TARGET}
202         cp ${.IMPSRC} ${.TARGET}