📄 makefile
字号:
ifeq ($(obj),)obj = .endif################################################## configurationinclude $(obj)/Make.config# symbol exportsexport-objs := video-buf.o v4l1-compat.o v4l2-common.oexport-objs += ir-common.oexport-objs += bttv-if.o btcx-risc.oexport-objs += cx88-cards.o cx88-core.o# drivers objectsbttv-objs := bttv-driver.o bttv-cards.o bttv-risc.o bttv-if.o \ bttv-vbi.o bttv-i2c.osaa7134-objs := saa7134-core.o saa7134-i2c.o saa7134-video.o \ saa7134-vbi.o saa7134-tvaudio.o saa7134-oss.o \ saa7134-cards.o saa7134-ts.ocx88xx-objs := cx88-cards.o cx88-core.ocx8800-objs := cx88-video.o cx88-tvaudio.o cx88-i2c.olist-multi := bttv.o saa7134.o cx88xx.o cx8800.o# what to buildobj-m := video-buf.o v4l1-compat.o v4l2-common.oobj-$(CONFIG_VIDEO_BTTV) += btcx-risc.o ir-common.o bttv.oobj-$(CONFIG_VIDEO_CX88) += btcx-risc.o cx88xx.o cx8800.oobj-$(CONFIG_VIDEO_SAA7134) += saa7134.o saa6752hs.oobj-$(CONFIG_VIDEO_IR) += ir-common.oobj-$(CONFIG_VIDEO_TUNER) += tuner.o tda9887.oobj-$(CONFIG_VIDEO_TVAUDIO) += msp3400.o tvaudio.o# 2.6-only stuffifeq ($(VERSION).$(PATCHLEVEL),2.6) ifeq ($(CONFIG_VIDEO_BTTV),m) bttv-objs += bttv-gpio.o obj-$(CONFIG_VIDEO_IR) += ir-kbd-gpio.o ir-kbd-i2c.o endifendif# ir for saa7134ifeq ($(CONFIG_VIDEO_IR),m) EXTRA_CFLAGS += -DCONFIG_VIDEO_IR=1 saa7134-objs += saa7134-input.oendif################################################## compile modulesifneq ($(KERNELRELEASE),)# recursive call from kernel build systemdummy := $(shell echo $(KERNELRELEASE) > $(obj)/.version)ifeq ($(VERSION).$(PATCHLEVEL),2.6)export-objs :=elsefoo := $(shell echo "" >&2)multi-m := $(filter $(list-multi), $(obj-m))foo := $(shell echo "multi-m: $(multi-m)" >&2)int-m := $(sort $(foreach m, $(multi-m), $($(basename $(m))-objs)))foo := $(shell echo "int-m : $(int-m)" >&2)export-objs := $(filter $(int-m) $(obj-m),$(export-objs))foo := $(shell echo "export : $(export-objs)" >&2)foo := $(shell echo "" >&2)endifCC += -I$(obj)#EXTRA_CFLAGS += -gsnapshot := $(wildcard $(obj)/.snapshot)ifneq ($(snapshot),)SNAPSHOT_CFLAGS := -DSNAPSHOT='$(shell cat $(snapshot))'EXTRA_CFLAGS += $(SNAPSHOT_CFLAGS)endifbttv.o: $(bttv-objs) $(LD) -r -o $@ $(bttv-objs)cx8800.o: $(cx8800-objs) $(LD) -g -r -o $@ $(cx8800-objs)cx88xx.o: $(cx88xx-objs) $(LD) -g -r -o $@ $(cx88xx-objs)saa7134.o: $(saa7134-objs) $(LD) -g -r -o $@ $(saa7134-objs)-include $(TOPDIR)/Rules.makeelse# take version info from last module build if availableKERNELRELEASE := $(shell cat $(obj)/.version 2>/dev/null || uname -r)endifKDIR := /lib/modules/$(KERNELRELEASE)/buildPWD := $(shell pwd)DEST := /lib/modules/$(KERNELRELEASE)/$(MDIR)# locales seem to cause trouble sometimes.LC_ALL = POSIXexport LC_ALLdefault:: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modulesinstall:: strip --strip-debug $(obj-m) -su -c "mkdir -p $(DEST); cp -v $(obj-m) $(DEST); depmod -a"clean:: -rm -f *~ *.o *.ko *.mod.c -rm -f .version .*.o.flags .*.o.d .*.o.cmd .*.ko.cmd################################################## build tarballsthisdir := $(notdir $(PWD))name := $(shell echo $(thisdir) | sed 's/-.*//')ver := $(shell echo $(thisdir) | sed 's/.*-//')date := $(shell date +%Y%m%d)tardest ?= .snapdir := $(HOME)/snapshotsnap ?= $(name)release: clean rm -f .snapshot (cd ..; tar cvzf $(tardest)/$(name)-$(ver).tar.gz $(thisdir))snapshot snap tarball: clean echo $(date) > .snapshot (cd ..; tar czf $(snapdir)/$(snap)-$(date).tar.gz $(thisdir)) $(MAKE) -C $(snapdir)################################################## other stuff%.asm: %.o objdump -S $< > $@cardlists: scripts/cardlist
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -