# This file is generated by gyp; do not edit.

TOOLSET := target
TARGET := blst
### Rules for action "blst_wrap":
quiet_cmd_binding_gyp_blst_target_blst_wrap = ACTION binding_gyp_blst_target_blst_wrap $@
cmd_binding_gyp_blst_target_blst_wrap = LD_LIBRARY_PATH=$(builddir)/lib.host:$(builddir)/lib.target:$$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd $(srcdir)/.; mkdir -p $(obj).$(TOOLSET)/blst/geni; python blst_wrap.py ../blst.swg "$(obj).$(TOOLSET)/blst/geni/blst_wrap.cpp"

$(obj).$(TOOLSET)/$(TARGET)/geni/blst_wrap.cpp: obj := $(abs_obj)
$(obj).$(TOOLSET)/$(TARGET)/geni/blst_wrap.cpp: builddir := $(abs_builddir)
$(obj).$(TOOLSET)/$(TARGET)/geni/blst_wrap.cpp: TOOLSET := $(TOOLSET)
$(obj).$(TOOLSET)/$(TARGET)/geni/blst_wrap.cpp: $(srcdir)/blst_wrap.py $(srcdir)/../blst.swg FORCE_DO_CMD
	$(call do_cmd,binding_gyp_blst_target_blst_wrap)

all_deps += $(obj).$(TOOLSET)/$(TARGET)/geni/blst_wrap.cpp
action_binding_gyp_blst_target_blst_wrap_outputs := $(obj).$(TOOLSET)/$(TARGET)/geni/blst_wrap.cpp


DEFS_Debug := \
	'-DNODE_GYP_MODULE_NAME=blst' \
	'-DUSING_UV_SHARED=1' \
	'-DUSING_V8_SHARED=1' \
	'-DV8_DEPRECATION_WARNINGS=1' \
	'-DV8_DEPRECATION_WARNINGS' \
	'-DV8_IMMINENT_DEPRECATION_WARNINGS' \
	'-D_GLIBCXX_USE_CXX11_ABI=1' \
	'-D_LARGEFILE_SOURCE' \
	'-D_FILE_OFFSET_BITS=64' \
	'-D__STDC_FORMAT_MACROS' \
	'-DOPENSSL_NO_PINSHARED' \
	'-DOPENSSL_THREADS' \
	'-DBUILDING_NODE_EXTENSION' \
	'-DDEBUG' \
	'-D_DEBUG' \
	'-DV8_ENABLE_CHECKS'

# Flags passed to all source files.
CFLAGS_Debug := \
	-fPIC \
	-pthread \
	-Wall \
	-Wextra \
	-Wno-unused-parameter \
	-m64 \
	-fno-builtin-memcpy \
	-g \
	-O0

# Flags passed to only C files.
CFLAGS_C_Debug :=

# Flags passed to only C++ files.
CFLAGS_CC_Debug := \
	-fno-rtti \
	-fno-exceptions \
	-std=gnu++14 \
	-fexceptions

INCS_Debug := \
	-I/home/bwhite/.cache/node-gyp/16.15.0/include/node \
	-I/home/bwhite/.cache/node-gyp/16.15.0/src \
	-I/home/bwhite/.cache/node-gyp/16.15.0/deps/openssl/config \
	-I/home/bwhite/.cache/node-gyp/16.15.0/deps/openssl/openssl/include \
	-I/home/bwhite/.cache/node-gyp/16.15.0/deps/uv/include \
	-I/home/bwhite/.cache/node-gyp/16.15.0/deps/zlib \
	-I/home/bwhite/.cache/node-gyp/16.15.0/deps/v8/include \
	-I$(srcdir)/..

DEFS_Release := \
	'-DNODE_GYP_MODULE_NAME=blst' \
	'-DUSING_UV_SHARED=1' \
	'-DUSING_V8_SHARED=1' \
	'-DV8_DEPRECATION_WARNINGS=1' \
	'-DV8_DEPRECATION_WARNINGS' \
	'-DV8_IMMINENT_DEPRECATION_WARNINGS' \
	'-D_GLIBCXX_USE_CXX11_ABI=1' \
	'-D_LARGEFILE_SOURCE' \
	'-D_FILE_OFFSET_BITS=64' \
	'-D__STDC_FORMAT_MACROS' \
	'-DOPENSSL_NO_PINSHARED' \
	'-DOPENSSL_THREADS' \
	'-DBUILDING_NODE_EXTENSION'

# Flags passed to all source files.
CFLAGS_Release := \
	-fPIC \
	-pthread \
	-Wall \
	-Wextra \
	-Wno-unused-parameter \
	-m64 \
	-fno-builtin-memcpy \
	-O3 \
	-fno-omit-frame-pointer

