]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - contrib/bmake/mk/sys/Darwin.mk
MFC r368207,368607:
[FreeBSD/stable/10.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 ${CXX_SUFFIXES} .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 NM?=            nm
88
89 PC?=            pc
90 PFLAGS?=
91 COMPILE.p?=     ${PC} ${PFLAGS} ${CPPFLAGS} -c
92 LINK.p?=        ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
93
94 SHELL?=         sh
95
96 SIZE?=          size
97
98 TSORT?=         tsort -q
99
100 YACC?=          bison -y
101 YFLAGS?=        -d
102 YACC.y?=        ${YACC} ${YFLAGS}
103
104 # C
105 .c:
106         ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
107 .c.o:
108         ${COMPILE.c} ${.IMPSRC}
109 .c.a:
110         ${COMPILE.c} ${.IMPSRC}
111         ${AR} ${ARFLAGS} $@ $*.o
112         rm -f $*.o
113
114 # C++
115 ${CXX_SUFFIXES}:
116         ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
117 ${CXX_SUFFIXES:%=%.o}:
118         ${COMPILE.cc} ${.IMPSRC}
119 ${CXX_SUFFIXES:%=%.a}:
120         ${COMPILE.cc} ${.IMPSRC}
121         ${AR} ${ARFLAGS} $@ $*.o
122         rm -f $*.o
123
124 # Fortran/Ratfor
125 .f:
126         ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
127 .f.o:
128         ${COMPILE.f} ${.IMPSRC}
129 .f.a:
130         ${COMPILE.f} ${.IMPSRC}
131         ${AR} ${ARFLAGS} $@ $*.o
132         rm -f $*.o
133
134 .F:
135         ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
136 .F.o:
137         ${COMPILE.F} ${.IMPSRC}
138 .F.a:
139         ${COMPILE.F} ${.IMPSRC}
140         ${AR} ${ARFLAGS} $@ $*.o
141         rm -f $*.o
142
143 .r:
144         ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
145 .r.o:
146         ${COMPILE.r} ${.IMPSRC}
147 .r.a:
148         ${COMPILE.r} ${.IMPSRC}
149         ${AR} ${ARFLAGS} $@ $*.o
150         rm -f $*.o
151
152 # Pascal
153 .p:
154         ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
155 .p.o:
156         ${COMPILE.p} ${.IMPSRC}
157 .p.a:
158         ${COMPILE.p} ${.IMPSRC}
159         ${AR} ${ARFLAGS} $@ $*.o
160         rm -f $*.o
161
162 # Assembly
163 .s:
164         ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
165 .s.o:
166         ${COMPILE.s} -o ${.TARGET} ${.IMPSRC} 
167 .s.a:
168         ${COMPILE.s} ${.IMPSRC}
169         ${AR} ${ARFLAGS} $@ $*.o
170         rm -f $*.o
171 .S:
172         ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
173 .S.o:
174         ${COMPILE.S} ${.IMPSRC}
175 .S.a:
176         ${COMPILE.S} ${.IMPSRC}
177         ${AR} ${ARFLAGS} $@ $*.o
178         rm -f $*.o
179
180 # Lex
181 .l:
182         ${LEX.l} ${.IMPSRC}
183         ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
184         rm -f lex.yy.c
185 .l.c:
186         ${LEX.l} ${.IMPSRC}
187         mv lex.yy.c ${.TARGET}
188 .l.o:
189         ${LEX.l} ${.IMPSRC}
190         ${COMPILE.c} -o ${.TARGET} lex.yy.c 
191         rm -f lex.yy.c
192
193 # Yacc
194 .y:
195         ${YACC.y} ${.IMPSRC}
196         ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
197         rm -f y.tab.c
198 .y.c:
199         ${YACC.y} ${.IMPSRC}
200         mv y.tab.c ${.TARGET}
201 .y.o:
202         ${YACC.y} ${.IMPSRC}
203         ${COMPILE.c} -o ${.TARGET} y.tab.c
204         rm -f y.tab.c
205
206 # Shell
207 .sh:
208         rm -f ${.TARGET}
209         cp ${.IMPSRC} ${.TARGET}