各位大侠: 小弟写了一个简单的makefile,可是在编译的时候报错,说“undefined reference to func”, 我调用的函数是在libsoft.a里面的, 里面明明有那些函数的,可是就是编译不过。内容如下: PROGRAM=soft SOURCES=main.c event.c OBJECTS=main.o event.o LIBS = ../lib/libsoft.a FLAGS = -I./ FLAGS += -I../include CC=lx4189-uclibc-gcc $(PROGRAM):: $(OBJECTS) $(CC) $(FLAGS) -o $(PROGRAM) $(OBJECTS) $(...
by mxblovemusic - 系统管理 - 2006-08-21 19:30:07 阅读(713) 回复(0)
各位大侠: 小弟写了一个简单的makefile,可是在编译的时候报错,说“undefined reference to func”, 我调用的函数是在libsoft.a里面的, 里面明明有那些函数的,可是就是编译不过。内容如下: PROGRAM=soft SOURCES=main.c event.c OBJECTS=main.o event.o LIBS = ../lib/libsoft.a FLAGS = -I./ FLAGS += -I../include CC=lx4189-uclibc-gcc $(PROGRAM):: $(OBJECTS) $(CC) $(FLAGS) -o $(PROGRAM) $(OBJECTS) $(...
我写了一个驱动(hello world那种),包括:main.c lib.c lib.h makefile应该怎么写呢?我是这样写的: obj-m := main.o main.o := main.c lib.c KERNELDIR ?= /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 但是编译时报错,貌似没找到lib.c 应该怎么写呢? 另外,哪位能给个驱动编译的Make说明文档,linux驱动编译与用户空间的Make应该有很多不同
# Comment/uncomment the following line to enable/disable debugging #DEBUG = y ifeq ($(DEBUG),y) DEBFLAGS = -O -g -DSCULLC_DEBUG # "-O" is needed to expand inlines else DEBFLAGS = -O2 endif ############################### add for my linux cross-complete enviroment start yc CROSS=arm-uclibc-linux- CC = $(CROSS)gcc AR := $(CROSS)ar -rv ############################### add for my linux cross-com...
本帖最后由 dd8924 于 2014-08-20 15:00 编辑 我的makefile如下,现在编译的目标文件都在src路径下。我希望编译到指定路径下,不要用cp和rm等命令的,有知道的帮忙指导下,谢谢了。 CC = gcc #CC = /opt/hisi-linux/x86-arm/arm-hisiv200-linux/bin/arm-hisiv200-linux-gnueabi-gcc CFLAGS = -g -Wall -O3 #CFLAGS += -DSIPSI_DEBUG #LDFLAGS = -lrt -lz COMPILE = $(CC) $(CFLAGS) -c LINKCC = $(CC) $(LDFLAGS) SUBDIR := ...
刚开始学linux驱动,我自己写了一个驱动(hello world那种),包括:main.c lib.c lib.h makefile应该怎么写呢?我是这样写的: obj-m := main.o main.o := main.c lib.c KERNELDIR ?= /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules 但是编译时报错,貌似没找到lib.c 应该怎么写呢? 另外,哪位能给个驱动编译的Make说明文档,linux驱动编译与用户空...
本帖最后由 vip-weiwei 于 2012-06-01 10:43 编辑 请教驱动makefile中: modules: $(MAKE) -C $(KERNELDIR) M=$(PWD) LDDINC=$(PWD)/../include modules 中的LDDINC=$(PWD)/../include 是什么意思?LDDINC是命令吗?
简单的makefile文件 obj-m := file.o KERNELDIR ?= /lib/modules/$(shell uname -r)/build PWD ?= $(shell pwd) defalult: make -C ${KERNELDIR} M=${PWD} modules install: insmod file.ko uninstall: rmmod file.ko clear: make -C ${KERNELDIR} M=${PWD} clean obj-m := file.o指定需要产生的KO模块需要的.O文件 KERNELDIR := /lib/modules/2.6.23.1-42.fc8/build $(MAKE) -C $(KERNELDIR) M=$(PWD) m...
本帖最后由 cheng_bingyuan 于 2012-12-26 22:10 编辑 我下了一个叫kermit的软件源码,打开makefile,发现里面有很多伪目标,定义了在不同平台下的编译规则 如linux: …… 或 linux+krb5:…… ,我在linux下编译的话就是执行make linux , 请问第二个伪目标linux+krb5中的“+”有没有特殊意义,或者就只是一个名字的一部分而已?我在想当我执行make linux时 伪目标linux+krb5下的命令会不会也被执行? 已解决:我自己编了...
1. PHONY 目标 PHONY 目标并非实际的文件名:只是在显式请求时执行命令的名字。有两种理由需要使用PHONY 目标:避免和同名文件冲突,改善性能。 如果编写一个规则,并不产生目标文件,则其命令在每次make 该目标时都执行。 例如: clean: rm *.o temp 因为"rm"命令并不产生"clean"文件,则每次执行"make clean"的时候,该命令都会执行。如果目录中出现了"clean"文件,则规则失效了:没有依赖文件,文件"cl...
PHONY 目标 PHONY 目标并非实际的文件名:只是在显式请求时执行命令的名字。有两种理由需要使用PHONY 目标:避免和同名文件冲突,改善性能。 如果编写一个规则,并不产生目标文件,则其命令在每次make 该目标时都执行。 例如: clean: rm *.o temp 因为"rm"命令并不产生"clean"文件,则每次执行"make clean"的时候,该命令都会执行。如果目录中出现了"clean"文件,则规则失效了:没有依赖文件,文件"clean...