开发者

Include dir in makefile

I am compiling one C file in Ubuntu but I am getting an error in including a header file. My Makefile is as follows:

obj-m := ov7725.o
CC = /opt/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc
EXTRA_CFLAGS  +=-march=armv5
CFLAGS  += -I /usr/local/arm/3.3.2/arm-linux/sys-include/linux
#LINUXKERNEL_INSTALL_DIR = /lib/modules/2.6.32-21-generic/build
#CFLAGS = -Wall -I $(LINUXKERNEL_INSTALL_DIR)

#export LINUXKERNEL_INSTALL_DIR CROSS_COMPILE CFLAGS PLATFORM
KDIR := /home/mayank/DM355SDK789311old/fs/fs/lib/modules/2.6.29-ridgerun-davinci1/build
#/lib/modules/2.6.32-32-generic-pae/build
PWD := $(shell pwd)

default:
#   $(MAKE) -C $(KDIR) M=$(PWD) modules
    make -C $(KDIR) ARCH=arm CROSS_COMPILE=/opt/arm-linux-gnueabi/bin/arm-linux-    gnueabi- M=`pwd` modules

#all:
#   $(CROSS_COMPILE) gpio_custom_dir_driver.c -o hello
clean:
    rm -rf *o user_gpio

But even after including the line with CFLAGS in the makefile, I am getting an error for one header file not included which is present in the included directory.

Is there any other way, how can I include header files i开发者_开发技巧n a makefile?


Your CFLAGS and EXTRA_CFLAGS are not applied correctly. In makefile they are just common names for C compiler options/definitions and have to be added into command line invoking compiler (CROSS_COMPILE), but not through environment variables (as you tried to do with export - which is apparently wrong in makefile). You have to have something similar to the following in your makefile:

<target>:
     $(CROSS_COMPILE) $(CFLAGS) $(EXTRA_CFLAGS) ....
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