-
MODNAME := jme
-TEMPFILES := $(MODNAME).o $(MODNAME).mod.c $(MODNAME).mod.o Module.symvers .$(MODNAME).*.cmd .tmp_versions modules.order
-
-DEBUG_FLAGS += -DDEBUG
-#DEBUG_FLAGS += -DQUEUE_DEBUG
-#DEBUG_FLAGS += -DVLAN_DEBUG
-DEBUG_FLAGS += -DCSUM_DEBUG
-#DEBUG_FLAGS += -DTX_DEBUG
-#DEBUG_FLAGS += -DRX_DEBUG
-#DEBUG_FLAGS += -Wpointer-arith -Wbad-function-cast -Wsign-compare
+obj-m := $(MODNAME).o
+ifneq ($(KERNELRELEASE),)
+#########################
+# kbuild part of makefile
+#########################
EXTRA_CFLAGS += -Wall -O3
-#EXTRA_CFLAGS += $(DEBUG_FLAGS)
+#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)
endif
+KSRC ?= /lib/modules/$(BUILD_KERNEL)/build
-KSRC := /lib/modules/$(BUILD_KERNEL)/build
+all: modules
+ @rm -rf $(TEMPFILES)
+modules:
+ @$(MAKE) -C $(KSRC) M=$(shell pwd) modules
-all:
- @$(MAKE) -C $(KSRC) SUBDIRS=$(shell pwd) modules
+checkstack: modules
+ objdump -d $(obj-m) | perl $(KSRC)/scripts/checkstack.pl $(shell uname -m)
@rm -rf $(TEMPFILES)
+namespacecheck: modules
+ perl $(KSRC)/scripts/namespace.pl
+ @rm -rf $(TEMPFILES)
+
+install: modules
+ $(MAKE) -C $(KSRC) M=`pwd` modules_install
+
+patch:
+ @/usr/bin/diff -uar -X dontdiff ../../trunc ./ > bc.patch || echo > /dev/null
+
clean:
@rm -rf $(MODNAME).ko $(TEMPFILES)
+%::
+ $(MAKE) -C $(KSRC) M=`pwd` $@
+
+endif