# Flags passed to only C files.
CFLAGS_C_Release :=

# Flags passed to only C++ files.
CFLAGS_CC_Release := \
	-fno-rtti \
	-fno-exceptions \
	-std=gnu++14 \
	-fexceptions

INCS_Release := \
	-I/home/bwhite/.cache/node-gyp/16.15.0/include/node \
	-I/home/bwhite/.cache/node-gyp/16.15.0/src \
	-I/home/bwhite/.cache/node-gyp/16.15.0/deps/openssl/config \
	-I/home/bwhite/.cache/node-gyp/16.15.0/deps/openssl/openssl/include \
	-I/home/bwhite/.cache/node-gyp/16.15.0/deps/uv/include \
	-I/home/bwhite/.cache/node-gyp/16.15.0/deps/zlib \
	-I/home/bwhite/.cache/node-gyp/16.15.0/deps/v8/include \
	-I$(srcdir)/..

OBJS := \
	$(obj).$(TOOLSET)/$(TARGET)/geni/blst_wrap.o \
	$(obj).target/$(TARGET)/../../src/server.o \
	$(obj).target/$(TARGET)/../../build/assembly.o

# Add to the list of files we specially track dependencies for.
all_deps += $(OBJS)

# Make sure our actions/rules run before any of us.
$(OBJS): | $(action_binding_gyp_blst_target_blst_wrap_outputs)

# CFLAGS et al overrides must be target-local.
# See "Target-specific Variable Values" in the GNU Make manual.
$(OBJS): TOOLSET := $(TOOLSET)
$(OBJS): GYP_CFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE))  $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE))
$(OBJS): GYP_CXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE))  $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE))

# Suffix rules, putting all outputs into $(obj).

$(obj).$(TOOLSET)/$(TARGET)/%.o: $(srcdir)/%.S FORCE_DO_CMD
	@$(call do_cmd,cc,1)

$(obj).$(TOOLSET)/$(TARGET)/%.o: $(srcdir)/%.c FORCE_DO_CMD
	@$(call do_cmd,cc,1)

$(obj).$(TOOLSET)/$(TARGET)/%.o: $(srcdir)/%.cpp FORCE_DO_CMD
	@$(call do_cmd,cxx,1)

# Try building from generated source, too.

$(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj).$(TOOLSET)/%.S FORCE_DO_CMD
	@$(call do_cmd,cc,1)

$(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj).$(TOOLSET)/%.c FORCE_DO_CMD
	@$(call do_cmd,cc,1)

$(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj).$(TOOLSET)/%.cpp FORCE_DO_CMD
	@$(call do_cmd,cxx,1)

$(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj)/%.S FORCE_DO_CMD
	@$(call do_cmd,cc,1)

$(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj)/%.c FORCE_DO_CMD
	@$(call do_cmd,cc,1)

$(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj)/%.cpp FORCE_DO_CMD
	@$(call do_cmd,cxx,1)

# End of this set of suffix rules
### Rules for final target.
# Build our special outputs first.
$(obj).target/blst.node: | $(action_binding_gyp_blst_target_blst_wrap_outputs)

# Preserve order dependency of special output on deps.
$(action_binding_gyp_blst_target_blst_wrap_outputs): | 

LDFLAGS_Debug := \
	-pthread \
	-rdynamic \
	-m64 \
	-Wl,-Bsymbolic

LDFLAGS_Release := \
	-pthread \
	-rdynamic \
	-m64 \
	-Wl,-Bsymbolic

LIBS :=

$(obj).target/blst.node: GYP_LDFLAGS := $(LDFLAGS_$(BUILDTYPE))
$(obj).target/blst.node: LIBS := $(LIBS)
$(obj).target/blst.node: TOOLSET := $(TOOLSET)
$(obj).target/blst.node: $(OBJS) FORCE_DO_CMD
	$(call do_cmd,solink_module)

all_deps += $(obj).target/blst.node
# Add target alias
.PHONY: blst
blst: $(builddir)/blst.node

# Copy this to the executable output path.
$(builddir)/blst.node: TOOLSET := $(TOOLSET)
$(builddir)/blst.node: $(obj).target/blst.node FORCE_DO_CMD
	$(call do_cmd,copy)

all_deps += $(builddir)/blst.node
# Short alias for building this executable.
.PHONY: blst.node
blst.node: $(obj).target/blst.node $(builddir)/blst.node

# Add executable to "all" target.
.PHONY: all
all: $(builddir)/blst.node

