From 8fdd43b49af70fd8712116b31010c032301a96b4 Mon Sep 17 00:00:00 2001 From: Kyle K Date: Tue, 22 Jan 2013 21:24:28 -0600 Subject: place a simple /proc, support debug build with Makefile --- Makefile | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index a4b3494..aced26e 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,20 @@ -# causes weird file size, smaller than stripped? -ifeq ($(DEBUG),) - ccflags-y += -g -endif - # Makfile assignments: # := value at right is expanded and assigned at declaration time # = value at right is expanded only when it is used, hence it is a reference # ?= value at right is assigned only if the variable doesn't have a value # -# + +# run following to compile with debug options +# $ DEBUG=1 make +ifneq ($(DEBUG),) + DEBUG_FLAGS = -O0 -g -DHELLO_DEBUG +endif + +# see Documentation/kbuild/makefiles.txt +EXTRA_CFLAGS += $(DEBUG_FLAGS) + +ifneq ($(KERNELRELEASE),) +# call from kernel build system # objects that are part of hello module (hello.o) #hello-objs += main.o debug.o @@ -17,14 +23,20 @@ hello-y += main.o debug.o # .ko module to be created obj-m := hello.o +# normal makefile, not kbuild +else + KERNELDIR ?= /lib/modules/$(shell uname -r)/build # '-C' changes the dir # '-M' causes the the kernel's toplevel Makefile to move back into this dir # before trying to build 'modules' target +# and it informs kbuild that an external module is being built all: make -C $(KERNELDIR) KCPPFLAGS="-I$(CURDIR)" M=$(PWD) modules +endif + kclean: make -C $(KERNELDIR) M=$(PWD) clean -- cgit v1.2.3