]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/bmake/mk/sys/Darwin.mk
Update to bmake-20200704
[FreeBSD/FreeBSD.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 .m ${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 PIPE ?=         -pipe
28
29 .if exists(/usr/bin/clang)
30 CC ?=           cc ${PIPE}
31 CXX ?=          c++
32 .elif exists(/usr/bin/gcc)
33 CC ?=           gcc ${PIPE}
34 .else
35 CC ?=           cc ${PIPE}
36 .endif
37 DBG ?=          -O2
38 CFLAGS ?=       ${DBG}
39 COMPILE.c ?=    ${CC} ${CFLAGS} ${CPPFLAGS} -c
40 LINK.c ?=       ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
41
42 .if exists(/usr/bin/g++)
43 CXX ?=          g++
44 .else
45 CXX ?=          c++
46 .endif
47 CXXFLAGS ?=     ${CFLAGS}
48 COMPILE.cc ?=   ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
49 LINK.cc ?=      ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
50
51 OBJC ?=         ${CC}
52 OBJCFLAGS ?=    ${CFLAGS}
53 COMPILE.m ?=    ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c
54 LINK.m ?=       ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS}
55
56 CPP ?=          cpp
57 NOLINT ?=               1
58 CPPFLAGS ?=
59
60 MK_DEP ?=       mkdep
61
62 FC ?=           f77
63 FFLAGS ?=       -O
64 RFLAGS ?=
65 COMPILE.f ?=    ${FC} ${FFLAGS} -c
66 LINK.f ?=       ${FC} ${FFLAGS} ${LDFLAGS}
67 COMPILE.F ?=    ${FC} ${FFLAGS} ${CPPFLAGS} -c
68 LINK.F ?=       ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
69 COMPILE.r ?=    ${FC} ${FFLAGS} ${RFLAGS} -c
70 LINK.r ?=       ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
71
72 INSTALL ?=      install
73
74 LEX ?=          lex
75 LFLAGS ?=
76 LEX.l ?=                ${LEX} ${LFLAGS}
77
78 LD ?=           ld
79 LDFLAGS ?=
80
81 SHLIB_TEENY  ?= 0
82 SHLIB_MINOR  ?= 0
83
84 MKPICLIB  ?= no
85 LIBEXT  ?= .dylib
86
87 LINT ?=         lint
88 LINTFLAGS ?=    -chapbx
89
90 LORDER ?=       lorder
91
92 NM ?=           nm
93
94 PC ?=           pc
95 PFLAGS ?=
96 COMPILE.p ?=    ${PC} ${PFLAGS} ${CPPFLAGS} -c
97 LINK.p ?=       ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
98
99 SIZE ?=         size
100
101 TSORT ?=                tsort -q
102
103 YACC ?=         bison -y
104 YFLAGS ?=       -d
105 YACC.y ?=       ${YACC} ${YFLAGS}
106
107 # C
108 .c:
109         ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
110 .c.o:
111         ${COMPILE.c} ${.IMPSRC}
112 .c.a:
113         ${COMPILE.c} ${.IMPSRC}
114         ${AR} ${ARFLAGS} $@ $*.o
115         rm -f $*.o
116
117 # C++
118 ${CXX_SUFFIXES}:
119         ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
120 ${CXX_SUFFIXES:%=%.o}:
121         ${COMPILE.cc} ${.IMPSRC}
122 ${CXX_SUFFIXES:%=%.a}:
123         ${COMPILE.cc} ${.IMPSRC}
124         ${AR} ${ARFLAGS} $@ $*.o
125         rm -f $*.o
126
127 # Objective-C
128 .m:
129         ${LINK.m} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
130 .m.o:
131         ${COMPILE.m} ${.IMPSRC}
132 .m.a:
133         ${COMPILE.m} ${.IMPSRC}
134         ${AR} ${ARFLAGS} $@ $*.o
135         rm -f $*.o
136
137 # Fortran/Ratfor
138 .f:
139         ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
140 .f.o:
141         ${COMPILE.f} ${.IMPSRC}
142 .f.a:
143         ${COMPILE.f} ${.IMPSRC}
144         ${AR} ${ARFLAGS} $@ $*.o
145         rm -f $*.o
146
147 .F:
148         ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
149 .F.o:
150         ${COMPILE.F} ${.IMPSRC}
151 .F.a:
152         ${COMPILE.F} ${.IMPSRC}
153         ${AR} ${ARFLAGS} $@ $*.o
154         rm -f $*.o
155
156 .r:
157         ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
158 .r.o:
159         ${COMPILE.r} ${.IMPSRC}
160 .r.a:
161         ${COMPILE.r} ${.IMPSRC}
162         ${AR} ${ARFLAGS} $@ $*.o
163         rm -f $*.o
164
165 # Pascal
166 .p:
167         ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
168 .p.o:
169         ${COMPILE.p} ${.IMPSRC}
170 .p.a:
171         ${COMPILE.p} ${.IMPSRC}
172         ${AR} ${ARFLAGS} $@ $*.o
173         rm -f $*.o
174
175 # Assembly
176 .s:
177         ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
178 .s.o:
179         ${COMPILE.s} -o ${.TARGET} ${.IMPSRC} 
180 .s.a:
181         ${COMPILE.s} ${.IMPSRC}
182         ${AR} ${ARFLAGS} $@ $*.o
183         rm -f $*.o
184 .S:
185         ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
186 .S.o:
187         ${COMPILE.S} ${.IMPSRC}
188 .S.a:
189         ${COMPILE.S} ${.IMPSRC}
190         ${AR} ${ARFLAGS} $@ $*.o
191         rm -f $*.o
192
193 # Lex
194 .l:
195         ${LEX.l} ${.IMPSRC}
196         ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
197         rm -f lex.yy.c
198 .l.c:
199         ${LEX.l} ${.IMPSRC}
200         mv lex.yy.c ${.TARGET}
201 .l.o:
202         ${LEX.l} ${.IMPSRC}
203         ${COMPILE.c} -o ${.TARGET} lex.yy.c 
204         rm -f lex.yy.c
205
206 # Yacc
207 .y:
208         ${YACC.y} ${.IMPSRC}
209         ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
210         rm -f y.tab.c
211 .y.c:
212         ${YACC.y} ${.IMPSRC}
213         mv y.tab.c ${.TARGET}
214 .y.o:
215         ${YACC.y} ${.IMPSRC}
216         ${COMPILE.c} -o ${.TARGET} y.tab.c
217         rm -f y.tab.c
218
219 # Shell
220 .sh:
221         rm -f ${.TARGET}
222         cp ${.IMPSRC} ${.TARGET}