Files
mckernel/kernel/Makefile.in
Takehiro Shiratori d4d78e9c61 Following arm64-support to development branch
This includes the following fixes:
* fix build of arch/arm64/kernel/vdso

Change-Id: I73b05034d29f7f8731ac17f9736edbba4fb2c639
2019-02-01 15:14:45 +09:00

57 lines
1.5 KiB
Makefile

# Makefile.in COPYRIGHT FUJITSU LIMITED 2013-2018
BUILD_TARGET ?= @TARGET@
KERNDIR=@KERNDIR@
VPATH=@abs_srcdir@
ARCH ?= @ARCH@
ifeq ($(ARCH), arm64)
vdsodir=@abs_builddir@/../arch/$(ARCH)/kernel/vdso
endif
IHKBASE ?= $(VPATH)/../../ihk/cokernel
O ?= $(CURDIR)/build
V ?= $(VERBOSE)
KERNEL = kernel.img
KERNELS = $(addsuffix /$(KERNEL),$(addprefix $(O)/,$(BUILD_TARGET)))
SUBCMD_OPTS = V='$(V)' BUILD_IHK_COKERNEL=@abs_builddir@/../../ihk/cokernel
$(if $(O),,$(error Specify the compilation target directory))
#$(if $(shell ls $(IHKBASE)/Makefile),,\
# $(error IHK is not found in $(IHKBASE)))
.PHONY: all clean depend install
all: $(O) $(KERNELS)
$(O):
mkdir -p $(O)
%/kernel.img: %/Makefile $(KERNELS)
@echo 'Building for' $(dir $@)
+@make --no-print-directory -C $(dir $@) $(SUBCMD_OPTS)
%/Makefile: Makefile.build FORCE
@mkdir -p $(dir $@)
@echo 'SRC = $(SRC)' > $@
@echo 'IHKBASE = $(IHKBASE)' >> $@
@echo 'TARGET = $(notdir $(patsubst %/,%,$(dir $@)))' >> $@
@echo 'TARGETDIR = smp/$(ARCH)' >> $@
@cat Makefile.build >> $@
@rm -f $(dir $@)/Makefile.dep
clean:
rm -rf $(O)
ifeq ($(ARCH), arm64)
@rm -f $(vdsodir)/*.o $(vdsodir)/vdso.lds $(vdsodir)/vdso.so* $(vdsodir)/Makefile.dep
@rm -f $(vdsodir)/../include/vdso-offsets.h $(vdsodir)/../include/vdso-so-path.h
@if [ -d $(vdsodir)/../include ]; then rmdir --ignore-fail-on-non-empty $(vdsodir)/../include; fi
endif
install:
mkdir -p -m 755 $(KERNDIR)
install -m 755 $(O)/$(BUILD_TARGET)/kernel.img $(KERNDIR)/mckernel.img
FORCE: