RB_SYS_BUILD_DIR ?= /build/gitlab/src/gitlab-foss/vendor/bundle/ruby/3.4.0/gems/gitlab-glfm-markdown-0.0.36/ext/glfm_markdown/.rb-sys
CARGO ?= cargo
CARGO_BUILD_TARGET ?= 
SOEXT ?= so


# 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 ?= --locked
RB_SYS_CARGO_MANIFEST_DIR ?= .

# 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 = /glfm_markdown
TARGET_NAME = glfm_markdown
TARGET_ENTRY = Init_$(TARGET_NAME)
RUBYARCHDIR = $(sitearchdir)$(target_prefix)
TARGET = glfm_markdown
DLLIB = $(TARGET).so
RUSTLIBDIR = $(RB_SYS_FULL_TARGET_DIR)/$(RB_SYS_CARGO_PROFILE_DIR)
RUSTLIB = $(RUSTLIBDIR)/$(SOEXT_PREFIX)$(TARGET_NAME).$(SOEXT)
TIMESTAMP_DIR = .
POSTLINK = :

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 = .
topdir = /usr/include/ruby-3.4.0
hdrdir = $(topdir)
arch_hdrdir = /usr/include/ruby-3.4.0/x86_64-linux
PATH_SEPARATOR = :
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby

prefix = $(DESTDIR)/usr

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 = $(prefix)/include

runstatedir = $(localstatedir)/run

localstatedir = $(DESTDIR)/var

sharedstatedir = $(DESTDIR)/var/lib

sysconfdir = $(DESTDIR)/etc

datadir = $(datarootdir)

datarootdir = $(prefix)/share

libexecdir = $(DESTDIR)/usr/lib/ruby

sbindir = $(exec_prefix)/sbin

bindir = $(exec_prefix)/bin

archdir = $(rubyarchdir)



CC_WRAPPER = 
CC = gcc
CXX = g++
LIBRUBY = $(LIBRUBY_SO)
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static $(MAINLIBS)
empty =
OUTFLAG = -o $(empty)
COUTFLAG = -o $(empty)
CSRCFLAG = $(empty)

RUBY_EXTCONF_H = 
cflags   = $(hardenflags)  $(optflags) $(debugflags) $(warnflags)
cxxflags = 
optflags = -O3 -fno-fast-math
debugflags = -ggdb3
warnflags = -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef
cppflags = 
CCDLFLAGS = -fPIC
CFLAGS   = $(CCDLFLAGS) -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/ruby/src=/usr/src/debug/ruby -flto=auto -fPIC $(ARCH_FLAG)
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
DEFS     = 
CPPFLAGS =   $(DEFS) $(cppflags)
CXXFLAGS = $(CCDLFLAGS) -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/ruby/src=/usr/src/debug/ruby -flto=auto $(ARCH_FLAG)
ldflags  = -L. -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now          -Wl,-z,pack-relative-relocs -flto=auto -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed
dldflags = -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now          -Wl,-z,pack-relative-relocs -flto=auto -Wl,--compress-debug-sections=zlib 
ARCH_FLAG = 
DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
LDSHARED = $(CC) -shared
LDSHAREDXX = $(CXX) -shared
POSTLINK = :
AR = gcc-ar
LD = ld
EXEEXT = 


RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)

RUBY_SO_NAME = ruby

RUBYW_INSTALL_NAME = 

RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)

RUBYW_BASE_NAME = rubyw

RUBY_BASE_NAME = ruby


