view drivers/Makefile @ 18708:9e2b300db17b

Change free_sh_audio() to take demuxer and stream id as parameters (same as new_sh_audio()) instead of sh_audio_t *, use those to remove the pointer from demuxer->a_streams[] before freeing it. Some demuxers use free_sh_audio() to undo the creation of an already-allocated audio stream in case of error. These uses were unsafe since free_sh_audio() freed the data structure but left the pointer in demuxer->a_streams[], leading to double free later in free_demuxer() (and perhaps use of the freed stream before that, I didn't check).
author uau
date Wed, 14 Jun 2006 14:05:59 +0000
parents b069afd2a0de
children 618d1857f4c4
line wrap: on
line source

KERNEL_DIR=/lib/modules/`uname -r`/build
KERNEL_INCLUDES= $(KERNEL_DIR)/include
INCLUDES = -I$(KERNEL_INCLUDES) -I$(KERNEL_INCLUDES)/asm
VERSION = $(shell grep UTS_RELEASE $(KERNEL_INCLUDES)/linux/version.h | cut -d '"' -f2)
MDIR = /lib/modules/$(VERSION)/misc

ifneq (,$(findstring 2.6, $(VERSION)))
obj-m += mga_vid.o
CFLAGS = -O2  -D__KERNEL__  -DMODULE  	 -include $(KERNEL_INCLUDES)/config/modversions.h -Wall
else
CFLAGS = -O2  -D__KERNEL__  -DMODULE  	 -include $(KERNEL_INCLUDES)/linux/modversions.h -Wall
endif

all:
ifneq (,$(findstring 2.6, $(VERSION)))
	$(MAKE) mga_vid.ko mga_vid_test
else
	$(MAKE) mga_vid.o mga_vid_test
endif
# sis_vid.o

mga_vid.o: mga_vid.c mga_vid.h
	$(CC) $(CFLAGS) $(INCLUDES) -c $(basename $@).c

mga_vid.ko: mga_vid.c mga_vid.h
	$(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules

sis_vid.o: sis_vid.c sis_vid.h
	$(CC) $(CFLAGS) $(INCLUDES) -c $(basename $@).c

mga_vid_test: mga_vid_test.c
	$(CC) -O $(INCLUDES) -o $@ $@.c

tdfx_vid.o: tdfx_vid.c 3dfx.h
	$(CC) $(CFLAGS) $(INCLUDES) -c $(basename $@).c

tdfx_vid_tst: tdfx_vid_tst.c
	$(CC) -O $(INCLUDES) -o $@ $@.c

install: mga_vid.o
	-mkdir -p $(MDIR)
ifneq (,$(findstring 2.6, $(VERSION)))
	install -m 644 mga_vid.ko $(MDIR)/mga_vid.ko
else
	install -m 644 mga_vid.o $(MDIR)/mga_vid.o
endif
	depmod -a

dep:

clean: 
	rm -f *.o *.a *~
	rm -f *.ko .mga* mga_vid.mod.c

distclean: clean
	rm -f mga_vid_test tdfx_vid_tst