blob: 7b687da28e6e38354dfde0497a18cbf00f05f84a [file] [log] [blame]
# 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