# SPDX-License-Identifier: GPL-2.0
# Fail on warnings - also for files referenced in subdirs
# -Werror can be disabled for specific files using:
# CFLAGS_<file.o> := -Wno-error
ifeq ($(W),)
subdir-ccflags-y := -Werror
endif

# platform specific definitions
include arch/mips/Kbuild.platforms
obj-y := $(platform-y)

# make clean traverses $(obj-) without having included .config, so
# everything ends up here
obj- := $(platform-y)

# mips object files
# The object files are linked as core-y files would be linked

obj-y += kernel/
obj-y += mm/
obj-y += net/
obj-y += vdso/

ifdef CONFIG_KVM
obj-y += kvm/
endif

# for cleaning
subdir- += boot
