Re: How to pass flag from makefile to preprocesor when building external kernel module

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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:
Hi
I 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)

BR
Tomek

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]

  Powered by Linux