Makefrag - vx32 - Local 9vx git repository for patches.
(HTM) git clone git://r-36.net/vx32
(DIR) Log
(DIR) Files
(DIR) Refs
---
Makefrag (6990B)
---
1 include libvxc/include/Makefrag
2
3 CLIB_OBJS = \
4 $(addprefix libvxc/, \
5 abort.o \
6 assert.o \
7 atexit.o \
8 difftime.o \
9 errno.o \
10 exit.o \
11 _exit.o \
12 fenv.o \
13 malloc.o \
14 qsort.o \
15 read.o \
16 remove.o \
17 sbrk.o \
18 write.o \
19 open.o \
20 close.o \
21 errlst.o \
22 lseek.o \
23 time.o \
24 localtime.o \
25 asctime.o \
26 ctime.o \
27 strftime.o \
28 mktime.o \
29 signal.o \
30 ftime.o \
31 gettimeofday.o \
32 getpagesize.o \
33 stat.o \
34 fstat.o \
35 clock.o \
36 getcwd.o \
37 getuid.o \
38 exec.o \
39 chmod.o \
40 chdir.o \
41 dup.o \
42 fork.o \
43 isatty.o \
44 pipe.o \
45 mkdir.o \
46 link.o \
47 ioctl.o \
48 fcntl.o \
49 sleep.o \
50 kill.o \
51 select.o \
52 waitpid.o \
53 dir.o \
54 truncate.o \
55 ftruncate.o \
56 chmod.o \
57 isinf.o \
58 dtoa.o \
59 getpid.o \
60 ) \
61 $(addprefix libvxc/bsdstdio/, \
62 asprintf.o \
63 clrerr.o \
64 fclose.o \
65 fdopen.o \
66 feof.o \
67 ferror.o \
68 fflush.o \
69 fgetc.o \
70 fgetln.o \
71 fgetpos.o \
72 fgets.o \
73 fileno.o \
74 findfp.o \
75 flags.o \
76 fopen.o \
77 fprintf.o \
78 fpurge.o \
79 fputc.o \
80 fputs.o \
81 fread.o \
82 freopen.o \
83 fscanf.o \
84 fseek.o \
85 fsetpos.o \
86 ftell.o \
87 funopen.o \
88 fvwrite.o \
89 fwalk.o \
90 fwrite.o \
91 getc.o \
92 getchar.o \
93 gets.o \
94 getw.o \
95 makebuf.o \
96 mktemp.o \
97 perror.o \
98 printf.o \
99 putc.o \
100 putchar.o \
101 puts.o \
102 putw.o \
103 refill.o \
104 remove.o \
105 rewind.o \
106 rget.o \
107 scanf.o \
108 setbuf.o \
109 setbuffer.o \
110 setvbuf.o \
111 snprintf.o \
112 sprintf.o \
113 sscanf.o \
114 stdio.o \
115 tmpfile.o \
116 ungetc.o \
117 vasprintf.o \
118 vfprintf.o \
119 vfscanf.o \
120 vprintf.o \
121 vscanf.o \
122 vsnprintf.o \
123 vsprintf.o \
124 vsscanf.o \
125 wbuf.o \
126 wsetup.o \
127 ) \
128 $(addprefix libvxc/stdlib/, \
129 abs.o labs.o llabs.o \
130 atof.o atoi.o atol.o atoll.o \
131 strtol.o strtoll.o \
132 strtoul.o strtoull.o \
133 getenv.o setenv.o putenv.o \
134 qsort.o bsearch.o \
135 rand.o system.o \
136 ) \
137 $(addprefix libvxc/string/, \
138 memccpy.o \
139 memcmp.o \
140 strcat.o \
141 strcmp.o \
142 strcasecmp.o \
143 strcpy.o \
144 strcspn.o \
145 strdup.o \
146 strerror.o \
147 strlcat.o \
148 strlcpy.o \
149 strncat.o \
150 strncmp.o \
151 strncpy.o \
152 strpbrk.o \
153 strspn.o \
154 strstr.o \
155 strtok.o \
156 wcscat.o \
157 wcschr.o \
158 wcscpy.o \
159 wcscspn.o \
160 wcslen.o \
161 wcsncat.o \
162 wcsncpy.o \
163 wcspbrk.o \
164 wcsrchr.o \
165 wcsspn.o \
166 wcsstr.o \
167 wcstok.o \
168 wmemchr.o \
169 wmemcmp.o \
170 wmemcpy.o \
171 wmemmove.o \
172 wmemset.o \
173 ) \
174 $(addprefix libvxc/vx32/, \
175 ffs.o \
176 memchr.o \
177 memcpy.o \
178 memmove.o \
179 memset.o \
180 setjmp.o \
181 sigsetjmp.o \
182 strchr.o \
183 strlen.o \
184 strrchr.o \
185 flt_rounds.o \
186 ) \
187 $(addprefix libvxc/msun/, \
188 e_acos.o e_acosf.o \
189 e_acosh.o e_acoshf.o \
190 e_asin.o e_asinf.o \
191 e_atan2.o e_atan2f.o \
192 e_atanh.o e_atanhf.o \
193 e_cosh.o e_coshf.o \
194 e_exp.o e_expf.o \
195 e_fmod.o e_fmodf.o \
196 e_gamma.o e_gammaf.o \
197 e_gammaf_r.o e_gamma_r.o \
198 e_hypot.o e_hypotf.o \
199 e_j0.o e_j0f.o \
200 e_j1.o e_j1f.o \
201 e_jn.o e_jnf.o \
202 e_lgamma.o e_lgammaf.o \
203 e_lgammaf_r.o e_lgamma_r.o \
204 e_log10.o e_log10f.o \
205 e_log.o e_logf.o \
206 e_pow.o e_powf.o \
207 e_remainder.o e_remainderf.o \
208 e_rem_pio2.o e_rem_pio2f.o \
209 e_scalb.o e_scalbf.o \
210 e_sinh.o e_sinhf.o \
211 e_sqrt.o e_sqrtf.o \
212 k_cos.o k_cosf.o \
213 k_rem_pio2.o k_rem_pio2f.o \
214 k_sin.o k_sinf.o \
215 k_tan.o k_tanf.o \
216 s_asinh.o s_asinhf.o \
217 s_atan.o s_atanf.o \
218 s_cbrt.o s_cbrtf.o \
219 s_ceil.o s_ceilf.o \
220 s_cimag.o s_cimagf.o \
221 s_conj.o s_conjf.o \
222 s_copysign.o s_copysignf.o \
223 s_cos.o s_cosf.o \
224 s_creal.o s_crealf.o \
225 s_erf.o s_erff.o \
226 s_expm1.o s_expm1f.o \
227 s_fabs.o s_fabsf.o \
228 s_fdim.o \
229 s_finite.o s_finitef.o \
230 s_floor.o s_floorf.o \
231 s_fma.o s_fmaf.o \
232 s_fmax.o s_fmaxf.o \
233 s_fmin.o s_fminf.o \
234 s_frexp.o s_frexpf.o \
235 s_ilogb.o s_ilogbf.o \
236 s_isfinite.o \
237 s_isnan.o \
238 s_isnormal.o \
239 s_ldexp.o s_ldexpf.o \
240 s_llrint.o s_llrintf.o \
241 s_llround.o s_llroundf.o \
242 s_log1p.o s_log1pf.o \
243 s_logb.o s_logbf.o \
244 s_lrint.o s_lrintf.o \
245 s_lround.o s_lroundf.o \
246 s_modf.o s_modff.o \
247 s_nearbyint.o \
248 s_nextafter.o s_nextafterf.o \
249 s_rint.o s_rintf.o \
250 s_round.o s_roundf.o \
251 s_scalbln.o \
252 s_scalbn.o s_scalbnf.o \
253 s_signbit.o \
254 s_signgam.o \
255 s_significand.o s_significandf.o \
256 s_sin.o s_sinf.o \
257 s_tan.o s_tanf.o \
258 s_tanh.o s_tanhf.o \
259 s_trunc.o s_truncf.o \
260 w_acos.o w_acosf.o \
261 w_acosh.o w_acoshf.o \
262 w_asin.o w_asinf.o \
263 w_atan2.o w_atan2f.o \
264 w_atanh.o w_atanhf.o \
265 w_cabs.o w_cabsf.o \
266 w_cosh.o w_coshf.o \
267 w_drem.o w_dremf.o \
268 w_exp.o w_expf.o \
269 w_fmod.o w_fmodf.o \
270 w_gamma.o w_gammaf.o \
271 w_gammaf_r.o w_gamma_r.o \
272 w_hypot.o w_hypotf.o \
273 w_j0.o w_j0f.o \
274 w_j1.o w_j1f.o \
275 w_jn.o w_jnf.o \
276 w_lgamma.o w_lgammaf.o \
277 w_lgammaf_r.o w_lgamma_r.o \
278 w_log10.o w_log10f.o \
279 w_log.o w_logf.o \
280 w_pow.o w_powf.o \
281 w_remainder.o w_remainderf.o \
282 w_scalb.o w_scalbf.o \
283 w_sinh.o w_sinhf.o \
284 w_sqrt.o w_sqrtf.o \
285 w_y0.o w_y0f.o \
286 w_y1.o w_y1f.o \
287 w_yn.o w_ynf.o \
288 sincos.o sincosf.o \
289 )
290
291 # Use these optimized transcendental math library functions
292 # only if we are generating x87 and not pure SSE code.
293 ifdef HAVE_X87
294 X87_OBJS = \
295 e_exp.o \
296 e_fmod.o \
297 e_log.o e_logf.o \
298 e_log10.o e_log10f.o \
299 e_remainder.o e_remainderf.o \
300 e_scalb.o e_scalbf.o \
301 e_sqrt.o e_sqrtf.o \
302 s_ceil.o s_ceilf.o \
303 s_copysign.o s_copysignf.o \
304 s_sin.o s_cos.o s_tan.o \
305 s_atan.o e_atan2f.o \
306 s_finite.o \
307 s_floor.o s_floorf.o \
308 s_logb.o s_logbf.o \
309 s_lrint.o s_llrint.o \
310 s_rint.o s_rintf.o \
311 s_scalbn.o s_scalbnf.o \
312 s_significand.o s_significandf.o
313
314 CLIB_OBJS := $(filter-out $(addprefix libvxc/msun/,$(X87_OBJS)),$(CLIB_OBJS)) \
315 $(addprefix libvxc/msun/x87/,$(X87_OBJS))
316 endif
317
318
319 CLIB_DEPS := libvxc/libc.a libvxc/vx32/crt0.o
320 CLIB_INST := $(prefix)/vx32/lib/libc.a $(prefix)/vx32/lib/libm.a $(prefix)/vx32/lib/crt0.o
321
322 CLEAN_FILES += $(CLIB_OBJS) $(CLIB_DEPS)
323
324 all: $(CLIB_DEPS)
325 libvxc/install: $(CLIB_INST)
326
327
328 # Build rules
329 libvxc/libc.a: $(CLIB_OBJS)
330 $(VX32_AR) r $@ $(CLIB_OBJS)
331
332 libvxc/libm.a:
333 $(VX32_AR) r $@
334
335 libvxc/%.o: libvxc/%.c
336 $(VX32_CC) -c $(VX32_CFLAGS) -o $@ $<
337
338 libvxc/%.o: libvxc/%.S
339 $(VX32_CC) -c $(VX32_CFLAGS) -o $@ $<
340
341 ifdef HAVE_X87
342 libvxc/msun/x87/%.o: libvxc/msun/x87/%.S
343 $(VX32_CC) -c $(VX32_CFLAGS) -o $@ $<
344 endif
345
346 # Install rules
347 $(prefix)/vx32/lib/lib%.a: libvxc/lib%.a
348 @mkdir -p $(prefix)/vx32/lib
349 $(INSTALL) $< $@
350
351 $(prefix)/vx32/lib/crt0.o: libvxc/vx32/crt0.o
352 @mkdir -p $(prefix)/vx32/lib
353 $(INSTALL) $< $@
354
355 # $(addprefix libvxc/stdio/, \
356 # fclose.o \
357 # fflush.o \
358 # fgetc.o \
359 # fgets.o \
360 # fopen.o \
361 # fputc.o \
362 # fread.o \
363 # fscanf.o \
364 # fseek.o \
365 # ftell.o \
366 # fwrite.o \
367 # getc.o \
368 # getchar.o \
369 # getinput.o \
370 # getospace.o \
371 # printf.o \
372 # printfmt.o \
373 # putc.o \
374 # puts.o \
375 # putchar.o \
376 # rewind.o \
377 # setbuf.o \
378 # setvbuf.o \
379 # snprintf.o \
380 # sprintf.o \
381 # sscanf.o \
382 # vfscanf.o \
383 # vsscanf.o \
384 # writebuf.o \
385 # perror.o \
386 # ungetc.o \
387 # ) \