diff --git a/drivers/Makefile b/drivers/Makefile index 53a2736b83..b9e6855640 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -1,16 +1,30 @@ - -KERNEL_INCLUDES = /usr/src/linux/include -INCLUDES = -I$(KERNEL_INCLUDES) -CFLAGS = -O2 -D__KERNEL__ -DMODULE -include $(KERNEL_INCLUDES)/linux/modversions.h -Wall +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 -all: mga_vid.o mga_vid_test +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 @@ -25,13 +39,21 @@ tdfx_vid_tst: tdfx_vid_tst.c install: mga_vid.o if test ! -d $(MDIR) ; then mkdir -p $(MDIR) ; fi +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 *~ +ifneq (,$(findstring 2.6, $(VERSION))) + rm -f *.ko .mga* mga_vid.mod.c +endif distclean: clean rm -f mga_vid_test +