OK, problem solved. The issue was that preprocesor directive in c: #elseif doesn't work. I don't know why but I replaced this with #ifdef ... #endif and #ifdef ... #endif instead of using #elseif in the middle and everything works.
On Fri, Aug 21, 2020 at 10:01 AM Tomek The Messenger <tomekthemessenger@xxxxxxxxx> wrote:
HiI have problem with passing flag from makefile to .c file.During building external kernel module my macro isn't seen by compiler. I used plenty of ways.First way:ccflags-y += -DMY_FLAG$(MAKE) -C $(KERNEL_SRC) M=$(SRC)Second:$(MAKE) -C $(KERNEL_SRC) M=$(SRC) CFLAGS_my-kernel-module.o="-DMY_FLAG"Third:$(MAKE) -C $(KERNEL_SRC) M=$(SRC) CFLAGS="-DMY_FLAG"Forth:$(MAKE) -C $(KERNEL_SRC) M=$(SRC) ccflags-y="-DMY_FLAG"In general I use bitbake to build external kernel modules. And I wonder if bitbake doesn't introduce issue as some of above solution really should work. And additionally I had to use absolute paths in headers because relative didn't work so -I append also doesn't work:SRC := $(shell pwd)ccflags-y := -I$(SRC)BRTomek
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies