Arm-Linux摄像头驱动程序的移植
# Detect SMP support
ifneq ($(strip $(shell grep define CONFIG_SMP 1 $(KERNEL_ACFILE))),)
DEFINES += -D__SMP__ -DSMP
endif
# Setup the tools
#CC = gcc
#LD = ld
CC=arm-linux-gcc
LD =arm-linux-gcc
# Setup compiler warnings
WARNINGS = -Wall -Wpointer-arith
WARNINGS += -Wcast-align -Wwrite-strings -Wstrict-prototypes
WARNINGS += -Wuninitialized -Wreturn-type -Wunused -Wparentheses
# Setup compiler flags
CFLAGS = -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe
CFLAGS += -mpreferred-stack-boundary=2
CFLAGS += -I$(KINCLUDE) -Idrivers/usb
# Setup link flags
LDFLAGS = --strip-debug -r
# Setup the list of files to be included in a distribution
DIST_FILES = CHANGELOG \
README \
Makefile \
drivers/usb/Config.in \
drivers/usb/spcadecoder.c \
drivers/usb/spcadecoder.h \
drivers/usb/spcagamma.h \
drivers/usb/spcaCompat.h \
drivers/usb/spcausb.h \
drivers/usb/spca500_init.h \
drivers/usb/spca501_init.h \
drivers/usb/sp5xxfw2.dat \
drivers/usb/sp5xxfw2.h \
drivers/usb/spca505_init.h \
drivers/usb/spca506.h \
drivers/usb/spca508_init.h \
drivers/usb/spca561.h \
drivers/usb/sonix.h \
drivers/usb/cs2102.h \
drivers/usb/hv7131b.h \
drivers/usb/icm105a.h \
drivers/usb/hv7131c.h \
drivers/usb/hdcs2020.h \
drivers/usb/pb0330.h \
drivers/usb/tas5130c.h \
drivers/usb/zc3xx.h\
drivers/usb/tv8532.h\
drivers/usb/cxlib.h\
drivers/usb/sn9cxxx.h\
drivers/usb/cx11646.h\
drivers/usb/pac207.h\
drivers/usb/spca5xx.c \
drivers/usb/spca5xx.h
OBJS = drivers/usb/spcadecoder.o \
drivers/usb/spca5xx.o
BINARY = spca5xx.o
###
# Targets follow here
binary:$(OBJS)
@echo Linking $(BINARY)
@$(LD) $(LDFLAGS) -o $(BINARY) $(OBJS)
install: binary
@echo Installing.. Your root password may be required.
su -c "make install-root"
install-root:
@echo Installing..
@mkdir -p /lib/modules/`uname -r`/kernel/drivers/usb
@rm -f /lib/modules/`uname -r`/kernel/drivers/usb/spca50x.o
@rm -f /lib/modules/`uname -r`/kernel/drivers/usb/et61x.o
@cp spca5xx.o /lib/modules/`uname -r`/kernel/drivers/usb/spca5xx.o
@/sbin/depmod
dist:clean binary
@echo Making distributable archives
@rm -f spca5xx-src-$(VERSION).tar.gz
@tar zcf spca5xx-src-$(VERSION).tar.gz $(DIST_FILES)
@rm -f spca5xx-module-$(VERSION).tar.gz
@cp $(BINARY) spca5xx-$(VERSION).o
@tar zcf spca5xx-module-$(VERSION).tar.gz spca5xx-$(VERSION).o README
@rm spca5xx-$(VERSION).o
.c.o:Makefile $*.c
@echo Compiling $*.c
@$(CC) $(CFLAGS) $(WARNINGS) $(DEFINES) -c $*.c -o $*.o
###
# Dependencies follow here
drivers/usb/spca5xx.o: drivers/usb/spca5xx.h \
drivers/usb/spcaCompat.h \
drivers/usb/spcausb.h \
drivers/usb/sonix.h \
drivers/usb/spca500_init.h \
drivers/usb/spca501_init.h \
drivers/usb/sp5xxfw2.h \
drivers/usb/spca505_init.h \
drivers/usb/spca506.h \
drivers/usb/spca508_init.h \
drivers/usb/spca561.h \
drivers/usb/zc3xx.h\
drivers/usb/tv8532.h\
drivers/usb/cx11646.h\
drivers/usb/mr97311.h\
drivers/usb/sn9cxxx.h\
drivers/usb/pac207.h\
drivers/usb/spcadecoder.o: drivers/usb/spcadecoder.h \
drivers/usb/spcagamma.h \
endif # End kernel version test
##############################################################################
# OTHER TARGETS
##############################################################################
clean:
rm -r -f drivers/usb/*.o drivers/usb/.spcadecoder.o.cmd \
drivers/usb/.spca5xx.o.cmd *.o *.ko *.mod.* .[a-z]* core *.i
##############################################################################
关于修改Makefile文件做几点说明:1Makefile文件针对不同内核回编译成不同的目标文件,该Makefile前部分是针对2.6的内核,后部分针对2.4的内核,用户根据自己的内核进行修改,我修改的是2.6.9的内核,关于2.4.x是表示2.4的某个版本,只是一个代号,用户自己根据实际修改。2修改的东西,主要有两个,一是gcc变成arm-linux-gcc;二是内核路径,注意这是交叉编译环境的内
Arm-Linux摄像头驱 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)