# SPDX-License-Identifier: GPL-2.0-only
#
# The kernel build system will generate the rest code for us,
# we do not need to care how they'll be compiled then.
#
# Copyright (C) 2023, guoct1@chinatelecom.cn.
#
MAKE := /usr/bin/env make
SOURCE := $(shell pwd)
ODIR := ../../build/ko
CONFIG_CTUNIT := m
AUTOGEN_MK := autogen.mk

ifneq ($(KERNELRELEASE),)
	include $(src)/$(AUTOGEN_MK)
else
.phony: all clean collect modules mf
all: mf
	$(MAKE) -C $(KDIR) M=$(SOURCE) modules && \
	../../scripts/collect-ko.sh $(ODIR) && \
	$(MAKE) -C $(KDIR) M=$(SOURCE) clean && rm $(SOURCE)/$(AUTOGEN_MK)

clean:
	$(MAKE) -C $(KDIR) M=$(SOURCE) clean && rm $(SOURCE)/$(AUTOGEN_MK)

collect:
	../../scripts/collect-ko.sh $(ODIR)

modules: mf
	$(MAKE) -C $(KDIR) M=$(SOURCE) modules

mf: fix-4.19-quirk
	env LIBRARY_PATH=../../lib SOURCE_PATH=. ./../../scripts/genmf.sh

fix-4.19-quirk:
	if [[ -d $(SOURCE)/.tmp_versions ]]; then rm -rf $(SOURCE)/.tmp_versions; fi
install:
	mkdir -p $(DESTDIR)/lib/modules/$(KVER)/kernel/lib/ctunit
	find . -name *.ko -exec cp {} $(DESTDIR)/lib/modules/$(KVER)/kernel/lib/ctunit/ \;
endif