arch = x86_64-linux
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 --ignore-fail-on-non-empty -p
MAKEDIRS = /usr/bin/mkdir -p
INSTALL = /usr/bin/install -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 = gcc-ar
export RBCONFIG_DESTDIR := 
export RBCONFIG_MAJOR := 3
export RBCONFIG_MINOR := 4
export RBCONFIG_TEENY := 7
export RBCONFIG_PATCHLEVEL := 58
export RBCONFIG_INSTALL := /usr/bin/install -c
export RBCONFIG_EXEEXT := 
export RBCONFIG_prefix := /usr
export RBCONFIG_ruby_install_name := ruby
export RBCONFIG_RUBY_INSTALL_NAME := ruby
export RBCONFIG_RUBY_SO_NAME := ruby
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 := /usr/include/ruby-3.4.0/vendor_ruby/x86_64-linux
export RBCONFIG_sitearchhdrdir := /usr/include/ruby-3.4.0/site_ruby/x86_64-linux
export RBCONFIG_rubyarchhdrdir := /usr/include/ruby-3.4.0/x86_64-linux
export RBCONFIG_vendorhdrdir := /usr/include/ruby-3.4.0/vendor_ruby
export RBCONFIG_sitehdrdir := /usr/include/ruby-3.4.0/site_ruby
export RBCONFIG_rubyhdrdir := /usr/include/ruby-3.4.0
export RBCONFIG_RUBY_SEARCH_PATH := 
export RBCONFIG_UNIVERSAL_INTS := 
export RBCONFIG_UNIVERSAL_ARCHNAMES := 
export RBCONFIG_configure_args := '--prefix=/usr' '--sysconfdir=/etc' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib/ruby' '--enable-shared' '--disable-rpath' '--with-dbm-type=gdbm_compat' 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/ruby/src=/usr/src/debug/ruby -flto=auto' 'LDFLAGS=-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now          -Wl,-z,pack-relative-relocs -flto=auto' 'CXXFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/ruby/src=/usr/src/debug/ruby -flto=auto'
export RBCONFIG_CONFIGURE := configure
export RBCONFIG_vendorarchdir := /usr/lib/ruby/vendor_ruby/3.4.0/x86_64-linux
export RBCONFIG_vendorlibdir := /usr/lib/ruby/vendor_ruby/3.4.0
export RBCONFIG_vendordir := /usr/lib/ruby/vendor_ruby
export RBCONFIG_sitearchdir := /usr/lib/ruby/site_ruby/3.4.0/x86_64-linux
export RBCONFIG_sitelibdir := /usr/lib/ruby/site_ruby/3.4.0
export RBCONFIG_sitedir := /usr/lib/ruby/site_ruby
export RBCONFIG_rubyarchdir := /usr/lib/ruby/3.4.0/x86_64-linux
export RBCONFIG_rubylibdir := /usr/lib/ruby/3.4.0
export RBCONFIG_ruby_version := 3.4.0
export RBCONFIG_sitearch := x86_64-linux
export RBCONFIG_arch := x86_64-linux
export RBCONFIG_sitearchincludedir := /usr/include/x86_64-linux
export RBCONFIG_archincludedir := /usr/include/x86_64-linux
export RBCONFIG_sitearchlibdir := /usr/lib/x86_64-linux
export RBCONFIG_archlibdir := /usr/lib/x86_64-linux
export RBCONFIG_libdirname := libdir
export RBCONFIG_RUBY_EXEC_PREFIX := /usr
export RBCONFIG_RUBY_LIB_VERSION := 
export RBCONFIG_RUBY_LIB_VERSION_STYLE := 3	/* full */
export RBCONFIG_RI_BASE_NAME := ri
export RBCONFIG_ridir := /usr/share/ri
export RBCONFIG_rubysitearchprefix := /usr/lib/ruby/x86_64-linux
export RBCONFIG_rubyarchprefix := /usr/lib/ruby/x86_64-linux
export RBCONFIG_MAKEFILES := Makefile GNUmakefile
export RBCONFIG_USE_LLVM_WINDRES := 
export RBCONFIG_PLATFORM_DIR := 
export RBCONFIG_COROUTINE_TYPE := amd64
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 := -lz -lrt -lrt -lgmp -ldl -lcrypt -lm -lpthread
export RBCONFIG_ENABLE_SHARED := yes
export RBCONFIG_DLDSHARED := gcc -shared
export RBCONFIG_DLDLIBS := -lc
export RBCONFIG_SOLIBS := -lz -lrt -lrt -lgmp -ldl -lcrypt -lm -lpthread
export RBCONFIG_LIBRUBYARG_SHARED := -lruby
export RBCONFIG_LIBRUBYARG_STATIC := -lruby-static -lz -lrt -lrt -lgmp -ldl -lcrypt -lm -lpthread
export RBCONFIG_LIBRUBYARG := -lruby
export RBCONFIG_LIBRUBY := libruby.so.3.4.7
export RBCONFIG_LIBRUBY_ALIASES := libruby.so.3.4 libruby.so
export RBCONFIG_LIBRUBY_SONAME := libruby.so.3.4
export RBCONFIG_LIBRUBY_SO := libruby.so.3.4.7
export RBCONFIG_LIBRUBY_A := libruby-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 -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -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 := /usr/lib/ruby
export RBCONFIG_setup := Setup
export RBCONFIG_SOEXT := so
export RBCONFIG_TRY_LINK := 
export RBCONFIG_PRELOADENV := LD_PRELOAD
export RBCONFIG_LIBPATHENV := LD_LIBRARY_PATH
export RBCONFIG_RPATHFLAG := 
export RBCONFIG_LIBPATHFLAG := -L%s
export RBCONFIG_LINK_SO := \n:
export RBCONFIG_ADDITIONAL_DLDFLAGS := 
export RBCONFIG_ENCSTATIC := 
export RBCONFIG_EXTSTATIC := 
export RBCONFIG_ASMEXT := S
export RBCONFIG_LIBEXT := a
export RBCONFIG_DLEXT := so
export RBCONFIG_LDSHAREDXX := g++ -shared
export RBCONFIG_LDSHARED := gcc -shared
export RBCONFIG_CCDLFLAGS := -fPIC
export RBCONFIG_STATIC := 
export RBCONFIG_ARCH_FLAG := 
export RBCONFIG_DLDFLAGS := -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now          -Wl,-z,pack-relative-relocs -flto=auto -Wl,--compress-debug-sections=zlib
export RBCONFIG_ALLOCA := 
export RBCONFIG_dsymutil := 
export RBCONFIG_codesign := 
export RBCONFIG_cleanlibs := 
export RBCONFIG_POSTLINK := :
export RBCONFIG_incflags := 
export RBCONFIG_WERRORFLAG := -Werror
export RBCONFIG_RUBY_DEVEL := 
export RBCONFIG_CHDIR := cd -P
export RBCONFIG_RMALL := rm -fr
export RBCONFIG_RMDIRS := rmdir --ignore-fail-on-non-empty -p
export RBCONFIG_RMDIR := rmdir --ignore-fail-on-non-empty
export RBCONFIG_CP := cp
export RBCONFIG_RM := rm -f
export RBCONFIG_PKG_CONFIG := pkg-config
export RBCONFIG_DOXYGEN := doxygen
export RBCONFIG_DOT := dot
export RBCONFIG_MKDIR_P := /usr/bin/mkdir -p
export RBCONFIG_INSTALL_DATA := /usr/bin/install -c -m 644
export RBCONFIG_INSTALL_SCRIPT := /usr/bin/install -c
export RBCONFIG_INSTALL_PROGRAM := /usr/bin/install -c
export RBCONFIG_SET_MAKE := 
export RBCONFIG_LN_S := ln -s
export RBCONFIG_DLLWRAP := 
export RBCONFIG_WINDRES := 
export RBCONFIG_ARFLAGS := rcD
export RBCONFIG_try_header := 
export RBCONFIG_CC_VERSION_MESSAGE := gcc (GCC) 15.2.1 20250813\nCopyright (C) 2025 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions.  There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
export RBCONFIG_CC_VERSION := gcc --version
export RBCONFIG_CSRCFLAG := 
export RBCONFIG_COUTFLAG := -o
export RBCONFIG_OUTFLAG := -o
export RBCONFIG_CPPOUTFILE := -o conftest.i
export RBCONFIG_GNU_LD := yes
export RBCONFIG_GCC := yes
export RBCONFIG_CPP := gcc -E
export RBCONFIG_CXXFLAGS := -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/ruby/src=/usr/src/debug/ruby -flto=auto
export RBCONFIG_OBJEXT := o
export RBCONFIG_CPPFLAGS := 
export RBCONFIG_LDFLAGS := -L. -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now          -Wl,-z,pack-relative-relocs -flto=auto -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed
export RBCONFIG_CFLAGS := -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/ruby/src=/usr/src/debug/ruby -flto=auto -fPIC
export RBCONFIG_STRIP := strip -S -x
export RBCONFIG_RANLIB := gcc-ranlib
export RBCONFIG_OBJDUMP := objdump
export RBCONFIG_OBJCOPY := objcopy
export RBCONFIG_NM := gcc-nm
export RBCONFIG_LD := ld
export RBCONFIG_CXX := g++
export RBCONFIG_AS := as
export RBCONFIG_AR := gcc-ar
export RBCONFIG_CC := gcc
export RBCONFIG_wasmoptflags := 
export RBCONFIG_WASMOPT := 
export RBCONFIG_config_target := x86_64-pc-linux-gnu
export RBCONFIG_target_os := linux
export RBCONFIG_target_vendor := pc
export RBCONFIG_target_cpu := x86_64
export RBCONFIG_target := x86_64-pc-linux
export RBCONFIG_host_os := linux
export RBCONFIG_host_vendor := pc
export RBCONFIG_host_cpu := x86_64
export RBCONFIG_host := x86_64-pc-linux
export RBCONFIG_build_os := linux-gnu
export RBCONFIG_build_vendor := pc
export RBCONFIG_build_cpu := x86_64
export RBCONFIG_build := x86_64-pc-linux-gnu
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 := no
export RBCONFIG_GIT := git
export RBCONFIG_cxxflags := 
export RBCONFIG_cppflags := 
export RBCONFIG_cflags := -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef
export RBCONFIG_MAKEDIRS := /usr/bin/mkdir -p
export RBCONFIG_target_alias := 
export RBCONFIG_host_alias := 
export RBCONFIG_build_alias := 
export RBCONFIG_LIBS := -lm -lpthread
export RBCONFIG_ECHO_T := 
export RBCONFIG_ECHO_N := -n
export RBCONFIG_ECHO_C := 
export RBCONFIG_DEFS := 
export RBCONFIG_mandir := /usr/share/man
export RBCONFIG_localedir := /usr/share/locale
export RBCONFIG_libdir := /usr/lib
export RBCONFIG_psdir := /usr/share/doc/ruby
export RBCONFIG_pdfdir := /usr/share/doc/ruby
export RBCONFIG_dvidir := /usr/share/doc/ruby
export RBCONFIG_htmldir := /usr/share/doc/ruby
export RBCONFIG_infodir := /usr/share/info
export RBCONFIG_docdir := /usr/share/doc/ruby
export RBCONFIG_oldincludedir := /usr/include
export RBCONFIG_includedir := /usr/include
export RBCONFIG_runstatedir := /var/run
export RBCONFIG_localstatedir := /var
export RBCONFIG_sharedstatedir := /var/lib
export RBCONFIG_sysconfdir := /etc
export RBCONFIG_datadir := /usr/share
export RBCONFIG_datarootdir := /usr/share
export RBCONFIG_libexecdir := /usr/lib/ruby
export RBCONFIG_sbindir := /usr/sbin
export RBCONFIG_bindir := /usr/bin
export RBCONFIG_exec_prefix := /usr
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_platform := x86_64-linux
export RBCONFIG_archdir := /usr/lib/ruby/3.4.0/x86_64-linux
export RBCONFIG_topdir := .
export RBCONFIG_srcdir := .
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)
	$(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=gcc -L native=/usr/lib -C link-arg=-Wl,-O1 -C link-arg=-Wl,--sort-common -C link-arg=-Wl,--as-needed -C link-arg=-Wl,-z,relro -C link-arg=-Wl,-z,now -C link-arg=-Wl,-z,pack-relative-relocs -C link-arg=-flto=auto -C link-arg=-lm -l pthread

$(DLLIB): $(RUSTLIB)
	$(Q) $(COPY) "$(RUSTLIB)" $@
	$(Q) $(POSTLINK)

install-so: $(DLLIB) $(TIMESTAMP_DIR)/.sitearchdir.time
	$(ECHO) installing $(DLLIB) to $(RUBYARCHDIR)
	
	$(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 gemclean

all: $(DLLIB)
