ifneq ($(KERNELRELEASE), ) # linux kernel 2.6 kbuild invocation include $(src)/Make.kbuild else # command prompt invocation or linux kernel 2.4 build KERNELDIR = @KERNELDIR@ CC = @CC@ LSMOD = @LSMOD@ INSMOD = @INSMOD@ RMMOD = @RMMOD@ DEPMOD = @DEPMOD@ KERNEL_MODULE_SUFFIX = @KERNEL_MODULE_SUFFIX@ MODULE_NAME = pcidev MODULE_FILE = $(MODULE_NAME).$(KERNEL_MODULE_SUFFIX) PCIDEV_MODULE_MAKE_ALL = @PCIDEV_MODULE_MAKE_ALL@ CFLAGS = -Wstrict-prototypes -Wno-trigraphs -g -fno-strict-aliasing -fno-common -D__KERNEL__ -DMODULE -I$(KERNELDIR)/include -O -Wall .PHONY : all all : $(PCIDEV_MODULE_MAKE_ALL) .PHONY : all-kernel24 all-kernel24 : $(MODULE_FILE) $(MODULE_FILE) : pcidev.c kernel_pcidev.h .PHONY : all-kernel26 all-kernel26 : $(MAKE) -C $(KERNELDIR) SUBDIRS=$(shell pwd) modules .PHONY : clean clean : @RMCOMMAND@ *.o *~ core *.mod.* .*.cmd *.ko .PHONY : dist-clean dist-clean: clean @RMCOMMAND@ Makefile .PHONY : devices devices: @DEVICE="/dev/pcidev" ; \ if test \! -c $$DEVICE ; then \ echo "Adding $$DEVICE ..." ; \ mknod $$DEVICE c 240 0 ; \ chmod a+wr $$DEVICE ; \ ls -l $$DEVICE ; \ else \ echo "Device $$DEVICE already exists." ; \ fi # works only under linux of course .PHONY : install install: @if test $$USER != "root" ; then \ echo "Only root can install." ; \ exit 1 ; \ fi ; \ if $(LSMOD) | grep -q $(MODULE_NAME) ; then \ echo "Unloading $(MODULE_NAME) ..." ; \ $(RMMOD) $(MODULE_NAME) ; \ fi ; \ echo "Loading $(MODULE_NAME) ..." ; \ $(INSMOD) $(MODULE_FILE) ; \ echo "Done." endif