]> bbs.cooldavid.org Git - jme.git/blob - Makefile
cleanup before and after buildtest
[jme.git] / Makefile
1 MODNAME := jme
2 obj-m := $(MODNAME).o
3
4 ifneq ($(KERNELRELEASE),)
5 #########################
6 # kbuild part of makefile
7 #########################
8 EXTRA_CFLAGS += -Wall -O3
9 #EXTRA_CFLAGS += -DTX_DEBUG
10 #EXTRA_CFLAGS += -DREG_DEBUG
11
12 else
13 #########################
14 # Normal Makefile
15 #########################
16 TEMPFILES := $(MODNAME).o $(MODNAME).mod.c $(MODNAME).mod.o Module.symvers .$(MODNAME).*.cmd .tmp_versions modules.order Module.markers Modules.symvers
17
18 ifeq (,$(KVER))
19 KVER=$(shell uname -r)
20 endif
21 KSRC ?= /lib/modules/$(KVER)/build
22 MINSTDIR ?= /lib/modules/$(KVER)/kernel/drivers/net
23
24 all: modules
25         @rm -rf $(TEMPFILES)
26 modules:
27         @$(MAKE) -C $(KSRC) M=$(shell pwd) modules
28
29 checkstack: modules
30         objdump -d $(obj-m) | perl $(KSRC)/scripts/checkstack.pl $(shell uname -m)
31         @rm -rf $(TEMPFILES)
32
33 namespacecheck: modules
34         perl $(KSRC)/scripts/namespace.pl
35         @rm -rf $(TEMPFILES)
36
37 install: modules
38         install -m 644 $(MODNAME).ko $(MINSTDIR)
39         depmod $(KVER) $(MINSTDIR)/$(MODNAME).ko
40
41 patch:
42         @/usr/bin/diff -uar -X dontdiff ../../trunc ./ > bc.patch || echo > /dev/null
43
44 buildtest:
45         SRCDIRS=`find ~/linux-src -mindepth 1 -maxdepth 1 -type d -name 'linux-*' | sort -r -n`; \
46         for d in $${SRCDIRS}; do \
47                 $(MAKE) clean && $(MAKE) -C . KSRC=$${d} modules; \
48                 if [ $$? != 0 ]; then \
49                         exit $$?; \
50                 fi; \
51         done
52         $(MAKE) clean
53
54 clean:
55         @rm -rf $(MODNAME).ko $(TEMPFILES)
56
57 %::
58         $(MAKE) -C $(KSRC) M=`pwd` $@
59
60 endif