#!/usr/bin/make -f
# SPDX-License-Identifier: GPL-2.0-only

include debian/rules.vars

srctree = $(abs_srctree)

ifneq (,$(filter-out parallel=1,$(filter parallel=%,$(DEB_BUILD_OPTIONS))))
    NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
    MAKEFLAGS += -j$(NUMJOBS)
endif

PERF_BUILD_OPTS := prefix=/usr HAVE_NO_LIBBFD=1 HAVE_CPLUS_DEMANGLE_SUPPORT=1 CROSS_COMPILE=$(CROSS_COMPILE) NO_LIBPYTHON=1 NO_LIBPERL=1 WERROR=0

# Conditional flags based on whether it's a cross-compile
ifeq ("$(DEB_BUILD_GNU_TYPE)", "$(DEB_HOST_GNU_TYPE)")
    # Building for the host
    ADDITIONAL_OPTS :=
else
    # Cross-compiling
    ADDITIONAL_OPTS := NO_LIBELF=1 NO_LIBTRACEEVENT=1
endif

.PHONY: binary binary-indep binary-arch
binary: binary-arch binary-indep
binary-indep: build-indep
binary-arch: build-arch
	$(MAKE) -f $(srctree)/Makefile ARCH=$(ARCH) \
	KERNELRELEASE=$(KERNELRELEASE) \
	run-command KBUILD_RUN_COMMAND=+$(srctree)/scripts/package/builddeb

.PHONY: build build-indep build-arch
build: build-arch build-indep
build-indep:
build-arch:
	$(MAKE) -f $(srctree)/Makefile ARCH=$(ARCH) \
	KERNELRELEASE=$(KERNELRELEASE) \
	$(shell $(srctree)/scripts/package/deb-build-option) \
	olddefconfig all
	# perf
	cd $(srctree)/tools/perf && $(MAKE) $(PERF_BUILD_OPTS) $(ADDITIONAL_OPTS)
	cd $(srctree)/tools/perf && $(MAKE) $(PERF_BUILD_OPTS) $(ADDITIONAL_OPTS) man

.PHONY: clean
clean:
	rm -rf debian/files debian/linux-*
	$(MAKE) -f $(srctree)/Makefile ARCH=$(ARCH) clean
	# perf
	cd $(srctree)/tools/perf && $(MAKE) clean