Включить dir в make-файл - PullRequest
       23

Включить dir в make-файл

0 голосов
/ 16 июля 2011

Я компилирую один файл C в Ubuntu, но получаю сообщение об ошибке, включая файл заголовка.Мой Makefile выглядит следующим образом:

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

Но даже после включения строки с CFLAGS в make-файл я получаю сообщение об ошибке для одного не включенного заголовочного файла, который присутствует во включенном каталоге.

Есть ли другой способ, как я могу включить заголовочные файлы в make-файл?

1 Ответ

0 голосов
/ 17 июля 2011

Ваши CFLAGS и EXTRA_CFLAGS применены неправильно.В makefile они являются просто общими именами для опций / определений компилятора C и должны быть добавлены в командную строку, вызывающую компилятор ( CROSS_COMPILE ), но не через переменные среды (как вы пытались сделать с экспортом - что, очевиднонеправильно в makefile).В вашем make-файле должно быть что-то похожее на следующее:

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