Update to bmake-20131001 on the vendor branch
[dragonfly.git] / contrib / bmake / mk / sys / Darwin.mk
1 #       $NetBSD: Darwin.sys.mk,v 1.3 2003/02/16 09:44:41 grant Exp $
2 #       @(#)sys.mk      8.2 (Berkeley) 3/21/94
3
4 OS=             Darwin
5 unix?=          We run ${OS}.
6
7 .SUFFIXES: .out .a .ln .o .s .S .c .cc .cpp .cxx .C .F .f .r .y .l .cl .p .h
8 .SUFFIXES: .sh .m4 .dylib
9
10 .LIBS:          .a .dylib
11
12 SHLIBEXT =      .dylib
13 HOST_LIBEXT =   .dylib
14 DSHLIBEXT =     .dylib
15
16 AR?=            ar
17 ARFLAGS?=       rl
18 RANLIB =
19
20 AS?=            as
21 AFLAGS?=
22 COMPILE.s?=     ${AS} ${AFLAGS}
23 LINK.s?=        ${CC} ${AFLAGS} ${LDFLAGS}
24 COMPILE.S?=     ${CC} ${AFLAGS} ${CPPFLAGS} -c
25 LINK.S?=        ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
26
27 .if exists(/usr/bin/gcc)
28 CC?=            gcc -pipe
29 .else
30 CC?=            cc -pipe
31 .endif
32 DBG?=           -O2
33 CFLAGS?=        ${DBG}
34 COMPILE.c?=     ${CC} ${CFLAGS} ${CPPFLAGS} -c
35 LINK.c?=        ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
36
37 .if exists(/usr/bin/g++)
38 CXX?=           g++
39 .else
40 CXX?=           c++
41 .endif
42 CXXFLAGS?=      ${CFLAGS}
43 COMPILE.cc?=    ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
44 LINK.cc?=       ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
45
46 OBJC?=          ${CC}
47 OBJCFLAGS?=     ${CFLAGS}
48 COMPILE.m?=     ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c
49 LINK.m?=        ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS}
50
51 CPP?=           cpp
52 NOLINT=         1
53 CPPFLAGS?=
54
55 MK_DEP?=        mkdeps.sh -N
56
57 FC?=            f77
58 FFLAGS?=        -O
59 RFLAGS?=
60 COMPILE.f?=     ${FC} ${FFLAGS} -c
61 LINK.f?=        ${FC} ${FFLAGS} ${LDFLAGS}
62 COMPILE.F?=     ${FC} ${FFLAGS} ${CPPFLAGS} -c
63 LINK.F?=        ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
64 COMPILE.r?=     ${FC} ${FFLAGS} ${RFLAGS} -c
65 LINK.r?=        ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
66
67 INSTALL?=       install
68
69 LEX?=           lex
70 LFLAGS?=
71 LEX.l?=         ${LEX} ${LFLAGS}
72
73 LD?=            ld
74 LDFLAGS?=
75
76 SHLIB_TEENY = 0
77 SHLIB_MINOR = 0
78
79 MKPICLIB = no
80 LIBEXT = .dylib
81
82 LINT?=          lint
83 LINTFLAGS?=     -chapbx
84
85 LORDER?=        lorder
86
87 MAKE?=          bmake
88
89 NM?=            nm
90
91 PC?=            pc
92 PFLAGS?=
93 COMPILE.p?=     ${PC} ${PFLAGS} ${CPPFLAGS} -c
94 LINK.p?=        ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
95
96 SHELL?=         sh
97
98 SIZE?=          size
99
100 TSORT?=         tsort -q
101
102 YACC?=          bison -y
103 YFLAGS?=        -d
104 YACC.y?=        ${YACC} ${YFLAGS}
105
106 # C
107 .c:
108         ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
109 .c.o:
110         ${COMPILE.c} ${.IMPSRC}
111 .c.a:
112         ${COMPILE.c} ${.IMPSRC}
113         ${AR} ${ARFLAGS} $@ $*.o
114         rm -f $*.o
115
116 # C++
117 .cc:
118         ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
119 .cc.o:
120         ${COMPILE.cc} ${.IMPSRC}
121 .cc.a:
122         ${COMPILE.cc} ${.IMPSRC}
123         ${AR} ${ARFLAGS} $@ $*.o
124         rm -f $*.o
125
126 .C:
127         ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
128 .C.o:
129         ${COMPILE.cc} ${.IMPSRC}
130 .C.a:
131         ${COMPILE.cc} ${.IMPSRC}
132         ${AR} ${ARFLAGS} $@ $*.o
133         rm -f $*.o
134
135 # Fortran/Ratfor
136 .f:
137         ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
138 .f.o:
139         ${COMPILE.f} ${.IMPSRC}
140 .f.a:
141         ${COMPILE.f} ${.IMPSRC}
142         ${AR} ${ARFLAGS} $@ $*.o
143         rm -f $*.o
144
145 .F:
146         ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
147 .F.o:
148         ${COMPILE.F} ${.IMPSRC}
149 .F.a:
150         ${COMPILE.F} ${.IMPSRC}
151         ${AR} ${ARFLAGS} $@ $*.o
152         rm -f $*.o
153
154 .r:
155         ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
156 .r.o:
157         ${COMPILE.r} ${.IMPSRC}
158 .r.a:
159         ${COMPILE.r} ${.IMPSRC}
160         ${AR} ${ARFLAGS} $@ $*.o
161         rm -f $*.o
162
163 # Pascal
164 .p:
165         ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
166 .p.o:
167         ${COMPILE.p} ${.IMPSRC}
168 .p.a:
169         ${COMPILE.p} ${.IMPSRC}
170         ${AR} ${ARFLAGS} $@ $*.o
171         rm -f $*.o
172
173 # Assembly
174 .s:
175         ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
176 .s.o:
177         ${COMPILE.s} -o ${.TARGET} ${.IMPSRC} 
178 .s.a:
179         ${COMPILE.s} ${.IMPSRC}
180         ${AR} ${ARFLAGS} $@ $*.o
181         rm -f $*.o
182 .S:
183         ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
184 .S.o:
185         ${COMPILE.S} ${.IMPSRC}
186 .S.a:
187         ${COMPILE.S} ${.IMPSRC}
188         ${AR} ${ARFLAGS} $@ $*.o
189         rm -f $*.o
190
191 # Lex
192 .l:
193         ${LEX.l} ${.IMPSRC}
194         ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
195         rm -f lex.yy.c
196 .l.c:
197         ${LEX.l} ${.IMPSRC}
198         mv lex.yy.c ${.TARGET}
199 .l.o:
200         ${LEX.l} ${.IMPSRC}
201         ${COMPILE.c} -o ${.TARGET} lex.yy.c 
202         rm -f lex.yy.c
203
204 # Yacc
205 .y:
206         ${YACC.y} ${.IMPSRC}
207         ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
208         rm -f y.tab.c
209 .y.c:
210         ${YACC.y} ${.IMPSRC}
211         mv y.tab.c ${.TARGET}
212 .y.o:
213         ${YACC.y} ${.IMPSRC}
214         ${COMPILE.c} -o ${.TARGET} y.tab.c
215         rm -f y.tab.c
216
217 # Shell
218 .sh:
219         rm -f ${.TARGET}
220         cp ${.IMPSRC} ${.TARGET}