# Copyright 2016 The Fuchsia Authors
#
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT

LOCAL_DIR := $(GET_LOCAL_DIR)

MODULE := $(LOCAL_DIR)

MODULE_SRCS := \
    $(LOCAL_DIR)/rodso.cpp \
    $(LOCAL_DIR)/vdso.cpp \
    $(LOCAL_DIR)/vdso-image.S \

MODULE_DEPS := \
    kernel/lib/fbl \

vdso-filename := $(BUILDDIR)/system/ulib/zircon/libzircon.so

# vdso-image.S embeds this file, so building depends on it.
MODULE_SRCDEPS += $(vdso-filename).strip

# This generated header file tells the vdso.cpp code
# where the segment boundaries and entry points are.
MODULE_SRCDEPS += $(BUILDDIR)/$(LOCAL_DIR)/vdso-code.h
$(BUILDDIR)/$(LOCAL_DIR)/vdso-code.h: scripts/gen-rodso-code.sh $(vdso-filename)
	@$(MKDIR)
	$(call BUILDECHO,generating $@)
	$(NOECHO)$(SHELLEXEC) $< '$(NM)' '$(READELF)' \
	    $@.new VDSO $(vdso-filename)
	@mv -f $@.new $@
GENERATED += $(BUILDDIR)/$(LOCAL_DIR)/vdso-code.h
MODULE_COMPILEFLAGS += -I$(BUILDDIR)/$(LOCAL_DIR)

MODULE_SRCDEPS += $(BUILDDIR)/$(LOCAL_DIR)/vdso-valid-sysret.h
$(BUILDDIR)/$(LOCAL_DIR)/vdso-valid-sysret.h: \
    scripts/gen-vdso-valid-sysret.sh $(BUILDDIR)/$(LOCAL_DIR)/vdso-code.h
	@$(MKDIR)
	$(call BUILDECHO,generating $@)
	$(NOECHO)$(SHELLEXEC) $^ > $@.new
	@mv -f $@.new $@
GENERATED += $(BUILDDIR)/$(LOCAL_DIR)/vdso-valid-sysret.h

include make/module.mk
