openndr / ndr-build-env

NDR Build Environment Component
https://openndr.org
Other
0 stars 2 forks source link

ndr.kmod.mk always fail when KEXTS not set. #77

Closed Revimal closed 4 years ago

Revimal commented 4 years ago

This problem caused by 'https://github.com/openndr/ndr-build-env/commit/1179d17c2a484d6554c0f07e7297ac1cb2d8e7d4'.

As-Is

KVER ?= $(shell uname -r)
KDIR := /lib/modules/$(KVER)/build
EXTRA_CFLAGS += -I$(NBE_MK_INCPATH)
obj-m := $(KMOD).o
ifneq ($(origin KEXTS), undefined)
    KEXT_DIRS += $(foreach KEXT_ITER, $(KEXTS), $(NBE_MK_KEXTPATH)/$(KEXT_ITER)/)
    KEXT_FILES += $(foreach KEXT_ITER, $(KEXT_DIRS), $(shell ls $(KEXT_ITER)))
    FILES_ORG := $(SRCS)
    FILES_ORG += $(ASMS)
    FILES := $(KEXT_FILES)
    FILES += $(FILES_ORG)
endif
SRCS_C := $(FILES:.c=.o)
SRCS_CC := $(FILES:.cc=.o)
ASMS_S := $(FILES:.s=.o)
ASMS_ASM := $(FILES:.asm=.o)
$(KMOD)-objs := $(SRCS_C) $(SRCS_CC) $(ASMS_S) $(ASMS_ASM)

To-Be

KVER ?= $(shell uname -r)
KDIR := /lib/modules/$(KVER)/build
EXTRA_CFLAGS += -I$(NBE_MK_INCPATH)
obj-m := $(KMOD).o
FILES_ORG := $(SRCS)
FILES_ORG += $(ASMS)
FILES :=
ifneq ($(origin KEXTS), undefined)
    KEXT_DIRS += $(foreach KEXT_ITER, $(KEXTS), $(NBE_MK_KEXTPATH)/$(KEXT_ITER)/)
    KEXT_FILES += $(foreach KEXT_ITER, $(KEXT_DIRS), $(shell ls $(KEXT_ITER)))
    FILES += $(KEXT_FILES)
endif
FILES += $(FILES_ORG)
FILES := $(FILES:.c=.o)
FILES := $(FILES:.cc=.o)
FILES := $(FILES:.s=.o)
FILES := $(FILES:.asm=.o)
$(KMOD)-objs := $(FILES)