| # Linux makefile for sheep_net driver |
| KERNEL_DIR = /lib/modules/$(shell uname -r) |
| KERNEL_SOURCE = $(KERNEL_DIR)/build |
| LV := $(shell test -f $(KERNEL_SOURCE)/Rules.make && echo 24 || echo 26) |
| MP := $(shell test -f $(KERNEL_SOURCE)/Rules.make && echo "o" || echo "ko") |
| |
| ifeq ($(LV),26) |
| # Kernel 2.6 |
| |
| KERNEL_DRIVER = $(KERNEL_DIR)/kernel/drivers |
| obj-m = sheep_net.o |
| |
| sheep_net.ko: sheep_net.c |
| $(MAKE) -C $(KERNEL_SOURCE) M=$$PWD modules |
| |
| clean: |
| $(MAKE) -C $(KERNEL_SOURCE) M=$$PWD clean |
| |
| else |
| # Kernel 2.4 |
| |
| ## System specific configuration |
| CPPFLAGS = -I. -I$(KERNEL_SOURCE)/include |
| CFLAGS = -O2 -Wall -D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES |
| ASFLAGS = |
| LDFLAGS = |
| LIBS = |
| |
| ## Files |
| KERNEL_DRIVER = $(KERNEL_DIR) |
| OBJS = sheep_net.o |
| |
| ## Rules |
| sheep_net.o: sheep_net.c |
| $(CC) -c $(CPPFLAGS) $(CFLAGS) sheep_net.c |
| |
| clean: |
| -rm $(OBJS) |
| |
| dep depend: |
| makedepend $(CPPFLAGS) -Y *.c |
| |
| endif |
| |
| dev: |
| mknod /dev/sheep_net c 10 198 |
| |
| install: sheep_net.$(MP) |
| install -d $(KERNEL_DRIVER)/misc |
| install -m 644 sheep_net.$(MP) $(KERNEL_DRIVER)/misc |
| depmod -a |
| |
| # DO NOT DELETE |