我正在尝试将用于Amlogic Meson SoC的Mali内核模块修补到主线内核中。但是我无法传递适当的env变量来制作。
我可以使用命令行(简体)单独编译模块:
KDIR=/path/to/linux ARCH=arm64 MALI_PLATFORM=meson make -C /path/to/module
现在,我正在尝试将其集成到内核源代码树中,但是我需要传递环境变量'MALI_PLATFORM = meson'。我尝试像这样(再次简化)编辑驱动程序的makefile:
MALI_PLATFORM=meson
export MALI_PLATFORM=meson
all: $(UMP_SYMVERS_FILE)
MALI_PLATFORM=$(MALI_PLATFORM) $(MAKE) ARCH=$(ARCH) -C $(KDIR) M=$(CURDIR) modules
@rm $(FILES_PREFIX)__malidrv_build_info.c $(FILES_PREFIX)__malidrv_build_info.o
clean:
$(MAKE) ARCH=$(ARCH) -C $(KDIR) M=$(CURDIR) clean
kernelrelease:
MALI_PLATFORM=$(MALI_PLATFORM) $(MAKE) ARCH=$(ARCH) -C $(KDIR) kernelrelease
但是仍然,在编译过程中生成的信息文件告诉我env变量是这样的:
const char *__malidrv_build_info(void) { return "malidrv: API_VERSION=900 REPO_URL=remotes/origin/linux-4.19.y REVISION=-9c5931b65 CHANGED_REVISION=9c5931b65 CHANGE_DATE=20
19-01-16 22:04:38 +0100 BUILD_DATE=Sun Jan 20 23:34:34 CET 2019 BUILD=release TARGET_PLATFORM= MALI_PLATFORM= KDIR= OS_MEMORY_KERNEL_BUFFER_SIZE_IN_MB=16 USING_UMP= USING_PR
OFILING= USING_INTERNAL_PROFILING= USING_GPU_UTILIZATION=0 USING_DVFS= USING_DMA_BUF_FENCE = MALI_UPPER_HALF_SCHEDULING=1";}
如您所见,MALI_PLATFORM未设置。
设置该变量并将其传递给make的正确方法是什么?