請問這個makefile檔

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

請問這個makefile檔

文章 » 週四 6月 08, 2006 11:08 am

請問各位先進,下面是安裝webcam的makefile
我想請問如果直接用gcc自己編譯連結該如何做呢?
謝謝指教
代碼: 選擇全部
#
# Makefile for the Linux Philips USB Webcam driver
#
# NOTE: This make file can serve as both an external Makefile (launched
#       directly by the user), or as the sub-dir Makefile used by the kernel
#       build system.

# If CONFIG_USB_PWC isn't set, we'll assume the user want to build this driver has a module

ifndef CONFIG_USB_PWC
CONFIG_USB_PWC=m
# Comment the next line, if you don't want debug message and a smaller binary CONFIG_PWC_DEBUG=y
endif

ifneq ($(KERNELRELEASE),)

pwc-objs        := pwc-if.o pwc-misc.o pwc-ctrl.o pwc-v4l.o pwc-uncompress.o
pwc-objs        += pwc-dec1.o pwc-dec23.o pwc-kiara.o pwc-timon.o

obj-$(CONFIG_USB_PWC) += pwc.o

EXTRA_CFLAGS=-Wall -DXAWTV_HAS_BEEN_FIXED=1

ifeq ($(CONFIG_PWC_DEBUG),y)
EXTRA_CFLAGS += -DCONFIG_PWC_DEBUG=1
else
EXTRA_CFLAGS += -DCONFIG_PWC_DEBUG=0
endif

else
KVER  := $(shell uname -r)
KLINK := $(shell test -e /lib/modules/${KVER}/source/ && echo source || echo build)
KSRC  := /lib/modules/$(KVER)/$(KLINK)
KMISC := /lib/modules/$(KVER)/kernel/drivers/usb/media
PWD := $(shell pwd)

# Fix some problem with suse < 9.2 and suse >= 9.2
is_suse := $(shell test -e /etc/SuSE-release && echo 1 || echo 0)
ifeq ($(is_suse),1)
  suse_version := $(shell grep VERSION /etc/SuSE-release | cut -f 3 -d " "| tr -d .)
  is_suse_92_or_greater := $(shell test $(suse_version) -ge 92 && echo 1)
  ifeq ($(is_suse_92_or_greater),1)
    KSRC := /lib/modules/$(KVER)/build
  endif
endif



all default:
        $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) modules

install: default
        install -d $(KMISC)
        install -m 644 -c pwc.ko $(KMISC)
        -/sbin/depmod -a

uninstall:
        -rm -rf $(KMISC)/pwc.ko

endif

clean:
        rm -f *.[oas] .*.flags *.ko .*.cmd .*.d .*.tmp *.mod.c
        rm -rf .tmp_versions
[/code]
 

文章訪客 » 週四 6月 08, 2006 8:56 pm

make
訪客
 

文章flybird » 週四 6月 08, 2006 11:29 pm

# make clean
# make all
# make install

可否透露 WebCam 的廠牌與型號 ;-)
最後由 flybird 於 週三 6月 14, 2006 12:59 pm 編輯,總共編輯了 1 次。
車同軌、書同文,國方成!
flybird
懵懂的國中生
懵懂的國中生
 
文章: 249
註冊時間: 週三 7月 07, 2004 4:40 pm
來自: ROT

文章藍~ » 週三 6月 14, 2006 10:59 am

flybird 寫:# make clean
# make all
# make install

可否透漏 WebCam 的廠牌與型號 ;-)

我的webcam是使用quickcam 4000

我想各位大大誤會意思。可能我知道是使用make,但是我想問的是可以
直接使用gcc下指令來達成產生出pwc.ko嗎?例如 gcc -c pwc-if.h 他就會出現許多錯誤,請大大指教。
藍~
 

文章訪客 » 週三 6月 14, 2006 12:08 pm

Makefile 的原意是簡化複雜的編譯過程 也方便管理
如果閣下真的喜歡用 gcc
那你就要自己編譯所有相關的 .c .h
也需要在連結時 作出合適的設定 (e.g. lib)

http://en.wikipedia.org/wiki/Makefile
訪客
 

文章flybird » 週三 6月 14, 2006 12:55 pm

你引用的是 2.6 的 kernel module
理論上你要手動建出 ko module 是可以的
但是 kernel source 內會幫你做的規劃與規則你必須自已處理囉 :ooops:

代碼: 選擇全部
all default:
        $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) modules
這是重點 :)
車同軌、書同文,國方成!
flybird
懵懂的國中生
懵懂的國中生
 
文章: 249
註冊時間: 週三 7月 07, 2004 4:40 pm
來自: ROT

文章訪客 » 週一 6月 19, 2006 4:57 pm

謝謝大大的指導,我知道我在那邊有錯了。^^
訪客
 

文章flybird » 週日 5月 06, 2007 12:44 am

不妨將解法公告一下
把這個坑填平
讓其它人不會撞到鋼圈歪七扭八 :-D
車同軌、書同文,國方成!
flybird
懵懂的國中生
懵懂的國中生
 
文章: 249
註冊時間: 週三 7月 07, 2004 4:40 pm
來自: ROT


回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron