1# Copyright 2016 The Fuchsia Authors 2# 3# Use of this source code is governed by a MIT-style 4# license that can be found in the LICENSE file or at 5# https://opensource.org/licenses/MIT 6 7LOCAL_DIR := $(GET_LOCAL_DIR) 8 9MODULE := $(LOCAL_DIR) 10 11MODULE_SRCS := \ 12 $(LOCAL_DIR)/rodso.cpp \ 13 $(LOCAL_DIR)/vdso.cpp \ 14 $(LOCAL_DIR)/vdso-image.S \ 15 16MODULE_DEPS := \ 17 kernel/lib/fbl \ 18 19vdso-filename := $(BUILDDIR)/system/ulib/zircon/libzircon.so 20 21# vdso-image.S embeds this file, so building depends on it. 22MODULE_SRCDEPS += $(vdso-filename).strip 23 24# This generated header file tells the vdso.cpp code 25# where the segment boundaries and entry points are. 26MODULE_SRCDEPS += $(BUILDDIR)/$(LOCAL_DIR)/vdso-code.h 27$(BUILDDIR)/$(LOCAL_DIR)/vdso-code.h: scripts/gen-rodso-code.sh $(vdso-filename) 28 @$(MKDIR) 29 $(call BUILDECHO,generating $@) 30 $(NOECHO)$(SHELLEXEC) $< '$(NM)' '$(READELF)' \ 31 $@.new VDSO $(vdso-filename) 32 @mv -f $@.new $@ 33GENERATED += $(BUILDDIR)/$(LOCAL_DIR)/vdso-code.h 34MODULE_COMPILEFLAGS += -I$(BUILDDIR)/$(LOCAL_DIR) 35 36MODULE_SRCDEPS += $(BUILDDIR)/$(LOCAL_DIR)/vdso-valid-sysret.h 37$(BUILDDIR)/$(LOCAL_DIR)/vdso-valid-sysret.h: \ 38 scripts/gen-vdso-valid-sysret.sh $(BUILDDIR)/$(LOCAL_DIR)/vdso-code.h 39 @$(MKDIR) 40 $(call BUILDECHO,generating $@) 41 $(NOECHO)$(SHELLEXEC) $^ > $@.new 42 @mv -f $@.new $@ 43GENERATED += $(BUILDDIR)/$(LOCAL_DIR)/vdso-valid-sysret.h 44 45include make/module.mk 46