红联Linux门户
Linux帮助

谁能 帮我注释下这个Makefile文件

发布时间:2009-09-15 16:15:51来源:红联作者:njupt_baitao
SAMPLE_ROOT = $(PWD)
DVS_ROOT = $(PWD)/../../code

CC = arm-uclibc-linux-gcc

CFLAGS=-DHI_DEBUG -g -Wall
INCLUDE = -I$(DVS_ROOT)/include
INCLUDE += -I$(DVS_ROOT)/msp/include
INCLUDE += -I.
INCLUDE += -I$(DVS_ROOT)/extdrv/include
LIB = -static -lpthread -lhiapi
LIBPATH =-L$(DVS_ROOT)/msp/lib

SRC = $(wildcard *.c)
APP = $(SRC:%.c=%)

all: $(APP)

$(APP): %: %.c
$(CC) $(CFLAGS) -o $@ $ < $(INCLUDE) $(LIBPATH) $(LIB)

clean:
rm -rf $(APP)

我是用华为海思的板子,完全是个菜鸟。试着编译他们的例程发现通不过,Make了一下发现也通不过。打开Makefile,读不太懂。读了网上传的那个跟我一起写Makefile,还是不很明白。

编译那个例程出现的错误是找不到头文件,可是那个头文件的路径在Makefile里已经包括了啊,不解。各位指点下,也可以加在下的QQ282215987,感激不尽!!!
文章评论

共有 7 条评论

  1. wang7131984 于 2009-09-15 20:30:02发表:

    写成绝对路径的形式,这样写
    SAMPLE=xxxx(你的头文件的顶级目录)
    DVS_ROOT=$(SAMPLE)/code

    另外你的那变量定义也可能有错(当然我并不知道嵌入式是否有什么惯例)
    SRC = $(wildcard *.c)
    APP = $(SRC:%.c=%.o)

    all: $(APP)

    $(APP): %.o: %.c
    $(CC) $(CFLAGS) -o $@ $ < $(INCLUDE) $(LIBPATH) $(LIB)

  2. njupt_baitao 于 2009-09-15 20:18:27发表:

    6# wang7131984


    哪里错了,能详细说下吗?

  3. wang7131984 于 2009-09-15 19:39:52发表:

    -I是不需要空格的,你的DVS_ROOT写的不对。

  4. shenhao0129 于 2009-09-15 19:02:17发表:

    -I 和后面那些路径中间是要有一个空格的!你试试

  5. alick 于 2009-09-15 18:49:18发表:

    也可能你的系统上没有这些头文件

  6. wangyu 于 2009-09-15 18:02:13发表:

    找不到头文件还有可能是你的路径不对

  7. wangyu 于 2009-09-15 17:59:58发表:

    这些好像都是设置环境,没啥好注释的