X-Git-Url: http://bbs.cooldavid.org/git/?p=jme.git;a=blobdiff_plain;f=Makefile;h=435dcfdab3cb60408c8a8000cb2a2534297c7769;hp=3a626bcc544b8d6d8fc4a107512a89dbb507e07b;hb=refs%2Ftags%2Fbp-1.0.8.9-noasd;hpb=0ede469cae20a61d6fdf59e7b1b7e81a26354016 diff --git a/Makefile b/Makefile index 3a626bc..435dcfd 100644 --- a/Makefile +++ b/Makefile @@ -1,36 +1,62 @@ - MODNAME := jme -TEMPFILES := $(MODNAME).o $(MODNAME).mod.c $(MODNAME).mod.o Module.symvers .$(MODNAME).*.cmd .tmp_versions modules.order Module.markers Modules.symvers +obj-m := $(MODNAME).o +ifneq ($(KERNELRELEASE),) +######################### +# kbuild part of makefile +######################### EXTRA_CFLAGS += -Wall -O3 #EXTRA_CFLAGS += -DTX_DEBUG #EXTRA_CFLAGS += -DREG_DEBUG -obj-m := $(MODNAME).o +else +######################### +# Normal Makefile +######################### +TEMPFILES := $(MODNAME).o $(MODNAME).mod.c $(MODNAME).mod.o Module.symvers .$(MODNAME).*.cmd .tmp_versions modules.order Module.markers Modules.symvers -ifeq (,$(BUILD_KERNEL)) -BUILD_KERNEL=$(shell uname -r) +ifeq (,$(KVER)) +KVER=$(shell uname -r) endif +KSRC ?= /lib/modules/$(KVER)/build +MINSTDIR ?= /lib/modules/$(KVER)/kernel/drivers/net -KSRC ?= /lib/modules/$(BUILD_KERNEL)/build - -all: - @$(MAKE) -C $(KSRC) SUBDIRS=$(shell pwd) modules +all: modules @rm -rf $(TEMPFILES) +modules: + @$(MAKE) -C $(KSRC) M=$(shell pwd) modules -checkstack: - $(MAKE) -C $(KSRC) SUBDIRS=$(shell pwd) modules - objdump -d $(obj-m) | perl $(KSRC)/scripts/checkstack.pl i386 +checkstack: modules + objdump -d $(obj-m) | perl $(KSRC)/scripts/checkstack.pl $(shell uname -m) @rm -rf $(TEMPFILES) -namespacecheck: - $(MAKE) -C $(KSRC) SUBDIRS=$(shell pwd) modules +namespacecheck: modules perl $(KSRC)/scripts/namespace.pl @rm -rf $(TEMPFILES) +install: modules + install -m 644 $(MODNAME).ko $(MINSTDIR) + depmod -a $(KVER) + patch: @/usr/bin/diff -uar -X dontdiff ../../trunc ./ > bc.patch || echo > /dev/null +buildtest: + SRCDIRS=`find ~/linux-src -mindepth 1 -maxdepth 1 -type d -name 'linux-*' | sort -r -n`; \ + SRCDIRS="$${SRCDIRS} `find ~/linux-src/centos -mindepth 2 -maxdepth 2 -type d -name 'linux-*' | sort -r -n`"; \ + SRCDIRS="$${SRCDIRS} `find ~/linux-src/fedora -mindepth 2 -maxdepth 2 -type d -name 'linux-*' | sort -r -n`"; \ + for d in $${SRCDIRS}; do \ + $(MAKE) clean && $(MAKE) -C . KSRC=$${d} modules; \ + if [ $$? != 0 ]; then \ + exit $$?; \ + fi; \ + done + $(MAKE) clean + clean: @rm -rf $(MODNAME).ko $(TEMPFILES) +%:: + $(MAKE) -C $(KSRC) M=`pwd` $@ + +endif