-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
592 lines (488 loc) · 24.4 KB
/
Makefile
File metadata and controls
592 lines (488 loc) · 24.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
RB_SYS_BUILD_DIR ?= /Users/seuros/Projects/ecosystem/chrono_machines/.rb-sys
CARGO ?= cargo
CARGO_BUILD_TARGET ?=
SOEXT ?= dylib
# Determine the prefix Cargo uses for the lib.
ifneq ($(SOEXT),dll)
SOEXT_PREFIX ?= lib
endif
RB_SYS_CARGO_PROFILE ?= release
RB_SYS_CARGO_FEATURES ?=
RB_SYS_GLOBAL_RUSTFLAGS ?=
RB_SYS_EXTRA_RUSTFLAGS ?=
RB_SYS_EXTRA_CARGO_ARGS ?=
RB_SYS_CARGO_MANIFEST_DIR ?= ext/chrono_machines_native/ffi
# Set dirname for the profile, since the profiles do not directly map to target dir (i.e. dev -> debug)
ifeq ($(RB_SYS_CARGO_PROFILE),dev)
RB_SYS_CARGO_PROFILE_DIR ?= debug
else
RB_SYS_CARGO_PROFILE_DIR ?= $(RB_SYS_CARGO_PROFILE)
endif
# Set the build profile (dev, release, etc.).
RB_SYS_CARGO_PROFILE_FLAG = --profile $(RB_SYS_CARGO_PROFILE)
# Account for sub-directories when using `--target` argument with Cargo
RB_SYS_CARGO_TARGET_DIR ?= target
ifneq ($(CARGO_BUILD_TARGET),)
RB_SYS_FULL_TARGET_DIR = $(RB_SYS_CARGO_TARGET_DIR)/$(CARGO_BUILD_TARGET)
else
RB_SYS_FULL_TARGET_DIR = $(RB_SYS_CARGO_TARGET_DIR)
endif
target_prefix = /chrono_machines_native
TARGET_NAME = chrono_machines_native
TARGET_ENTRY = Init_$(TARGET_NAME)
RUBYARCHDIR = $(sitearchdir)$(target_prefix)
TARGET = chrono_machines_native
DLLIB = $(TARGET).bundle
RUSTLIBDIR = $(RB_SYS_FULL_TARGET_DIR)/$(RB_SYS_CARGO_PROFILE_DIR)
RUSTLIB = $(RUSTLIBDIR)/$(SOEXT_PREFIX)$(TARGET_NAME).$(SOEXT)
TIMESTAMP_DIR = .
POSTLINK = dsymutil $@ 2>/dev/null; { test -z '$(RUBY_CODESIGN)' || codesign -s '$(RUBY_CODESIGN)' $@; }
CLEANOBJS = $(RUSTLIBDIR) $(RB_SYS_BUILD_DIR)
CLEANLIBS = $(DLLIB) $(RUSTLIB)
RUBYGEMS_CLEAN_DIRS = $(CLEANOBJS) $(CLEANFILES) ./cargo-vendor
SHELL = /bin/sh
# V=0 quiet, V=1 verbose. other values don't work.
V = 0
V0 = $(V:0=)
Q1 = $(V:1=)
Q = $(Q1:0=@)
ECHO1 = $(V:1=@ :)
ECHO = $(ECHO1:0=@ echo)
NULLCMD = :
#### Start of system configuration section. ####
srcdir = ext/chrono_machines_native/ffi
topdir = /Users/seuros/.local/share/mise/installs/ruby/3.4.7/include/ruby-3.4.0
hdrdir = $(topdir)
arch_hdrdir = /Users/seuros/.local/share/mise/installs/ruby/3.4.7/include/ruby-3.4.0/arm64-darwin24
PATH_SEPARATOR = :
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
prefix = $(DESTDIR)/Users/seuros/.local/share/mise/installs/ruby/3.4.7
rubysitearchprefix = $(rubylibprefix)/$(sitearch)
rubyarchprefix = $(rubylibprefix)/$(arch)
rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
exec_prefix = $(prefix)
vendorarchhdrdir = $(vendorhdrdir)/$(sitearch)
sitearchhdrdir = $(sitehdrdir)/$(sitearch)
rubyarchhdrdir = $(rubyhdrdir)/$(arch)
vendorhdrdir = $(rubyhdrdir)/vendor_ruby
sitehdrdir = $(rubyhdrdir)/site_ruby
rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME)
vendorarchdir = $(vendorlibdir)/$(sitearch)
vendorlibdir = $(vendordir)/$(ruby_version)
vendordir = $(rubylibprefix)/vendor_ruby
sitearchdir = $(sitelibdir)/$(sitearch)
sitelibdir = $(sitedir)/$(ruby_version)
sitedir = $(rubylibprefix)/site_ruby
rubyarchdir = $(rubylibdir)/$(arch)
rubylibdir = $(rubylibprefix)/$(ruby_version)
sitearchincludedir = $(includedir)/$(sitearch)
archincludedir = $(includedir)/$(arch)
sitearchlibdir = $(libdir)/$(sitearch)
archlibdir = $(libdir)/$(arch)
ridir = $(datarootdir)/$(RI_BASE_NAME)
modular_gc_dir = $(DESTDIR)
mandir = $(datarootdir)/man
localedir = $(datarootdir)/locale
libdir = $(exec_prefix)/lib
psdir = $(docdir)
pdfdir = $(docdir)
dvidir = $(docdir)
htmldir = $(docdir)
infodir = $(datarootdir)/info
docdir = $(datarootdir)/doc/$(PACKAGE)
oldincludedir = $(DESTDIR)/usr/include
includedir = $(SDKROOT)$(prefix)/include
runstatedir = $(localstatedir)/run
localstatedir = $(prefix)/var
sharedstatedir = $(prefix)/com
sysconfdir = $(prefix)/etc
datadir = $(datarootdir)
datarootdir = $(prefix)/share
libexecdir = $(exec_prefix)/libexec
sbindir = $(exec_prefix)/sbin
bindir = $(exec_prefix)/bin
archdir = $(rubyarchdir)
CC_WRAPPER =
CC = clang
CXX = clang++
LIBRUBY = $(LIBRUBY_SO)
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static -framework CoreFoundation $(MAINLIBS)
empty =
OUTFLAG = -o $(empty)
COUTFLAG = -o $(empty)
CSRCFLAG = $(empty)
RUBY_EXTCONF_H =
cflags = $(hardenflags) -fdeclspec $(optflags) $(debugflags) $(warnflags)
cxxflags =
optflags = -O3 -fno-fast-math
debugflags = -ggdb3
warnflags = -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef
cppflags =
CCDLFLAGS = -fno-common
CFLAGS = $(CCDLFLAGS) $(cflags) -fno-common -pipe $(ARCH_FLAG)
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
DEFS =
CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags)
CXXFLAGS = $(CCDLFLAGS) -fdeclspec $(ARCH_FLAG)
ldflags = -L. -fstack-protector-strong -L/opt/homebrew/Cellar/gmp/6.3.0/lib
dldflags = -L/opt/homebrew/Cellar/gmp/6.3.0/lib -Wl,-undefined,dynamic_lookup
ARCH_FLAG = -arch arm64
DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
LDSHARED = $(CC) -dynamic -bundle
LDSHAREDXX = $(CXX) -dynamic -bundle
POSTLINK = dsymutil $@ 2>/dev/null; { test -z '$(RUBY_CODESIGN)' || codesign -s '$(RUBY_CODESIGN)' $@; }
AR = ar
LD = ld
EXEEXT =
RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)
RUBY_SO_NAME = ruby.3.4
RUBYW_INSTALL_NAME =
RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
RUBYW_BASE_NAME = rubyw
RUBY_BASE_NAME = ruby
arch = arm64-darwin24
sitearch = $(arch)
ruby_version = 3.4.0
ruby = $(bindir)/$(RUBY_BASE_NAME)
RUBY = $(ruby)
BUILTRUBY = $(bindir)/$(RUBY_BASE_NAME)
ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h
RM = rm -f
RM_RF = rm -fr
RMDIRS = rmdir -p
MAKEDIRS = /opt/homebrew/bin/gmkdir -p
INSTALL = /opt/homebrew/bin/ginstall -c
INSTALL_PROG = $(INSTALL) -m 0755
INSTALL_DATA = $(INSTALL) -m 644
COPY = cp
TOUCH = exit >
#### End of system configuration section. ####
preload =
CLEANFILES = mkmf.log
DISTCLEANFILES =
all static install-rb: Makefile
@$(NULLCMD)
.PHONY: all static install-rb
.PHONY: clean clean-so clean-static clean-rb
clean-static::
clean-rb-default::
clean-rb::
clean-so::
clean: clean-so clean-static clean-rb-default clean-rb
-$(Q)$(RM_RF) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time
distclean-rb-default::
distclean-rb::
distclean-so::
distclean-static::
distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb
-$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
-$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
-$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true
realclean: distclean
.PHONY: gemclean
ifneq ($(RB_SYS_VERBOSE),)
Q = $(0=@)
endif
CC = clang
CXX = clang++
AR = ar
export RBCONFIG_DESTDIR :=
export RBCONFIG_MAJOR := 3
export RBCONFIG_MINOR := 4
export RBCONFIG_TEENY := 7
export RBCONFIG_PATCHLEVEL := 58
export RBCONFIG_INSTALL := /opt/homebrew/bin/ginstall -c
export RBCONFIG_EXEEXT :=
export RBCONFIG_prefix := /Users/seuros/.local/share/mise/installs/ruby/3.4.7
export RBCONFIG_ruby_install_name := ruby
export RBCONFIG_RUBY_INSTALL_NAME := ruby
export RBCONFIG_RUBY_SO_NAME := ruby.3.4
export RBCONFIG_exec := exec
export RBCONFIG_ruby_pc := ruby-3.4.pc
export RBCONFIG_CC_WRAPPER :=
export RBCONFIG_PACKAGE := ruby
export RBCONFIG_BUILTIN_TRANSSRCS := enc/trans/newline.c
export RBCONFIG_MKMF_VERBOSE := 0
export RBCONFIG_MANTYPE := doc
export RBCONFIG_vendorarchhdrdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/include/ruby-3.4.0/vendor_ruby/arm64-darwin24
export RBCONFIG_sitearchhdrdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/include/ruby-3.4.0/site_ruby/arm64-darwin24
export RBCONFIG_rubyarchhdrdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/include/ruby-3.4.0/arm64-darwin24
export RBCONFIG_vendorhdrdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/include/ruby-3.4.0/vendor_ruby
export RBCONFIG_sitehdrdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/include/ruby-3.4.0/site_ruby
export RBCONFIG_rubyhdrdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/include/ruby-3.4.0
export RBCONFIG_RUBY_SEARCH_PATH :=
export RBCONFIG_UNIVERSAL_INTS :=
export RBCONFIG_UNIVERSAL_ARCHNAMES :=
export RBCONFIG_configure_args := '--prefix=/Users/seuros/.local/share/mise/installs/ruby/3.4.7' '--with-openssl-dir=/opt/homebrew/opt/openssl@3' '--enable-shared' '--with-libyaml-dir=/opt/homebrew/opt/libyaml' '--with-gmp-dir=/opt/homebrew/opt/gmp' '--with-ext=openssl,psych,+' 'CC=clang'
export RBCONFIG_CONFIGURE := configure
export RBCONFIG_vendorarchdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib/ruby/vendor_ruby/3.4.0/arm64-darwin24
export RBCONFIG_vendorlibdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib/ruby/vendor_ruby/3.4.0
export RBCONFIG_vendordir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib/ruby/vendor_ruby
export RBCONFIG_sitearchdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0/arm64-darwin24
export RBCONFIG_sitelibdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby/3.4.0
export RBCONFIG_sitedir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib/ruby/site_ruby
export RBCONFIG_rubyarchdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib/ruby/3.4.0/arm64-darwin24
export RBCONFIG_rubylibdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib/ruby/3.4.0
export RBCONFIG_ruby_version := 3.4.0
export RBCONFIG_sitearch := arm64-darwin24
export RBCONFIG_arch := arm64-darwin24
export RBCONFIG_sitearchincludedir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/include/arm64-darwin24
export RBCONFIG_archincludedir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/include/arm64-darwin24
export RBCONFIG_sitearchlibdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib/arm64-darwin24
export RBCONFIG_archlibdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib/arm64-darwin24
export RBCONFIG_libdirname := libdir
export RBCONFIG_RUBY_EXEC_PREFIX := /Users/seuros/.local/share/mise/installs/ruby/3.4.7
export RBCONFIG_RUBY_LIB_VERSION :=
export RBCONFIG_RUBY_LIB_VERSION_STYLE := 3 /* full */
export RBCONFIG_RI_BASE_NAME := ri
export RBCONFIG_ridir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/share/ri
export RBCONFIG_rubysitearchprefix := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib/ruby/arm64-darwin24
export RBCONFIG_rubyarchprefix := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib/ruby/arm64-darwin24
export RBCONFIG_MAKEFILES := Makefile GNUmakefile
export RBCONFIG_USE_LLVM_WINDRES :=
export RBCONFIG_PLATFORM_DIR :=
export RBCONFIG_COROUTINE_TYPE := arm64
export RBCONFIG_THREAD_MODEL := pthread
export RBCONFIG_SYMBOL_PREFIX := _
export RBCONFIG_EXPORT_PREFIX :=
export RBCONFIG_COMMON_HEADERS :=
export RBCONFIG_COMMON_MACROS :=
export RBCONFIG_COMMON_LIBS :=
export RBCONFIG_MAINLIBS := -lgmp -ldl -lobjc -lpthread
export RBCONFIG_ENABLE_SHARED := yes
export RBCONFIG_DLDSHARED := clang -dynamiclib
export RBCONFIG_DLDLIBS :=
export RBCONFIG_SOLIBS := -lgmp -ldl -lobjc -lpthread
export RBCONFIG_LIBRUBYARG_SHARED := -lruby.3.4
export RBCONFIG_LIBRUBYARG_STATIC := -lruby.3.4-static -framework CoreFoundation -lgmp -ldl -lobjc -lpthread
export RBCONFIG_LIBRUBYARG := -lruby.3.4
export RBCONFIG_LIBRUBY := libruby.3.4.dylib
export RBCONFIG_LIBRUBY_ALIASES := libruby.dylib
export RBCONFIG_LIBRUBY_SONAME := libruby.3.4.dylib
export RBCONFIG_LIBRUBY_SO := libruby.3.4.dylib
export RBCONFIG_LIBRUBY_A := libruby.3.4-static.a
export RBCONFIG_RUBYW_INSTALL_NAME :=
export RBCONFIG_rubyw_install_name :=
export RBCONFIG_EXTDLDFLAGS :=
export RBCONFIG_EXTLDFLAGS :=
export RBCONFIG_hardenflags := -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
export RBCONFIG_strict_warnflags :=
export RBCONFIG_warnflags := -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef
export RBCONFIG_debugflags := -ggdb3
export RBCONFIG_optflags := -O3 -fno-fast-math
export RBCONFIG_NULLCMD := :
export RBCONFIG_ENABLE_DEBUG_ENV :=
export RBCONFIG_DLNOBJ := dln.o
export RBCONFIG_RJIT_SUPPORT := yes
export RBCONFIG_YJIT_OBJ := yjit.o
export RBCONFIG_YJIT_LIBS := yjit/target/release/libyjit.a
export RBCONFIG_CARGO_BUILD_ARGS :=
export RBCONFIG_YJIT_SUPPORT := yes
export RBCONFIG_CARGO :=
export RBCONFIG_RUSTC := rustc
export RBCONFIG_INSTALL_STATIC_LIBRARY := no
export RBCONFIG_modular_gc_dir :=
export RBCONFIG_EXECUTABLE_EXTS :=
export RBCONFIG_ARCHFILE :=
export RBCONFIG_LIBRUBY_RELATIVE := no
export RBCONFIG_EXTOUT := .ext
export RBCONFIG_PREP := miniruby
export RBCONFIG_CROSS_COMPILING := no
export RBCONFIG_TEST_RUNNABLE := yes
export RBCONFIG_rubylibprefix := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib/ruby
export RBCONFIG_setup := Setup
export RBCONFIG_SOEXT := dylib
export RBCONFIG_TRY_LINK :=
export RBCONFIG_PRELOADENV := DYLD_INSERT_LIBRARIES
export RBCONFIG_LIBPATHENV := DYLD_LIBRARY_PATH
export RBCONFIG_RPATHFLAG :=
export RBCONFIG_LIBPATHFLAG := -L%s
export RBCONFIG_LINK_SO := \ndsymutil $@ 2>/dev/null; { test -z '$(RUBY_CODESIGN)' || codesign -s '$(RUBY_CODESIGN)' $@; }
export RBCONFIG_ADDITIONAL_DLDFLAGS :=
export RBCONFIG_ENCSTATIC :=
export RBCONFIG_EXTSTATIC :=
export RBCONFIG_ASMEXT := S
export RBCONFIG_LIBEXT := a
export RBCONFIG_DLEXT := bundle
export RBCONFIG_LDSHAREDXX := clang++ -dynamic -bundle
export RBCONFIG_LDSHARED := clang -dynamic -bundle
export RBCONFIG_CCDLFLAGS := -fno-common
export RBCONFIG_STATIC :=
export RBCONFIG_ARCH_FLAG := -arch arm64
export RBCONFIG_DLDFLAGS := -L/opt/homebrew/Cellar/gmp/6.3.0/lib -Wl,-undefined,dynamic_lookup
export RBCONFIG_ALLOCA :=
export RBCONFIG_EGREP := /usr/bin/grep -E
export RBCONFIG_GREP := /usr/bin/grep
export RBCONFIG_dsymutil := dsymutil
export RBCONFIG_codesign := codesign
export RBCONFIG_cleanlibs := $(TARGET_SO:=.dSYM)
export RBCONFIG_POSTLINK := dsymutil $@ 2>/dev/null; { test -z '$(RUBY_CODESIGN)' || codesign -s '$(RUBY_CODESIGN)' $@; }
export RBCONFIG_incflags := -I/opt/homebrew/Cellar/gmp/6.3.0/include
export RBCONFIG_WERRORFLAG := -Werror
export RBCONFIG_RUBY_DEVEL :=
export RBCONFIG_CHDIR := cd -P
export RBCONFIG_RMALL := rm -fr
export RBCONFIG_RMDIRS := rmdir -p
export RBCONFIG_RMDIR := rmdir
export RBCONFIG_CP := cp
export RBCONFIG_RM := rm -f
export RBCONFIG_PKG_CONFIG := pkg-config
export RBCONFIG_DOXYGEN :=
export RBCONFIG_DOT := dot
export RBCONFIG_MKDIR_P := /opt/homebrew/bin/gmkdir -p
export RBCONFIG_INSTALL_DATA := /opt/homebrew/bin/ginstall -c -m 644
export RBCONFIG_INSTALL_SCRIPT := /opt/homebrew/bin/ginstall -c
export RBCONFIG_INSTALL_PROGRAM := /opt/homebrew/bin/ginstall -c
export RBCONFIG_SET_MAKE :=
export RBCONFIG_LN_S := ln -s
export RBCONFIG_DLLWRAP :=
export RBCONFIG_WINDRES :=
export RBCONFIG_ARFLAGS := rcu
export RBCONFIG_try_header :=
export RBCONFIG_CC_VERSION_MESSAGE := Apple clang version 17.0.0 (clang-1700.0.13.5)\nTarget: arm64-apple-darwin24.6.0\nThread model: posix\nInstalledDir: /Library/Developer/CommandLineTools/usr/bin
export RBCONFIG_CC_VERSION := clang --version
export RBCONFIG_CSRCFLAG :=
export RBCONFIG_COUTFLAG := -o
export RBCONFIG_OUTFLAG := -o
export RBCONFIG_CPPOUTFILE := -o conftest.i
export RBCONFIG_GNU_LD := no
export RBCONFIG_GCC := yes
export RBCONFIG_CPP := clang -E
export RBCONFIG_CXXFLAGS := -fdeclspec
export RBCONFIG_OBJEXT := o
export RBCONFIG_CPPFLAGS := -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT
export RBCONFIG_LDFLAGS := -L. -fstack-protector-strong -L/opt/homebrew/Cellar/gmp/6.3.0/lib
export RBCONFIG_CFLAGS := -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fdeclspec -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef -fno-common -pipe
export RBCONFIG_STRIP := strip -A -n
export RBCONFIG_RANLIB := ranlib
export RBCONFIG_OBJDUMP := objdump
export RBCONFIG_OBJCOPY := :
export RBCONFIG_NM := nm --no-llvm-bc
export RBCONFIG_LD := ld
export RBCONFIG_CXX := clang++
export RBCONFIG_AS := as
export RBCONFIG_AR := ar
export RBCONFIG_CC := clang
export RBCONFIG_wasmoptflags :=
export RBCONFIG_WASMOPT :=
export RBCONFIG_config_target := aarch64-apple-darwin24.6.0
export RBCONFIG_target_os := darwin24
export RBCONFIG_target_vendor := apple
export RBCONFIG_target_cpu := arm64
export RBCONFIG_target := arm64-apple-darwin24
export RBCONFIG_host_os := darwin24
export RBCONFIG_host_vendor := apple
export RBCONFIG_host_cpu := arm64
export RBCONFIG_host := arm64-apple-darwin24
export RBCONFIG_build_os := darwin24.6.0
export RBCONFIG_build_vendor := apple
export RBCONFIG_build_cpu := aarch64
export RBCONFIG_build := aarch64-apple-darwin24.6.0
export RBCONFIG_RUBY_VERSION_NAME := ruby-3.4.0
export RBCONFIG_RUBYW_BASE_NAME := rubyw
export RBCONFIG_RUBY_BASE_NAME := ruby
export RBCONFIG_RUBY_PROGRAM_VERSION := 3.4.7
export RBCONFIG_RUBY_API_VERSION := 3.4
export RBCONFIG_HAVE_GIT := yes
export RBCONFIG_GIT := git
export RBCONFIG_cxxflags :=
export RBCONFIG_cppflags :=
export RBCONFIG_cflags := -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fdeclspec -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef
export RBCONFIG_MAKEDIRS := /opt/homebrew/bin/gmkdir -p
export RBCONFIG_target_alias :=
export RBCONFIG_host_alias :=
export RBCONFIG_build_alias :=
export RBCONFIG_LIBS := -lpthread
export RBCONFIG_ECHO_T :=
export RBCONFIG_ECHO_N :=
export RBCONFIG_ECHO_C := \\c
export RBCONFIG_DEFS :=
export RBCONFIG_mandir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/share/man
export RBCONFIG_localedir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/share/locale
export RBCONFIG_libdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib
export RBCONFIG_psdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/share/doc/ruby
export RBCONFIG_pdfdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/share/doc/ruby
export RBCONFIG_dvidir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/share/doc/ruby
export RBCONFIG_htmldir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/share/doc/ruby
export RBCONFIG_infodir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/share/info
export RBCONFIG_docdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/share/doc/ruby
export RBCONFIG_oldincludedir := /usr/include
export RBCONFIG_includedir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/include
export RBCONFIG_runstatedir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/var/run
export RBCONFIG_localstatedir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/var
export RBCONFIG_sharedstatedir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/com
export RBCONFIG_sysconfdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/etc
export RBCONFIG_datadir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/share
export RBCONFIG_datarootdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/share
export RBCONFIG_libexecdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/libexec
export RBCONFIG_sbindir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/sbin
export RBCONFIG_bindir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/bin
export RBCONFIG_exec_prefix := /Users/seuros/.local/share/mise/installs/ruby/3.4.7
export RBCONFIG_PACKAGE_URL :=
export RBCONFIG_PACKAGE_BUGREPORT :=
export RBCONFIG_PACKAGE_STRING :=
export RBCONFIG_PACKAGE_VERSION :=
export RBCONFIG_PACKAGE_TARNAME :=
export RBCONFIG_PACKAGE_NAME :=
export RBCONFIG_PATH_SEPARATOR := :
export RBCONFIG_SHELL := /bin/sh
export RBCONFIG_UNICODE_VERSION := 15.0.0
export RBCONFIG_UNICODE_EMOJI_VERSION := 15.0
export RBCONFIG_SDKROOT :=
export RBCONFIG_platform := arm64-darwin24
export RBCONFIG_archdir := /Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib/ruby/3.4.0/arm64-darwin24
export RBCONFIG_topdir := .
export RBCONFIG_srcdir := ext/chrono_machines_native
export RUSTFLAGS := $(RB_SYS_GLOBAL_RUSTFLAGS) $(RB_SYS_EXTRA_RUSTFLAGS) $(RUSTFLAGS)
FORCE: ;
RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN ?= false
# Only run if the we are told to explicitly install the Rust toolchain
ifneq ($(RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN),false)
RB_SYS_RUSTUP_PROFILE ?= minimal
# If the user passed true, we assume stable Rust. Otherwise, use what
# was specified (i.e. RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN=beta)
ifeq ($(RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN),true)
RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN = stable
endif
# If a $RUST_TARGET is specified (i.e. for rake-compiler-dock), append
# that to the profile.
ifeq ($(RUST_TARGET),)
RB_SYS_DEFAULT_TOOLCHAIN = $(RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN)
else
RB_SYS_DEFAULT_TOOLCHAIN = $(RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN)-$(RUST_TARGET)
endif
# Since we are forcing the installation of the Rust toolchain, we need
# to set these env vars unconditionally for the build.
export CARGO_HOME := $(RB_SYS_BUILD_DIR)/$(RB_SYS_DEFAULT_TOOLCHAIN)/cargo
export RUSTUP_HOME := $(RB_SYS_BUILD_DIR)/$(RB_SYS_DEFAULT_TOOLCHAIN)/rustup
export PATH := $(CARGO_HOME)/bin:$(RUSTUP_HOME)/bin:$(PATH)
export RUSTUP_TOOLCHAIN := $(RB_SYS_DEFAULT_TOOLCHAIN)
export CARGO := $(CARGO_HOME)/bin/cargo
$(CARGO):
$(Q) $(MAKEDIRS) $(CARGO_HOME) $(RUSTUP_HOME)
$(Q) curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused -fsSL "https://sh.rustup.rs" | sh -s -- --no-modify-path --profile $(RB_SYS_RUSTUP_PROFILE) --default-toolchain none -y
$(Q) $(CARGO_HOME)/bin/rustup toolchain install $(RB_SYS_DEFAULT_TOOLCHAIN) --profile $(RB_SYS_RUSTUP_PROFILE) || (sleep 5; $(Q) $(CARGO_HOME)/bin/rustup toolchain install $(RB_SYS_DEFAULT_TOOLCHAIN) --profile $(RB_SYS_RUSTUP_PROFILE)) || (sleep 5; $(Q) $(CARGO_HOME)/bin/rustup toolchain install $(RB_SYS_DEFAULT_TOOLCHAIN) --profile $(RB_SYS_RUSTUP_PROFILE))
$(Q) $(CARGO_HOME)/bin/rustup default $(RB_SYS_DEFAULT_TOOLCHAIN) || (sleep 5; $(Q) $(CARGO_HOME)/bin/rustup default $(RB_SYS_DEFAULT_TOOLCHAIN)) || (sleep 5; $(Q) $(CARGO_HOME)/bin/rustup default $(RB_SYS_DEFAULT_TOOLCHAIN))
$(RUSTLIB): $(CARGO)
endif
$(TIMESTAMP_DIR)/.sitearchdir.time:
$(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR)
$(Q) $(TOUCH) $@
$(RUSTLIB): FORCE
$(ECHO) generating $(@) \("$(RB_SYS_CARGO_PROFILE)"\)
$(CARGO) rustc $(RB_SYS_EXTRA_CARGO_ARGS) --manifest-path $(RB_SYS_CARGO_MANIFEST_DIR)/Cargo.toml --target-dir $(RB_SYS_CARGO_TARGET_DIR) --lib $(RB_SYS_CARGO_PROFILE_FLAG) -- -C linker=clang -L native=/Users/seuros/.local/share/mise/installs/ruby/3.4.7/lib -L native=/opt/homebrew/Cellar/gmp/6.3.0/lib -C link-arg=-Wl,-undefined,dynamic_lookup -l pthread
$(DLLIB): $(RUSTLIB)
$(Q) $(COPY) "$(RUSTLIB)" $@
$(Q) $(POSTLINK)
install-so: $(DLLIB) $(TIMESTAMP_DIR)/.sitearchdir.time
$(ECHO) installing $(DLLIB) to $(RUBYARCHDIR)
$(Q) install_name_tool -id "" $(DLLIB)
$(Q) $(MAKEDIRS) $(RUBYARCHDIR)
$(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
gemclean:
$(ECHO) Cleaning gem artifacts
-$(Q)$(RM_RF) $(RUBYGEMS_CLEAN_DIRS) 2> /dev/null || true
install: install-so
all: $(DLLIB)