#
# Makefile
#

ifneq ($(KERNELRELEASE), )

obj-m := src/

else

-include build.conf

KERNELDIR ?= ~/linux-2.6.26-at
WORKDIR = $(shell pwd)

ERROR += $(shell [ -z $(KERNELDIR) ] && echo "err-invalid-kerneldir")
ERROR += $(shell [ ! -d $(KERNELDIR) ] && echo "err-kerneldir-isnot-dirctory")

default: build

err-invalid-kerneldir err-kerneldir-isnot-dirctory:
	@echo "Invalid \`KERNELDIR': $@."
	@exit 1

build: $(ERROR)
	$(MAKE) -C $(KERNELDIR) M=$(WORKDIR) modules


clean:
	@find . \
		\( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
		-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
		-o -name '*.symtypes' -o -name 'modules.order' \
		-o -name '*.map' \) \
		-type f -print | xargs rm -f
	@rm -rf .tmp_versions

distclean: clean
	@find . \
		\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
		-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
		-o -name '.*.rej' -o -size 0 \
		-o -name '*%' -o -name '.*.cmd' -o -name 'core' \
		-o -name 'Module.symvers' \) \
		-type f -print | xargs rm -f
endif
